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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
|
# Ansible 9 Release Notes
This changelog describes changes since Ansible 8\.0\.0\.
- <a href="#v9-4-0">v9\.4\.0</a>
- <a href="#release-summary">Release Summary</a>
- <a href="#ansible-core">Ansible\-core</a>
- <a href="#changed-collections">Changed Collections</a>
- <a href="#minor-changes">Minor Changes</a>
- <a href="#deprecated-features">Deprecated Features</a>
- <a href="#security-fixes">Security Fixes</a>
- <a href="#bugfixes">Bugfixes</a>
- <a href="#new-plugins">New Plugins</a>
- <a href="#new-modules">New Modules</a>
- <a href="#unchanged-collections">Unchanged Collections</a>
- <a href="#v9-3-0">v9\.3\.0</a>
- <a href="#release-summary-1">Release Summary</a>
- <a href="#ansible-core-3">Ansible\-core</a>
- <a href="#changed-collections-1">Changed Collections</a>
- <a href="#major-changes">Major Changes</a>
- <a href="#minor-changes-1">Minor Changes</a>
- <a href="#deprecated-features-1">Deprecated Features</a>
- <a href="#bugfixes-1">Bugfixes</a>
- <a href="#new-plugins-1">New Plugins</a>
- <a href="#new-modules-1">New Modules</a>
- <a href="#unchanged-collections-1">Unchanged Collections</a>
- <a href="#v9-2-0">v9\.2\.0</a>
- <a href="#release-summary-2">Release Summary</a>
- <a href="#added-collections">Added Collections</a>
- <a href="#ansible-core-5">Ansible\-core</a>
- <a href="#changed-collections-2">Changed Collections</a>
- <a href="#major-changes-1">Major Changes</a>
- <a href="#minor-changes-2">Minor Changes</a>
- <a href="#deprecated-features-2">Deprecated Features</a>
- <a href="#security-fixes-1">Security Fixes</a>
- <a href="#bugfixes-2">Bugfixes</a>
- <a href="#known-issues">Known Issues</a>
- <a href="#new-plugins-2">New Plugins</a>
- <a href="#new-modules-2">New Modules</a>
- <a href="#unchanged-collections-2">Unchanged Collections</a>
- <a href="#v9-1-0">v9\.1\.0</a>
- <a href="#release-summary-3">Release Summary</a>
- <a href="#ansible-core-8">Ansible\-core</a>
- <a href="#changed-collections-3">Changed Collections</a>
- <a href="#minor-changes-3">Minor Changes</a>
- <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
- <a href="#security-fixes-2">Security Fixes</a>
- <a href="#bugfixes-3">Bugfixes</a>
- <a href="#known-issues-1">Known Issues</a>
- <a href="#new-plugins-3">New Plugins</a>
- <a href="#new-modules-3">New Modules</a>
- <a href="#unchanged-collections-3">Unchanged Collections</a>
- <a href="#v9-0-1">v9\.0\.1</a>
- <a href="#release-summary-4">Release Summary</a>
- <a href="#ansible-core-12">Ansible\-core</a>
- <a href="#bugfixes-4">Bugfixes</a>
- <a href="#unchanged-collections-4">Unchanged Collections</a>
- <a href="#v9-0-0">v9\.0\.0</a>
- <a href="#release-summary-5">Release Summary</a>
- <a href="#removed-collections">Removed Collections</a>
- <a href="#added-collections-1">Added Collections</a>
- <a href="#ansible-core-13">Ansible\-core</a>
- <a href="#included-collections">Included Collections</a>
- <a href="#major-changes-2">Major Changes</a>
- <a href="#minor-changes-4">Minor Changes</a>
- <a href="#breaking-changes--porting-guide-1">Breaking Changes / Porting Guide</a>
- <a href="#deprecated-features-3">Deprecated Features</a>
- <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
- <a href="#security-fixes-3">Security Fixes</a>
- <a href="#bugfixes-5">Bugfixes</a>
- <a href="#known-issues-2">Known Issues</a>
- <a href="#new-plugins-4">New Plugins</a>
- <a href="#new-modules-4">New Modules</a>
- <a href="#new-roles">New Roles</a>
- <a href="#unchanged-collections-5">Unchanged Collections</a>
<a id="v9-4-0"></a>
## v9\.4\.0
- <a href="#release-summary">Release Summary</a>
- <a href="#ansible-core">Ansible\-core</a>
- <a href="#changed-collections">Changed Collections</a>
- <a href="#minor-changes">Minor Changes</a>
- <a href="#ansible-core-1">Ansible\-core</a>
- <a href="#amazon-aws">amazon\.aws</a>
- <a href="#ansible-windows">ansible\.windows</a>
- <a href="#cisco-dnac">cisco\.dnac</a>
- <a href="#cisco-ise">cisco\.ise</a>
- <a href="#community-general">community\.general</a>
- <a href="#community-hashi-vault">community\.hashi\_vault</a>
- <a href="#community-routeros">community\.routeros</a>
- <a href="#community-windows">community\.windows</a>
- <a href="#dellemc-powerflex">dellemc\.powerflex</a>
- <a href="#ibm-storage-virtualize">ibm\.storage\_virtualize</a>
- <a href="#microsoft-ad">microsoft\.ad</a>
- <a href="#purestorage-flasharray">purestorage\.flasharray</a>
- <a href="#purestorage-flashblade">purestorage\.flashblade</a>
- <a href="#deprecated-features">Deprecated Features</a>
- <a href="#amazon-aws-1">amazon\.aws</a>
- <a href="#security-fixes">Security Fixes</a>
- <a href="#community-dns">community\.dns</a>
- <a href="#community-docker">community\.docker</a>
- <a href="#community-general-1">community\.general</a>
- <a href="#community-hrobot">community\.hrobot</a>
- <a href="#bugfixes">Bugfixes</a>
- <a href="#ansible-core-2">Ansible\-core</a>
- <a href="#amazon-aws-2">amazon\.aws</a>
- <a href="#ansible-windows-1">ansible\.windows</a>
- <a href="#community-dns-1">community\.dns</a>
- <a href="#community-docker-1">community\.docker</a>
- <a href="#community-general-2">community\.general</a>
- <a href="#community-windows-1">community\.windows</a>
- <a href="#ibm-storage-virtualize-1">ibm\.storage\_virtualize</a>
- <a href="#kubernetes-core">kubernetes\.core</a>
- <a href="#lowlydba-sqlserver">lowlydba\.sqlserver</a>
- <a href="#microsoft-ad-1">microsoft\.ad</a>
- <a href="#purestorage-flasharray-1">purestorage\.flasharray</a>
- <a href="#purestorage-flashblade-1">purestorage\.flashblade</a>
- <a href="#new-plugins">New Plugins</a>
- <a href="#filter">Filter</a>
- <a href="#new-modules">New Modules</a>
- <a href="#community-general-3">community\.general</a>
- <a href="#community-hashi-vault-1">community\.hashi\_vault</a>
- <a href="#dellemc-powerflex-1">dellemc\.powerflex</a>
- <a href="#unchanged-collections">Unchanged Collections</a>
<a id="release-summary"></a>
### Release Summary
Release Date\: 2024\-03\-27
[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html)
<a id="ansible-core"></a>
### Ansible\-core
Ansible 9\.4\.0 contains ansible\-core version 2\.16\.5\.
This is a newer version than version 2\.16\.4 contained in the previous Ansible release\.
The changes are reported in the combined changelog below\.
<a id="changed-collections"></a>
### Changed Collections
If not mentioned explicitly\, the changes are reported in the combined changelog below\.
| Collection | Ansible 9.3.0 | Ansible 9.4.0 | Notes |
| ---------------------- | ------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| amazon.aws | 7.3.0 | 7.4.0 | |
| ansible.windows | 2.2.0 | 2.3.0 | |
| awx.awx | 23.8.1 | 23.9.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| check_point.mgmt | 5.2.2 | 5.2.3 | |
| cisco.dnac | 6.11.0 | 6.13.1 | |
| cisco.ise | 2.7.0 | 2.8.0 | |
| community.dns | 2.8.1 | 2.8.3 | |
| community.docker | 3.8.0 | 3.8.1 | |
| community.general | 8.4.0 | 8.5.0 | |
| community.hashi_vault | 6.1.0 | 6.2.0 | |
| community.hrobot | 1.9.0 | 1.9.1 | |
| community.mongodb | 1.7.1 | 1.7.2 | There are no changes recorded in the changelog. |
| community.routeros | 2.13.0 | 2.14.0 | |
| community.windows | 2.1.0 | 2.2.0 | |
| dellemc.powerflex | 2.1.0 | 2.2.0 | |
| ibm.storage_virtualize | 2.2.0 | 2.3.1 | |
| kubernetes.core | 2.4.1 | 2.4.2 | |
| lowlydba.sqlserver | 2.3.1 | 2.3.2 | |
| microsoft.ad | 1.4.1 | 1.5.0 | |
| purestorage.flasharray | 1.26.0 | 1.27.0 | |
| purestorage.flashblade | 1.15.0 | 1.16.0 | |
<a id="minor-changes"></a>
### Minor Changes
<a id="ansible-core-1"></a>
#### Ansible\-core
* ansible\-test \- Add a work\-around for permission denied errors when using <code>pytest \>\= 8</code> on multi\-user systems with an installed version of <code>ansible\-test</code>\.
<a id="amazon-aws"></a>
#### amazon\.aws
* AnsibeAWSModule \- added <code>fail\_json\_aws\_error\(\)</code> as a wrapper for <code>fail\_json\(\)</code> and <code>fail\_json\_aws\(\)</code> when passed an <code>AnsibleAWSError</code> exception \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1997](https\://github\.com/ansible\-collections/amazon\.aws/pull/1997)\)\.
* iam\_access\_key \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_access\_key\_info \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_group \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_instance\_profile \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_instance\_profile\_info \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_managed\_policy \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_mfa\_device\_info \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_role \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_role\_info \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_user \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
* iam\_user\_info \- refactored code to use <code>AnsibleIAMError</code> and <code>IAMErrorHandler</code> as well as moving shared code into module\_utils\.iam \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
<a id="ansible-windows"></a>
#### ansible\.windows
* win\_uri \- Max depth for json object conversion used to be 2\. Can now send json objects with up to 20 levels of nesting
<a id="cisco-dnac"></a>
#### cisco\.dnac
* Added attributes \'dnac\_api\_task\_timeout\' and \'dnac\_task\_poll\_interval\' in intent and workflow\_manager modules\.
* Addressed image un\-tagging issues in inherited site settings\.
* Changes the minimum supported version from Ansible v2\.9\.10 to v2\.14\.0
* Corrected site creation issues in the site module when optional parameters are missing\.
* Fixed management IP updates for devices on SNMP version v2\.
* Introduced sample playbooks for the discovery module\.
* Provided documentation for EWLC templates in Cisco Catalyst Center version 2\.3\.7\.x\.
* Resolved a \'NoneType\' error in discovery module credentials\.
* inventory\_workflow\_manager \- Added attributes \'add\_user\_defined\_field\'\, \'update\_interface\_details\'\, \'export\_device\_list\' and \'admin\_status\'
* inventory\_workflow\_manager \- Removed attributes \'provision\_wireless\_device\'\, \'reprovision\_wired\_device\'
<a id="cisco-ise"></a>
#### cisco\.ise
* Changes the minimum supported version from Ansible v2\.9\.10 to v2\.14\.0
<a id="community-general"></a>
#### community\.general
* bitwarden lookup plugin \- allows to fetch all records of a given collection ID\, by allowing to pass an empty value for <code>search\_value</code> when <code>collection\_id</code> is provided \([https\://github\.com/ansible\-collections/community\.general/pull/8013](https\://github\.com/ansible\-collections/community\.general/pull/8013)\)\.
* icinga2 inventory plugin \- adds new parameter <code>group\_by\_hostgroups</code> in order to make grouping by Icinga2 hostgroups optional \([https\://github\.com/ansible\-collections/community\.general/pull/7998](https\://github\.com/ansible\-collections/community\.general/pull/7998)\)\.
* ini\_file \- support optional spaces between section names and their surrounding brackets \([https\://github\.com/ansible\-collections/community\.general/pull/8075](https\://github\.com/ansible\-collections/community\.general/pull/8075)\)\.
* java\_cert \- enable <code>owner</code>\, <code>group</code>\, <code>mode</code>\, and other generic file arguments \([https\://github\.com/ansible\-collections/community\.general/pull/8116](https\://github\.com/ansible\-collections/community\.general/pull/8116)\)\.
* ldap\_attrs \- module now supports diff mode\, showing which attributes are changed within an operation \([https\://github\.com/ansible\-collections/community\.general/pull/8073](https\://github\.com/ansible\-collections/community\.general/pull/8073)\)\.
* lxd\_container \- uses <code>/1\.0/instances</code> API endpoint\, if available\. Falls back to <code>/1\.0/containers</code> or <code>/1\.0/virtual\-machines</code>\. Fixes issue when using Incus or LXD 5\.19 due to migrating to <code>/1\.0/instances</code> endpoint \([https\://github\.com/ansible\-collections/community\.general/pull/7980](https\://github\.com/ansible\-collections/community\.general/pull/7980)\)\.
* nmcli \- allow setting <code>MTU</code> for <code>bond\-slave</code> interface types \([https\://github\.com/ansible\-collections/community\.general/pull/8118](https\://github\.com/ansible\-collections/community\.general/pull/8118)\)\.
* proxmox \- adds <code>startup</code> parameters to configure startup order\, startup delay and shutdown delay \([https\://github\.com/ansible\-collections/community\.general/pull/8038](https\://github\.com/ansible\-collections/community\.general/pull/8038)\)\.
* revbitspss lookup plugin \- removed a redundant unicode prefix\. The prefix was not necessary for Python 3 and has been cleaned up to streamline the code \([https\://github\.com/ansible\-collections/community\.general/pull/8087](https\://github\.com/ansible\-collections/community\.general/pull/8087)\)\.
<a id="community-hashi-vault"></a>
#### community\.hashi\_vault
* cert auth \- add option to set the <code>cert\_auth\_public\_key</code> and <code>cert\_auth\_private\_key</code> parameters using the variables <code>ansible\_hashi\_vault\_cert\_auth\_public\_key</code> and <code>ansible\_hashi\_vault\_cert\_auth\_private\_key</code> \([https\://github\.com/ansible\-collections/community\.hashi\_vault/issues/428](https\://github\.com/ansible\-collections/community\.hashi\_vault/issues/428)\)\.
<a id="community-routeros"></a>
#### community\.routeros
* api\_info\, api\_modify \- add read\-only fields <code>installed\-version</code>\, <code>latest\-version</code> and <code>status</code> in <code>system package update</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/263](https\://github\.com/ansible\-collections/community\.routeros/pull/263)\)\.
* api\_info\, api\_modify \- added support for <code>interface wifi</code> and its sub\-paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/266](https\://github\.com/ansible\-collections/community\.routeros/pull/266)\)\.
* api\_info\, api\_modify \- remove default value for read\-only <code>running</code> field in <code>interface wireless</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/264](https\://github\.com/ansible\-collections/community\.routeros/pull/264)\)\.
<a id="community-windows"></a>
#### community\.windows
* win\_regmerge \- Add content \'content\' parameter for specifying registry file contents directly
<a id="dellemc-powerflex"></a>
#### dellemc\.powerflex
* The Info module is enhanced to retrieve lists related to fault sets\, service templates\, deployments\, and managed devices\.
* The SDS module has been enhanced to facilitate SDS creation within a fault set\.
<a id="ibm-storage-virtualize"></a>
#### ibm\.storage\_virtualize
* ibm\_sv\_manage\_snapshot \- Added support to restore subset of volumes of a volumegroup from a snapshot
* ibm\_svc\_info \- Added support to display information about partition\, quorum\, IO group\, VG replication and enclosure\, snmp server and ldap server
* ibm\_svc\_manage\_volume \- Added support to create clone or thinclone from snapshot
* ibm\_svc\_manage\_volumgroup \- Added support to create clone or thinkclone volumegroup from snapshot from a subset of volumes
<a id="microsoft-ad"></a>
#### microsoft\.ad
* Added <code>group/microsoft\.ad\.domain</code> module defaults group for the <code>computer</code>\, <code>group</code>\, <code>object\_info</code>\, <code>object</code>\, <code>ou</code>\, and <code>user</code> module\. Users can use this defaults group to set common connection options for these modules such as the <code>domain\_server</code>\, <code>domain\_username</code>\, and <code>domain\_password</code> options\.
* Added support for Jinja2 templating in ldap inventory\.
<a id="purestorage-flasharray"></a>
#### purestorage\.flasharray
* purefa\_arrayname \- Convert to REST v2
* purefa\_eula \- Only sign if not previously signed\. From REST 2\.30 name\, title and company are no longer required
* purefa\_info \- Add support for controller uptime from Purity//FA 6\.6\.3
* purefa\_inventory \- Convert to REST v2
* purefa\_ntp \- Convert to REST v2
* purefa\_offload \- Convert to REST v2
* purefa\_pgsnap \- Module now requires minimum FlashArray Purity//FA 6\.1\.0
* purefa\_ra \- Add <code>present</code> and <code>absent</code> as valid <code>state</code> options
* purefa\_ra \- Add connecting as valid status of RA to perform operations on
* purefa\_ra \- Convert to REST v2
* purefa\_syslog \- <code>name</code> becomes a required parameter as module converts to full REST 2 support
* purefa\_vnc \- Convert to REST v2
<a id="purestorage-flashblade"></a>
#### purestorage\.flashblade
* purefb\_ds \- Add <em class="title-reference">force\_bind\_password</em> parameter to allow module to be idempotent\.
<a id="deprecated-features"></a>
### Deprecated Features
<a id="amazon-aws-1"></a>
#### amazon\.aws
* iam\_role\_info \- in a release after 2026\-05\-01 paths must begin and end with <code>/</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1998](https\://github\.com/ansible\-collections/amazon\.aws/pull/1998)\)\.
<a id="security-fixes"></a>
### Security Fixes
<a id="community-dns"></a>
#### community\.dns
* hosttech\_dns\_records and hetzner\_dns\_records inventory plugins \- make sure all data received from the remote servers is marked as unsafe\, so remote code execution by obtaining texts that can be evaluated as templates is not possible \([https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/](https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/)\, [https\://github\.com/ansible\-collections/community\.dns/pull/189](https\://github\.com/ansible\-collections/community\.dns/pull/189)\)\.
<a id="community-docker"></a>
#### community\.docker
* docker\_containers\, docker\_machine\, and docker\_swarm inventory plugins \- make sure all data received from the Docker daemon / Docker machine is marked as unsafe\, so remote code execution by obtaining texts that can be evaluated as templates is not possible \([https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/](https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/)\, [https\://github\.com/ansible\-collections/community\.docker/pull/815](https\://github\.com/ansible\-collections/community\.docker/pull/815)\)\.
<a id="community-general-1"></a>
#### community\.general
* cobbler\, gitlab\_runners\, icinga2\, linode\, lxd\, nmap\, online\, opennebula\, proxmox\, scaleway\, stackpath\_compute\, virtualbox\, and xen\_orchestra inventory plugin \- make sure all data received from the remote servers is marked as unsafe\, so remote code execution by obtaining texts that can be evaluated as templates is not possible \([https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/](https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/)\, [https\://github\.com/ansible\-collections/community\.general/pull/8098](https\://github\.com/ansible\-collections/community\.general/pull/8098)\)\.
<a id="community-hrobot"></a>
#### community\.hrobot
* robot inventory plugin \- make sure all data received from the Hetzner robot service server is marked as unsafe\, so remote code execution by obtaining texts that can be evaluated as templates is not possible \([https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/](https\://www\.die\-welt\.net/2024/03/remote\-code\-execution\-in\-ansible\-dynamic\-inventory\-plugins/)\, [https\://github\.com/ansible\-collections/community\.hrobot/pull/99](https\://github\.com/ansible\-collections/community\.hrobot/pull/99)\)\.
<a id="bugfixes"></a>
### Bugfixes
<a id="ansible-core-2"></a>
#### Ansible\-core
* Fix an issue when setting a plugin name from an unsafe source resulted in <code>ValueError\: unmarshallable object</code> \([https\://github\.com/ansible/ansible/issues/82708](https\://github\.com/ansible/ansible/issues/82708)\)
* Harden python templates for respawn and ansiballz around str literal quoting
* ansible\-test \- The <code>libexpat</code> package is automatically upgraded during remote bootstrapping to maintain compatibility with newer Python packages\.
* template \- Fix error when templating an unsafe string which corresponds to an invalid type in Python \([https\://github\.com/ansible/ansible/issues/82600](https\://github\.com/ansible/ansible/issues/82600)\)\.
* winrm \- does not hang when attempting to get process output when stdin write failed
<a id="amazon-aws-2"></a>
#### amazon\.aws
* cloudwatchevent\_rule \- Fix to avoid adding quotes to JSON input for provided input\_template \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1883](https\://github\.com/ansible\-collections/amazon\.aws/pull/1883)\)\.
* lookup/secretsmanager\_secret \- fix the issue when the nested secret is missing and on\_missing is set to warn\, the lookup was raising an error instead of a warning message \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1781](https\://github\.com/ansible\-collections/amazon\.aws/issues/1781)\)\.
* module\_utils/elbv2 \- Fix issue when creating or modifying Load balancer rule type authenticate\-oidc using <code>ClientSecret</code> parameter and <code>UseExistingClientSecret\=true</code> \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1877](https\://github\.com/ansible\-collections/amazon\.aws/issues/1877)\)\.
<a id="ansible-windows-1"></a>
#### ansible\.windows
* win\_get\_url \- Fix Tls1\.3 getting removed from the list of security protocols
* win\_powershell \- Remove unecessary using in code causing stray error records in output \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/571](https\://github\.com/ansible\-collections/ansible\.windows/issues/571)
<a id="community-dns-1"></a>
#### community\.dns
* DNS record modules\, inventory plugins \- fix the TXT entry encoder to avoid splitting up escape sequences for quotes and backslashes over multiple TXT strings \([https\://github\.com/ansible\-collections/community\.dns/issues/190](https\://github\.com/ansible\-collections/community\.dns/issues/190)\, [https\://github\.com/ansible\-collections/community\.dns/pull/191](https\://github\.com/ansible\-collections/community\.dns/pull/191)\)\.
* Update Public Suffix List\.
<a id="community-docker-1"></a>
#### community\.docker
* docker\_compose\_v2 \- do not fail when non\-fatal errors occur\. This can happen when pulling an image fails\, but then the image can be built for another service\. Docker Compose emits an error in that case\, but <code>docker compose up</code> still completes successfully \([https\://github\.com/ansible\-collections/community\.docker/issues/807](https\://github\.com/ansible\-collections/community\.docker/issues/807)\, [https\://github\.com/ansible\-collections/community\.docker/pull/810](https\://github\.com/ansible\-collections/community\.docker/pull/810)\, [https\://github\.com/ansible\-collections/community\.docker/pull/811](https\://github\.com/ansible\-collections/community\.docker/pull/811)\)\.
* docker\_compose\_v2\* modules \- correctly parse <code>Warning</code> events emitted by Docker Compose \([https\://github\.com/ansible\-collections/community\.docker/issues/807](https\://github\.com/ansible\-collections/community\.docker/issues/807)\, [https\://github\.com/ansible\-collections/community\.docker/pull/811](https\://github\.com/ansible\-collections/community\.docker/pull/811)\)\.
* docker\_compose\_v2\* modules \- parse <code>logfmt</code> warnings emitted by Docker Compose \([https\://github\.com/ansible\-collections/community\.docker/issues/787](https\://github\.com/ansible\-collections/community\.docker/issues/787)\, [https\://github\.com/ansible\-collections/community\.docker/pull/811](https\://github\.com/ansible\-collections/community\.docker/pull/811)\)\.
* docker\_compose\_v2\_pull \- fixing idempotence by checking actual pull progress events instead of service\-level pull request when <code>policy\=always</code>\. This stops the module from reporting <code>changed\=true</code> if no actual change happened when pulling\. In check mode\, it has to assume that a change happens though \([https\://github\.com/ansible\-collections/community\.docker/issues/813](https\://github\.com/ansible\-collections/community\.docker/issues/813)\, [https\://github\.com/ansible\-collections/community\.docker/pull/814](https\://github\.com/ansible\-collections/community\.docker/pull/814)\)\.
<a id="community-general-2"></a>
#### community\.general
* aix\_filesystem \- fix issue with empty list items in crfs logic and option order \([https\://github\.com/ansible\-collections/community\.general/pull/8052](https\://github\.com/ansible\-collections/community\.general/pull/8052)\)\.
* consul\_token \- fix token creation without <code>accessor\_id</code> \([https\://github\.com/ansible\-collections/community\.general/pull/8091](https\://github\.com/ansible\-collections/community\.general/pull/8091)\)\.
* homebrew \- error returned from brew command was ignored and tried to parse empty JSON\. Fix now checks for an error and raises it to give accurate error message to users \([https\://github\.com/ansible\-collections/community\.general/issues/8047](https\://github\.com/ansible\-collections/community\.general/issues/8047)\)\.
* ipa\_hbacrule \- the module uses a string for <code>ipaenabledflag</code> for new FreeIPA versions while the returned value is a boolean \([https\://github\.com/ansible\-collections/community\.general/pull/7880](https\://github\.com/ansible\-collections/community\.general/pull/7880)\)\.
* ipa\_sudorule \- the module uses a string for <code>ipaenabledflag</code> for new FreeIPA versions while the returned value is a boolean \([https\://github\.com/ansible\-collections/community\.general/pull/7880](https\://github\.com/ansible\-collections/community\.general/pull/7880)\)\.
* iptables\_state \- fix idempotency issues when restoring incomplete iptables dumps \([https\://github\.com/ansible\-collections/community\.general/issues/8029](https\://github\.com/ansible\-collections/community\.general/issues/8029)\)\.
* linode inventory plugin \- add descriptive error message for linode inventory plugin \([https\://github\.com/ansible\-collections/community\.general/pull/8133](https\://github\.com/ansible\-collections/community\.general/pull/8133)\)\.
* pacemaker\_cluster \- actually implement check mode\, which the module claims to support\. This means that until now the module also did changes in check mode \([https\://github\.com/ansible\-collections/community\.general/pull/8081](https\://github\.com/ansible\-collections/community\.general/pull/8081)\)\.
* pam\_limits \- when the file does not exist\, do not create it in check mode \([https\://github\.com/ansible\-collections/community\.general/issues/8050](https\://github\.com/ansible\-collections/community\.general/issues/8050)\, [https\://github\.com/ansible\-collections/community\.general/pull/8057](https\://github\.com/ansible\-collections/community\.general/pull/8057)\)\.
* proxmox\_kvm \- fixed status check getting from node\-specific API endpoint \([https\://github\.com/ansible\-collections/community\.general/issues/7817](https\://github\.com/ansible\-collections/community\.general/issues/7817)\)\.
<a id="community-windows-1"></a>
#### community\.windows
* win\_format\, win\_partition \- Add support for Windows failover cluster disks
* win\_psmodule \- Fix up error message with <code>state\=latest</code>
* win\_robocopy \- Fix up <code>cmd</code> return value to include the executable <code>robocopy</code>
<a id="ibm-storage-virtualize-1"></a>
#### ibm\.storage\_virtualize
* ibm\_svc\_info \- Command and release mapping to remove errors in gather\_subset\=all
* ibm\_svc\_info \- Return error in listing entities that require object name
<a id="kubernetes-core"></a>
#### kubernetes\.core
* Resolve Collections util resource discovery fails when complex subresources present \([https\://github\.com/ansible\-collections/kubernetes\.core/pull/676](https\://github\.com/ansible\-collections/kubernetes\.core/pull/676)\)\.
<a id="lowlydba-sqlserver"></a>
#### lowlydba\.sqlserver
* Update documentation for agent\_job\_schedule to reflect proper input formatting\. \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/229](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/229)\)
<a id="microsoft-ad-1"></a>
#### microsoft\.ad
* microsoft\.ad\.group \- Support membership lookup of groups that are longer than 20 characters long
* microsoft\.ad\.membership \- Add helpful hint when the failure was due to a missing/invalid <code>domain\_ou\_path</code> \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/88](https\://github\.com/ansible\-collections/microsoft\.ad/issues/88)
<a id="purestorage-flasharray-1"></a>
#### purestorage\.flasharray
* purefa\_certs \- Allow certificates of over 3000 characters to be imported\.
* purefa\_info \- Resolved issue with KeyError when LACP bonds are in use
* purefa\_inventory \- Fix issue with iSCSI\-only FlashArrays
* purefa\_pgsnap \- Add support for restoring volumes connected to hosts in a host\-based protection group and hosts in a hostgroup\-based protection group\.
<a id="purestorage-flashblade-1"></a>
#### purestorage\.flashblade
* purefb\_bucket \- Changed logic to allow complex buckets to be created in a single call\, rather than having to split into two tasks\.
* purefb\_lag \- Enable LAG port configuration with multi\-chassis
* purefb\_timeout \- Fixed arithmetic error that resulted in module incorrectly reporting changed when no change was required\.
<a id="new-plugins"></a>
### New Plugins
<a id="filter"></a>
#### Filter
* microsoft\.ad\.dn\_escape \- Escape an LDAP DistinguishedName value string\.
* microsoft\.ad\.parse\_dn \- Parses an LDAP DistinguishedName string into an object\.
<a id="new-modules"></a>
### New Modules
<a id="community-general-3"></a>
#### community\.general
* community\.general\.usb\_facts \- Allows listing information about USB devices
<a id="community-hashi-vault-1"></a>
#### community\.hashi\_vault
* community\.hashi\_vault\.vault\_database\_connection\_configure \- Configures the database engine
* community\.hashi\_vault\.vault\_database\_connection\_delete \- Delete a Database Connection
* community\.hashi\_vault\.vault\_database\_connection\_read \- Returns the configuration settings for a O\(connection\_name\)
* community\.hashi\_vault\.vault\_database\_connection\_reset \- Closes a O\(connection\_name\) and its underlying plugin and restarts it with the configuration stored
* community\.hashi\_vault\.vault\_database\_connections\_list \- Returns a list of available connections
* community\.hashi\_vault\.vault\_database\_role\_create \- Creates or updates a \(dynamic\) role definition
* community\.hashi\_vault\.vault\_database\_role\_delete \- Delete a role definition
* community\.hashi\_vault\.vault\_database\_role\_read \- Queries a dynamic role definition
* community\.hashi\_vault\.vault\_database\_roles\_list \- Returns a list of available \(dynamic\) roles
* community\.hashi\_vault\.vault\_database\_rotate\_root\_credentials \- Rotates the root credentials stored for the database connection\. This user must have permissions to update its own password\.
* community\.hashi\_vault\.vault\_database\_static\_role\_create \- Create or update a static role
* community\.hashi\_vault\.vault\_database\_static\_role\_get\_credentials \- Returns the current credentials based on the named static role
* community\.hashi\_vault\.vault\_database\_static\_role\_read \- Queries a static role definition
* community\.hashi\_vault\.vault\_database\_static\_role\_rotate\_credentials \- Trigger the credential rotation for a static role
* community\.hashi\_vault\.vault\_database\_static\_roles\_list \- Returns a list of available static roles
<a id="dellemc-powerflex-1"></a>
#### dellemc\.powerflex
* dellemc\.powerflex\.fault\_set \- Manage Fault Sets on Dell PowerFlex
<a id="unchanged-collections"></a>
### Unchanged Collections
* ansible\.netcommon \(still version 5\.3\.0\)
* ansible\.posix \(still version 1\.5\.4\)
* ansible\.utils \(still version 2\.12\.0\)
* arista\.eos \(still version 6\.2\.2\)
* azure\.azcollection \(still version 1\.19\.0\)
* chocolatey\.chocolatey \(still version 1\.5\.1\)
* cisco\.aci \(still version 2\.8\.0\)
* cisco\.asa \(still version 4\.0\.3\)
* cisco\.intersight \(still version 2\.0\.7\)
* cisco\.ios \(still version 5\.3\.0\)
* cisco\.iosxr \(still version 6\.1\.1\)
* cisco\.meraki \(still version 2\.17\.2\)
* cisco\.mso \(still version 2\.5\.0\)
* cisco\.nxos \(still version 5\.3\.0\)
* cisco\.ucs \(still version 1\.10\.0\)
* cloud\.common \(still version 2\.1\.4\)
* cloudscale\_ch\.cloud \(still version 2\.3\.1\)
* community\.aws \(still version 7\.1\.0\)
* community\.azure \(still version 2\.0\.0\)
* community\.ciscosmb \(still version 1\.0\.7\)
* community\.crypto \(still version 2\.18\.0\)
* community\.digitalocean \(still version 1\.26\.0\)
* community\.grafana \(still version 1\.8\.0\)
* community\.library\_inventory\_filtering\_v1 \(still version 1\.0\.0\)
* community\.libvirt \(still version 1\.3\.0\)
* community\.mysql \(still version 3\.9\.0\)
* community\.network \(still version 5\.0\.2\)
* community\.okd \(still version 2\.3\.0\)
* community\.postgresql \(still version 3\.4\.0\)
* community\.proxysql \(still version 1\.5\.1\)
* community\.rabbitmq \(still version 1\.2\.3\)
* community\.sap \(still version 2\.0\.0\)
* community\.sap\_libs \(still version 1\.4\.2\)
* community\.sops \(still version 1\.6\.7\)
* community\.vmware \(still version 4\.2\.0\)
* community\.zabbix \(still version 2\.3\.1\)
* containers\.podman \(still version 1\.12\.0\)
* cyberark\.conjur \(still version 1\.2\.2\)
* cyberark\.pas \(still version 1\.0\.25\)
* dellemc\.enterprise\_sonic \(still version 2\.4\.0\)
* dellemc\.openmanage \(still version 8\.7\.0\)
* dellemc\.unity \(still version 1\.7\.1\)
* f5networks\.f5\_modules \(still version 1\.28\.0\)
* fortinet\.fortimanager \(still version 2\.4\.0\)
* fortinet\.fortios \(still version 2\.3\.5\)
* frr\.frr \(still version 2\.0\.2\)
* gluster\.gluster \(still version 1\.0\.2\)
* google\.cloud \(still version 1\.3\.0\)
* grafana\.grafana \(still version 2\.2\.5\)
* hetzner\.hcloud \(still version 2\.5\.0\)
* hpe\.nimble \(still version 1\.1\.4\)
* ibm\.qradar \(still version 2\.1\.0\)
* ibm\.spectrum\_virtualize \(still version 2\.0\.0\)
* infinidat\.infinibox \(still version 1\.4\.3\)
* infoblox\.nios\_modules \(still version 1\.6\.1\)
* inspur\.ispim \(still version 2\.2\.0\)
* inspur\.sm \(still version 2\.3\.0\)
* junipernetworks\.junos \(still version 5\.3\.1\)
* netapp\.aws \(still version 21\.7\.1\)
* netapp\.azure \(still version 21\.10\.1\)
* netapp\.cloudmanager \(still version 21\.22\.1\)
* netapp\.elementsw \(still version 21\.7\.0\)
* netapp\.ontap \(still version 22\.10\.0\)
* netapp\.storagegrid \(still version 21\.12\.0\)
* netapp\.um\_info \(still version 21\.8\.1\)
* netapp\_eseries\.santricity \(still version 1\.4\.0\)
* netbox\.netbox \(still version 3\.17\.0\)
* ngine\_io\.cloudstack \(still version 2\.3\.0\)
* ngine\_io\.exoscale \(still version 1\.1\.0\)
* openstack\.cloud \(still version 2\.2\.0\)
* openvswitch\.openvswitch \(still version 2\.1\.1\)
* ovirt\.ovirt \(still version 3\.2\.0\)
* purestorage\.fusion \(still version 1\.6\.1\)
* sensu\.sensu\_go \(still version 1\.14\.0\)
* splunk\.es \(still version 2\.1\.2\)
* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\)
* telekom\_mms\.icinga\_director \(still version 1\.35\.0\)
* theforeman\.foreman \(still version 3\.15\.0\)
* vmware\.vmware\_rest \(still version 2\.3\.1\)
* vultr\.cloud \(still version 1\.12\.1\)
* vyos\.vyos \(still version 4\.1\.0\)
* wti\.remote \(still version 1\.0\.5\)
<a id="v9-3-0"></a>
## v9\.3\.0
- <a href="#release-summary-1">Release Summary</a>
- <a href="#ansible-core-3">Ansible\-core</a>
- <a href="#changed-collections-1">Changed Collections</a>
- <a href="#major-changes">Major Changes</a>
- <a href="#community-mysql">community\.mysql</a>
- <a href="#fortinet-fortios">fortinet\.fortios</a>
- <a href="#minor-changes-1">Minor Changes</a>
- <a href="#amazon-aws-3">amazon\.aws</a>
- <a href="#community-crypto">community\.crypto</a>
- <a href="#community-docker-2">community\.docker</a>
- <a href="#community-general-4">community\.general</a>
- <a href="#community-grafana">community\.grafana</a>
- <a href="#community-mysql-1">community\.mysql</a>
- <a href="#community-postgresql">community\.postgresql</a>
- <a href="#community-routeros-1">community\.routeros</a>
- <a href="#community-vmware">community\.vmware</a>
- <a href="#containers-podman">containers\.podman</a>
- <a href="#fortinet-fortimanager">fortinet\.fortimanager</a>
- <a href="#grafana-grafana">grafana\.grafana</a>
- <a href="#hetzner-hcloud">hetzner\.hcloud</a>
- <a href="#lowlydba-sqlserver-1">lowlydba\.sqlserver</a>
- <a href="#netapp-ontap">netapp\.ontap</a>
- <a href="#netapp-storagegrid">netapp\.storagegrid</a>
- <a href="#netbox-netbox">netbox\.netbox</a>
- <a href="#purestorage-fusion">purestorage\.fusion</a>
- <a href="#deprecated-features-1">Deprecated Features</a>
- <a href="#community-crypto-1">community\.crypto</a>
- <a href="#bugfixes-1">Bugfixes</a>
- <a href="#ansible-core-4">Ansible\-core</a>
- <a href="#amazon-aws-4">amazon\.aws</a>
- <a href="#community-crypto-2">community\.crypto</a>
- <a href="#community-dns-2">community\.dns</a>
- <a href="#community-docker-3">community\.docker</a>
- <a href="#community-general-5">community\.general</a>
- <a href="#community-grafana-1">community\.grafana</a>
- <a href="#community-mysql-2">community\.mysql</a>
- <a href="#community-postgresql-1">community\.postgresql</a>
- <a href="#community-routeros-2">community\.routeros</a>
- <a href="#containers-podman-1">containers\.podman</a>
- <a href="#f5networks-f5-modules">f5networks\.f5\_modules</a>
- <a href="#fortinet-fortimanager-1">fortinet\.fortimanager</a>
- <a href="#fortinet-fortios-1">fortinet\.fortios</a>
- <a href="#lowlydba-sqlserver-2">lowlydba\.sqlserver</a>
- <a href="#netapp-ontap-1">netapp\.ontap</a>
- <a href="#netapp-storagegrid-1">netapp\.storagegrid</a>
- <a href="#netbox-netbox-1">netbox\.netbox</a>
- <a href="#new-plugins-1">New Plugins</a>
- <a href="#callback">Callback</a>
- <a href="#filter-1">Filter</a>
- <a href="#new-modules-1">New Modules</a>
- <a href="#community-general-6">community\.general</a>
- <a href="#containers-podman-2">containers\.podman</a>
- <a href="#fortinet-fortimanager-2">fortinet\.fortimanager</a>
- <a href="#hetzner-hcloud-1">hetzner\.hcloud</a>
- <a href="#netbox-netbox-2">netbox\.netbox</a>
- <a href="#unchanged-collections-1">Unchanged Collections</a>
<a id="release-summary-1"></a>
### Release Summary
Release Date\: 2024\-02\-27
[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html)
<a id="ansible-core-3"></a>
### Ansible\-core
Ansible 9\.3\.0 contains ansible\-core version 2\.16\.4\.
This is a newer version than version 2\.16\.3 contained in the previous Ansible release\.
The changes are reported in the combined changelog below\.
<a id="changed-collections-1"></a>
### Changed Collections
If not mentioned explicitly\, the changes are reported in the combined changelog below\.
| Collection | Ansible 9.2.0 | Ansible 9.3.0 | Notes |
| --------------------- | ------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| amazon.aws | 7.2.0 | 7.3.0 | |
| awx.awx | 23.6.0 | 23.8.1 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| cisco.dnac | 6.10.2 | 6.11.0 | The collection did not have a changelog in this version. |
| community.crypto | 2.17.1 | 2.18.0 | |
| community.dns | 2.8.0 | 2.8.1 | |
| community.docker | 3.7.0 | 3.8.0 | |
| community.general | 8.3.0 | 8.4.0 | |
| community.grafana | 1.7.0 | 1.8.0 | |
| community.mongodb | 1.6.3 | 1.7.1 | There are no changes recorded in the changelog. |
| community.mysql | 3.8.0 | 3.9.0 | |
| community.postgresql | 3.3.0 | 3.4.0 | |
| community.routeros | 2.12.0 | 2.13.0 | |
| community.vmware | 4.1.0 | 4.2.0 | |
| containers.podman | 1.11.0 | 1.12.0 | |
| f5networks.f5_modules | 1.27.1 | 1.28.0 | |
| fortinet.fortimanager | 2.3.1 | 2.4.0 | |
| fortinet.fortios | 2.3.4 | 2.3.5 | |
| grafana.grafana | 2.2.4 | 2.2.5 | |
| hetzner.hcloud | 2.4.1 | 2.5.0 | |
| infinidat.infinibox | 1.3.12 | 1.4.3 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| kubernetes.core | 2.4.0 | 2.4.1 | |
| lowlydba.sqlserver | 2.2.2 | 2.3.1 | |
| netapp.ontap | 22.9.0 | 22.10.0 | |
| netapp.storagegrid | 21.11.1 | 21.12.0 | |
| netbox.netbox | 3.16.0 | 3.17.0 | |
| purestorage.fusion | 1.6.0 | 1.6.1 | |
<a id="major-changes"></a>
### Major Changes
<a id="community-mysql"></a>
#### community\.mysql
* Collection version 2\.\*\.\* is EOL\, no more bugfixes will be backported\. Please consider upgrading to the latest version\.
<a id="fortinet-fortios"></a>
#### fortinet\.fortios
* Update all the boolean values to true/false in the documents and examples\.
* Update the document of log\_fact\.
* Update the mismatched version message with version ranges\.
* Update the required ansible version to 2\.14\.
* Update the supported version ranges instead of concrete version numbers to reduce the collection size\.
<a id="minor-changes-1"></a>
### Minor Changes
<a id="amazon-aws-3"></a>
#### amazon\.aws
* backup\_plan \- Let user to set <code>schedule\_expression\_timezone</code> for backup plan rules when when using botocore \>\= 1\.31\.36 \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1952](https\://github\.com/ansible\-collections/amazon\.aws/issues/1952)\)\.
* iam\_user \- refactored error handling to use a decorator \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1951](https\://github\.com/ansible\-collections/amazon\.aws/pull/1951)\)\.
* lambda \- added support for using ECR images for the function \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1939](https\://github\.com/ansible\-collections/amazon\.aws/pull/1939)\)\.
* module\_utils\.errors \- added a basic error handler decorator \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1951](https\://github\.com/ansible\-collections/amazon\.aws/pull/1951)\)\.
* rds\_cluster \- Add support for ServerlessV2ScalingConfiguration to create and modify cluster operations \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1839](https\://github\.com/ansible\-collections/amazon\.aws/pull/1839)\)\.
* s3\_bucket\_info \- add parameter <code>bucket\_versioning</code> to return the versioning state of a bucket \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1919](https\://github\.com/ansible\-collections/amazon\.aws/pull/1919)\)\.
* s3\_object\_info \- fix exception raised when listing objects from empty bucket \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1919](https\://github\.com/ansible\-collections/amazon\.aws/pull/1919)\)\.
<a id="community-crypto"></a>
#### community\.crypto
* x509\_crl \- the new option <code>serial\_numbers</code> allow to configure in which format serial numbers can be provided to <code>revoked\_certificates\[\]\.serial\_number</code>\. The default is as integers \(<code>serial\_numbers\=integer</code>\) for backwards compatibility\; setting <code>serial\_numbers\=hex\-octets</code> allows to specify colon\-separated hex octet strings like <code>00\:11\:22\:FF</code> \([https\://github\.com/ansible\-collections/community\.crypto/issues/687](https\://github\.com/ansible\-collections/community\.crypto/issues/687)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/715](https\://github\.com/ansible\-collections/community\.crypto/pull/715)\)\.
<a id="community-docker-2"></a>
#### community\.docker
* docker\_compose\_v2 \- allow to wait until containers are running/health when running <code>docker compose up</code> with the new <code>wait</code> option \([https\://github\.com/ansible\-collections/community\.docker/issues/794](https\://github\.com/ansible\-collections/community\.docker/issues/794)\, [https\://github\.com/ansible\-collections/community\.docker/pull/796](https\://github\.com/ansible\-collections/community\.docker/pull/796)\)\.
* docker\_container \- the <code>pull\_check\_mode\_behavior</code> option now allows to control the module\'s behavior in check mode when <code>pull\=always</code> \([https\://github\.com/ansible\-collections/community\.docker/issues/792](https\://github\.com/ansible\-collections/community\.docker/issues/792)\, [https\://github\.com/ansible\-collections/community\.docker/pull/797](https\://github\.com/ansible\-collections/community\.docker/pull/797)\)\.
* docker\_container \- the <code>pull</code> option now accepts the three values <code>never</code>\, <code>missing\_image</code> \(default\)\, and <code>never</code>\, next to the previously valid values <code>true</code> \(equivalent to <code>always</code>\) and <code>false</code> \(equivalent to <code>missing\_image</code>\)\. This allows the equivalent to <code>\-\-pull\=never</code> from the Docker command line \([https\://github\.com/ansible\-collections/community\.docker/issues/783](https\://github\.com/ansible\-collections/community\.docker/issues/783)\, [https\://github\.com/ansible\-collections/community\.docker/pull/797](https\://github\.com/ansible\-collections/community\.docker/pull/797)\)\.
<a id="community-general-4"></a>
#### community\.general
* bitwarden lookup plugin \- add <code>bw\_session</code> option\, to pass session key instead of reading from env \([https\://github\.com/ansible\-collections/community\.general/pull/7994](https\://github\.com/ansible\-collections/community\.general/pull/7994)\)\.
* gitlab\_deploy\_key\, gitlab\_group\_members\, gitlab\_group\_variable\, gitlab\_hook\, gitlab\_instance\_variable\, gitlab\_project\_badge\, gitlab\_project\_variable\, gitlab\_user \- improve API pagination and compatibility with different versions of <code>python\-gitlab</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7790](https\://github\.com/ansible\-collections/community\.general/pull/7790)\)\.
* gitlab\_hook \- adds <code>releases\_events</code> parameter for supporting Releases events triggers on GitLab hooks \([https\://github\.com/ansible\-collections/community\.general/pull/7956](https\://github\.com/ansible\-collections/community\.general/pull/7956)\)\.
* icinga2 inventory plugin \- add Jinja2 templating support to <code>url</code>\, <code>user</code>\, and <code>password</code> paramenters \([https\://github\.com/ansible\-collections/community\.general/issues/7074](https\://github\.com/ansible\-collections/community\.general/issues/7074)\, [https\://github\.com/ansible\-collections/community\.general/pull/7996](https\://github\.com/ansible\-collections/community\.general/pull/7996)\)\.
* mssql\_script \- adds transactional \(rollback/commit\) support via optional boolean param <code>transaction</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7976](https\://github\.com/ansible\-collections/community\.general/pull/7976)\)\.
* proxmox\_kvm \- add parameter <code>update\_unsafe</code> to avoid limitations when updating dangerous values \([https\://github\.com/ansible\-collections/community\.general/pull/7843](https\://github\.com/ansible\-collections/community\.general/pull/7843)\)\.
* redfish\_config \- add command <code>SetServiceIdentification</code> to set service identification \([https\://github\.com/ansible\-collections/community\.general/issues/7916](https\://github\.com/ansible\-collections/community\.general/issues/7916)\)\.
* sudoers \- add support for the <code>NOEXEC</code> tag in sudoers rules \([https\://github\.com/ansible\-collections/community\.general/pull/7983](https\://github\.com/ansible\-collections/community\.general/pull/7983)\)\.
* terraform \- fix <code>diff\_mode</code> in state <code>absent</code> and when terraform <code>resource\_changes</code> does not exist \([https\://github\.com/ansible\-collections/community\.general/pull/7963](https\://github\.com/ansible\-collections/community\.general/pull/7963)\)\.
<a id="community-grafana"></a>
#### community\.grafana
* Manage <em class="title-reference">grafana\_folder</em> for organizations
* Merged ansible role telekom\-mms/ansible\-role\-grafana into ansible\-collections/community\.grafana
* added <em class="title-reference">community\.grafana\.notification\_channel</em> to role
* grafana\_dashboard \- add check\_mode support
<a id="community-mysql-1"></a>
#### community\.mysql
* mysql\_user \- add the <code>password\_expire</code> and <code>password\_expire\_interval</code> arguments to implement the password expiration management for mysql user \([https\://github\.com/ansible\-collections/community\.mysql/pull/598](https\://github\.com/ansible\-collections/community\.mysql/pull/598)\)\.
* mysql\_user \- add user attribute support via the <code>attributes</code> parameter and return value \([https\://github\.com/ansible\-collections/community\.mysql/pull/604](https\://github\.com/ansible\-collections/community\.mysql/pull/604)\)\.
<a id="community-postgresql"></a>
#### community\.postgresql
* postgresql\_db \- add the <code>icu\_locale</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/666](https\://github\.com/ansible\-collections/community\.postgresql/issues/666)\)\.
* postgresql\_db \- add the <code>locale\_provider</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/666](https\://github\.com/ansible\-collections/community\.postgresql/issues/666)\)\.
<a id="community-routeros-1"></a>
#### community\.routeros
* api\_info\, api\_modify \- make path <code>user group</code> modifiable and add <code>comment</code> attribute \([https\://github\.com/ansible\-collections/community\.routeros/issues/256](https\://github\.com/ansible\-collections/community\.routeros/issues/256)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/257](https\://github\.com/ansible\-collections/community\.routeros/pull/257)\)\.
* api\_modify\, api\_info \- add support for the <code>ip vrf</code> path in RouterOS 7 \([https\://github\.com/ansible\-collections/community\.routeros/pull/259](https\://github\.com/ansible\-collections/community\.routeros/pull/259)\)
<a id="community-vmware"></a>
#### community\.vmware
* Add standard function vmware\_argument\_spec\(\) from module\_utils for using default env fallback function\. [https\://github\.com/ansible\-collections/community\.vmware/issues/1977](https\://github\.com/ansible\-collections/community\.vmware/issues/1977)
* vmware\_first\_class\_disk\_info \- Add a module to gather informations about first class disks\. \([https\://github\.com/ansible\-collections/community\.vmware/pull/1996](https\://github\.com/ansible\-collections/community\.vmware/pull/1996)\)\. \([https\://github\.com/ansible\-collections/community\.vmware/issues/1988](https\://github\.com/ansible\-collections/community\.vmware/issues/1988)\)\.
* vmware\_host\_facts \- Add the possibility to get the related datacenter\. \([https\://github\.com/ansible\-collections/community\.vmware/pull/1994](https\://github\.com/ansible\-collections/community\.vmware/pull/1994)\)\.
* vmware\_vm\_inventory \- Add parameter <em class="title-reference">subproperties</em> \([https\://github\.com/ansible\-collections/community\.vmware/pull/1972](https\://github\.com/ansible\-collections/community\.vmware/pull/1972)\)\.
* vmware\_vmkernel \- Add the function to set the enable\_backup\_nfc setting \([https\://github\.com/ansible\-collections/community\.vmware/pull/1978](https\://github\.com/ansible\-collections/community\.vmware/pull/1978)\)
* vsphere\_copy \- Add parameter to tell vsphere\_copy which diskformat is being uploaded \([https\://github\.com/ansible\-collections/community\.vmware/pull/1995](https\://github\.com/ansible\-collections/community\.vmware/pull/1995)\)\.
<a id="containers-podman"></a>
#### containers\.podman
* Add log\_opt and annotaion options to podman\_play module
* Add option to parse CreateCommand easily for diff calc
* Add support for setting underlying interface in podman\_network
* Alias generate systemd options stop\_timeout and time
* Fix CI rootfs for podman\_container
* Fix broken conmon version in CI install
* Improve security\_opt comparison between existing container
* podman\_container \- Add new arguments to podman status commands
* podman\_container \- Update env\_file to accept a list of files instead of a single file
* podman\_secret\_info \- Add secrets info module
<a id="fortinet-fortimanager"></a>
#### fortinet\.fortimanager
* Added deprecated warning to invalid argument name\, please change the invalid argument name such as \"var\-name\"\, \"var name\" to \"var\_name\"\.
* Supported fortimanager 7\.4\.2\, 21 new modules\.
<a id="grafana-grafana"></a>
#### grafana\.grafana
* Add \'run\_once\' to download\&unzip tasks by \@v\-zhuravlev in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/136](https\://github\.com/grafana/grafana\-ansible\-collection/pull/136)
* Adding <em class="title-reference">oauth\_allow\_insecure\_email\_lookup</em> to fix oauth user sync error by \@hypery2k in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/132](https\://github\.com/grafana/grafana\-ansible\-collection/pull/132)
* Bump ansible\-core from 2\.15\.4 to 2\.15\.8 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/137](https\://github\.com/grafana/grafana\-ansible\-collection/pull/137)
* Bump ansible\-lint from 6\.13\.1 to 6\.14\.3 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/139](https\://github\.com/grafana/grafana\-ansible\-collection/pull/139)
* Bump ansible\-lint from 6\.14\.3 to 6\.22\.2 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/142](https\://github\.com/grafana/grafana\-ansible\-collection/pull/142)
* Bump ansible\-lint from 6\.22\.2 to 24\.2\.0 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/150](https\://github\.com/grafana/grafana\-ansible\-collection/pull/150)
* Bump jinja2 from 3\.1\.2 to 3\.1\.3 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/129](https\://github\.com/grafana/grafana\-ansible\-collection/pull/129)
* Bump pylint from 2\.16\.2 to 3\.0\.3 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/141](https\://github\.com/grafana/grafana\-ansible\-collection/pull/141)
* Bump yamllint from 1\.29\.0 to 1\.33\.0 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/140](https\://github\.com/grafana/grafana\-ansible\-collection/pull/140)
* Bump yamllint from 1\.29\.0 to 1\.33\.0 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/143](https\://github\.com/grafana/grafana\-ansible\-collection/pull/143)
* Bump yamllint from 1\.33\.0 to 1\.34\.0 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/151](https\://github\.com/grafana/grafana\-ansible\-collection/pull/151)
* Change handler to systemd by \@v\-zhuravlev in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/135](https\://github\.com/grafana/grafana\-ansible\-collection/pull/135)
* Fix links in grafana\_agent/defaults/main\.yaml by \@PabloCastellano in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/134](https\://github\.com/grafana/grafana\-ansible\-collection/pull/134)
* Topic/grafana agent idempotency by \@ohdearaugustin in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/147](https\://github\.com/grafana/grafana\-ansible\-collection/pull/147)
<a id="hetzner-hcloud"></a>
#### hetzner\.hcloud
* Replace deprecated <em class="title-reference">ansible\.netcommon</em> ip utils with python <em class="title-reference">ipaddress</em> module\. The <em class="title-reference">ansible\.netcommon</em> collection is no longer required by the collections\.
* firewall \- Allow forcing the deletion of firewalls that are still in use\.
* firewall \- Do not silence \'firewall still in use\' delete failures\.
* firewall \- Return resources the firewall is <em class="title-reference">applied\_to</em>\.
* firewall\_info \- Add new <em class="title-reference">firewall\_info</em> module to gather firewalls info\.
* firewall\_resource \- Add new <em class="title-reference">firewall\_resource</em> module to manage firewalls resources\.
* inventory \- Add <em class="title-reference">hostvars\_prefix</em> and hostvars\_suffix\` options to customize the inventory host variables keys\.
<a id="lowlydba-sqlserver-1"></a>
#### lowlydba\.sqlserver
* Add ability to prevent changing login\'s password\, even if password supplied\.
* Add new input strings to be compatible with dbops v0\.9\.x \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/231](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/231)\)
<a id="netapp-ontap"></a>
#### netapp\.ontap
* na\_ontap\_cifs\_server \- new option <em class="title-reference">is\_multichannel\_enabled</em> added in REST\, requires ONTAP 9\.10 or later\.
* na\_ontap\_export\_policy\_rule \- added <em class="title-reference">actions</em> and <em class="title-reference">modify</em> in module output\.
* na\_ontap\_file\_security\_permissions\_acl \- added <em class="title-reference">actions</em> and <em class="title-reference">modify</em> in module output\.
* na\_ontap\_igroup\_initiator \- added <em class="title-reference">actions</em> in module output\.
* na\_ontap\_lun\_map \- added <em class="title-reference">actions</em> in module output\.
* na\_ontap\_lun\_map\_reporting\_nodes \- added <em class="title-reference">actions</em> in module output\.
* na\_ontap\_name\_mappings \- added <em class="title-reference">actions</em> and <em class="title-reference">modify</em> in module output\.
* na\_ontap\_node \- added <em class="title-reference">modify</em> in module output\.
* na\_ontap\_rest\_info \- added warning message if given subset doesn\'t support option <em class="title-reference">owning\_resource</em>\.
* na\_ontap\_storage\_auto\_giveback \- added information on modified attributes in module output\.
* na\_ontap\_vscan\_scanner\_pool \- added REST support to Vscan Scanner Pools Configuration module\, requires ONTAP 9\.6 or later\.
<a id="netapp-storagegrid"></a>
#### netapp\.storagegrid
* na\_sg\_grid\_account \- New option <code>allow\_select\_object\_content</code> for enabling use of the S3 SelectObjectContent API\.
* na\_sg\_grid\_account \- New option <code>description</code> for setting additional identifying information for the tenant account\.
<a id="netbox-netbox"></a>
#### netbox\.netbox
* CI \- CI adjustments \[\#1154\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1154](https\://github\.com/netbox\-community/ansible\_modules/pull/1154)\) \[\#1155\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1155](https\://github\.com/netbox\-community/ansible\_modules/pull/1155)\) \[\#1157\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1157](https\://github\.com/netbox\-community/ansible\_modules/pull/1157)\)
* nb\_lookup \- Add new VPN endpoints for NetBox 3\.7 support \[\#1162\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1162](https\://github\.com/netbox\-community/ansible\_modules/pull/1162)\)
* netbox\_rack\_role \- Add description option \[\#1143\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1143](https\://github\.com/netbox\-community/ansible\_modules/pull/1143)\)
* netbox\_virtual\_disk \- New module \[\#1153\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1153](https\://github\.com/netbox\-community/ansible\_modules/pull/1153)\)
* netbox\_virtual\_machine and netbox\_device \- Add option config\_template \[\#1171\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1171](https\://github\.com/netbox\-community/ansible\_modules/pull/1171)\)
<a id="purestorage-fusion"></a>
#### purestorage\.fusion
* fusion\_volume \- Allow creating a new volume from already existing volume or volume snapshot
<a id="deprecated-features-1"></a>
### Deprecated Features
* The <code>inspur\.sm</code> collection is considered unmaintained and will be removed from Ansible 11 if no one starts maintaining it again before Ansible 11\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://forum\.ansible\.com/t/2854](https\://forum\.ansible\.com/t/2854)\)\.
* The <code>netapp\.storagegrid</code> collection is considered unmaintained and will be removed from Ansible 11 if no one starts maintaining it again before Ansible 11\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://forum\.ansible\.com/t/2811](https\://forum\.ansible\.com/t/2811)\)\.
* The <code>purestorage\.fusion</code> collection is officially unmaintained and has been archived\. Therefore\, it will be removed from Ansible 10 \([https\://forum\.ansible\.com/t/3712](https\://forum\.ansible\.com/t/3712)\)\.
<a id="community-crypto-1"></a>
#### community\.crypto
* openssl\_csr\_pipe\, openssl\_privatekey\_pipe\, x509\_certificate\_pipe \- the current behavior of check mode is deprecated and will change in community\.crypto 3\.0\.0\. The current behavior is similar to the modules without <code>\_pipe</code>\: if the object needs to be \(re\-\)generated\, only the <code>changed</code> status is set\, but the object is not updated\. From community\.crypto 3\.0\.0 on\, the modules will ignore check mode and always act as if check mode is not active\. This behavior can already achieved now by adding <code>check\_mode\: false</code> to the task\. If you think this breaks your use\-case of this module\, please [create an issue in the community\.crypto repository](https\://github\.com/ansible\-collections/community\.crypto/issues/new/choose) \([https\://github\.com/ansible\-collections/community\.crypto/issues/712](https\://github\.com/ansible\-collections/community\.crypto/issues/712)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/714](https\://github\.com/ansible\-collections/community\.crypto/pull/714)\)\.
<a id="bugfixes-1"></a>
### Bugfixes
<a id="ansible-core-4"></a>
#### Ansible\-core
* Fix loading vars\_plugins in roles \([https\://github\.com/ansible/ansible/issues/82239](https\://github\.com/ansible/ansible/issues/82239)\)\.
* expect \- fix argument spec error using timeout\=null \([https\://github\.com/ansible/ansible/issues/80982](https\://github\.com/ansible/ansible/issues/80982)\)\.
* include\_vars \- fix calculating <code>depth</code> relative to the root and ensure all files are included \([https\://github\.com/ansible/ansible/issues/80987](https\://github\.com/ansible/ansible/issues/80987)\)\.
* templating \- ensure syntax errors originating from a template being compiled into Python code object result in a failure \([https\://github\.com/ansible/ansible/issues/82606](https\://github\.com/ansible/ansible/issues/82606)\)
<a id="amazon-aws-4"></a>
#### amazon\.aws
* backup\_plan \- Fix idempotency issue when using botocore \>\= 1\.31\.36 \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1952](https\://github\.com/ansible\-collections/amazon\.aws/issues/1952)\)\.
* plugins/inventory/aws\_ec2 \- Fix failure when retrieving information for more than 40 instances with use\_ssm\_inventory \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1713](https\://github\.com/ansible\-collections/amazon\.aws/issues/1713)\)\.
<a id="community-crypto-2"></a>
#### community\.crypto
* luks\_device \- fixed module a bug that prevented using <code>remove\_keyslot</code> with the value <code>0</code> \([https\://github\.com/ansible\-collections/community\.crypto/pull/710](https\://github\.com/ansible\-collections/community\.crypto/pull/710)\)\.
* luks\_device \- fixed module falsely outputting <code>changed\=false</code> when trying to add a new slot with a key that is already present in another slot\. The module now rejects adding keys that are already present in another slot \([https\://github\.com/ansible\-collections/community\.crypto/pull/710](https\://github\.com/ansible\-collections/community\.crypto/pull/710)\)\.
* luks\_device \- fixed testing of LUKS passphrases in when specifying a keyslot for cryptsetup version 2\.0\.3\. The output of this cryptsetup version slightly differs from later versions \([https\://github\.com/ansible\-collections/community\.crypto/pull/710](https\://github\.com/ansible\-collections/community\.crypto/pull/710)\)\.
<a id="community-dns-2"></a>
#### community\.dns
* Update Public Suffix List\.
<a id="community-docker-3"></a>
#### community\.docker
* docker\_compose\_v2 \- do not consider a <code>Waiting</code> event as an action/change \([https\://github\.com/ansible\-collections/community\.docker/pull/804](https\://github\.com/ansible\-collections/community\.docker/pull/804)\)\.
* docker\_compose\_v2 \- do not treat service\-level pull events as changes to avoid incorrect <code>changed\=true</code> return value of <code>pull\=always</code> \([https\://github\.com/ansible\-collections/community\.docker/issues/802](https\://github\.com/ansible\-collections/community\.docker/issues/802)\, [https\://github\.com/ansible\-collections/community\.docker/pull/803](https\://github\.com/ansible\-collections/community\.docker/pull/803)\)\.
* docker\_compose\_v2\, docker\_compose\_v2\_pull \- fix parsing of pull messages for Docker Compose 2\.20\.0 \([https\://github\.com/ansible\-collections/community\.docker/issues/785](https\://github\.com/ansible\-collections/community\.docker/issues/785)\, [https\://github\.com/ansible\-collections/community\.docker/pull/786](https\://github\.com/ansible\-collections/community\.docker/pull/786)\)\.
<a id="community-general-5"></a>
#### community\.general
* cargo \- fix idempotency issues when using a custom installation path for packages \(using the <code>\-\-path</code> parameter\)\. The initial installation runs fine\, but subsequent runs use the <code>get\_installed\(\)</code> function which did not check the given installation location\, before running <code>cargo install</code>\. This resulted in a false <code>changed</code> state\. Also the removal of packeges using <code>state\: absent</code> failed\, as the installation check did not use the given parameter \([https\://github\.com/ansible\-collections/community\.general/pull/7970](https\://github\.com/ansible\-collections/community\.general/pull/7970)\)\.
* gitlab\_issue \- fix behavior to search GitLab issue\, using <code>search</code> keyword instead of <code>title</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7846](https\://github\.com/ansible\-collections/community\.general/issues/7846)\)\.
* gitlab\_runner \- fix pagination when checking for existing runners \([https\://github\.com/ansible\-collections/community\.general/pull/7790](https\://github\.com/ansible\-collections/community\.general/pull/7790)\)\.
* keycloak\_client \- fixes issue when metadata is provided in desired state when task is in check mode \([https\://github\.com/ansible\-collections/community\.general/issues/1226](https\://github\.com/ansible\-collections/community\.general/issues/1226)\, [https\://github\.com/ansible\-collections/community\.general/pull/7881](https\://github\.com/ansible\-collections/community\.general/pull/7881)\)\.
* modprobe \- listing modules files or modprobe files could trigger a FileNotFoundError if <code>/etc/modprobe\.d</code> or <code>/etc/modules\-load\.d</code> did not exist\. Relevant functions now return empty lists if the directories do not exist to avoid crashing the module \([https\://github\.com/ansible\-collections/community\.general/issues/7717](https\://github\.com/ansible\-collections/community\.general/issues/7717)\)\.
* onepassword lookup plugin \- failed for fields that were in sections and had uppercase letters in the label/ID\. Field lookups are now case insensitive in all cases \([https\://github\.com/ansible\-collections/community\.general/pull/7919](https\://github\.com/ansible\-collections/community\.general/pull/7919)\)\.
* pkgin \- pkgin \(pkgsrc package manager used by SmartOS\) raises erratic exceptions and spurious <code>changed\=true</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7971](https\://github\.com/ansible\-collections/community\.general/pull/7971)\)\.
* redfish\_info \- allow for a GET operation invoked by <code>GetUpdateStatus</code> to allow for an empty response body for cases where a service returns 204 No Content \([https\://github\.com/ansible\-collections/community\.general/issues/8003](https\://github\.com/ansible\-collections/community\.general/issues/8003)\)\.
* redfish\_info \- correct uncaught exception when attempting to retrieve <code>Chassis</code> information \([https\://github\.com/ansible\-collections/community\.general/pull/7952](https\://github\.com/ansible\-collections/community\.general/pull/7952)\)\.
<a id="community-grafana-1"></a>
#### community\.grafana
* test\: replace deprecated <em class="title-reference">TestCase\.assertEquals</em> to support Python 3\.12
<a id="community-mysql-2"></a>
#### community\.mysql
* mysql\_info \- the <code>slave\_status</code> filter was returning an empty list on MariaDB with multiple replication channels\. It now returns all channels by running <code>SHOW ALL SLAVES STATUS</code> for MariaDB servers \([https\://github\.com/ansible\-collections/community\.mysql/issues/603](https\://github\.com/ansible\-collections/community\.mysql/issues/603)\)\.
<a id="community-postgresql-1"></a>
#### community\.postgresql
* postgresql\_privs \- fix a failure when altering privileges with <code>grant\_option\: true</code> \([https\://github\.com/ansible\-collections/community\.postgresql/issues/668](https\://github\.com/ansible\-collections/community\.postgresql/issues/668)\)\.
<a id="community-routeros-2"></a>
#### community\.routeros
* facts \- fix date not getting removed for idempotent config export \([https\://github\.com/ansible\-collections/community\.routeros/pull/262](https\://github\.com/ansible\-collections/community\.routeros/pull/262)\)\.
<a id="containers-podman-1"></a>
#### containers\.podman
* Add idempotency for podman\_secret module
* Catch exceptions when no JSON output in podman\_image
* Fail if systemd generation failed and it\'s explicitly set
* Fix example name
* Fix idempotency for podman\_network
* Fix idempotency when using 0\.0\.0\.0 in ports
* Fix multi\-image support for podman\_save
* Fix volume inspection by name in podman\_volume
* Recreate stopped containers if recreate flag is enabled
<a id="f5networks-f5-modules"></a>
#### f5networks\.f5\_modules
* bigip\_gtm\_monitor\_bigip \- fixed an issue where IP and port were not applied correctly when creating new monitor\.
* bigip\_gtm\_monitor\_firepass \- fixed an issue where IP and port were not applied correctly when creating new monitor\.
* bigip\_gtm\_monitor\_http \- fixed an issue where IP and port were not applied correctly when creating new monitor\.
* bigip\_gtm\_monitor\_https\- fixed an issue where IP and port were not applied correctly when creating new monitor\.
* bigip\_gtm\_monitor\_tcp \- fixed an issue where IP and port were not applied correctly when creating new monitor\.
* bigip\_gtm\_monitor\_tcp\_half\_open \- fixed an issue where IP and port were not applied correctly when creating new monitor\.
* bigip\_gtm\_topology\_region \- fixed an issue where if multiple states with spaces in values were defined\, module would throw invalid command error
* bigip\_gtm\_topology\_region \- fixed an issue where states names that contained spaces caused the idempotency to break\.
* bigip\_ssl\_key\_cert \- fixed an issue where the passphrase was not being properly send to the BIG\-IP\.
<a id="fortinet-fortimanager-1"></a>
#### fortinet\.fortimanager
* Changed revision to v\_range to reduce the size of the code\.
* Fixed the behavior of module fmgr\_firewall\_internetservicecustom\.
* Fixed the behavior of some modules that contain the argument policyid\.
* Improved example ansible playbooks\.
* Improved the logic of fmgr\_fact\, fmgr\_clone\, fmgr\_rename\, fmgr\_move\. Usage remains unchanged\.
* Reduced the size of module\_arg\_spec in each module\.
* Removed most of the sanity test ignores\.
<a id="fortinet-fortios-1"></a>
#### fortinet\.fortios
* Github issue
<a id="lowlydba-sqlserver-2"></a>
#### lowlydba\.sqlserver
* Add ActiveStartDate to the compare properties so this item is marked accurately as changed\.
* Fixed the formatting of the SPN by updating the backslash to a forward\-slash for the \$spn var \(lowlydba\.sqlserver\.spn\)
<a id="netapp-ontap-1"></a>
#### netapp\.ontap
* na\_ontap\_igroup\_initiator \- fixed issue with idempotency\.
<a id="netapp-storagegrid-1"></a>
#### netapp\.storagegrid
* Removed fetch limit in API request and implemented pagination\.
<a id="netbox-netbox-1"></a>
#### netbox\.netbox
* netbox\_vlan \- Fix documentation of vlan\_group \[\#1138\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1138](https\://github\.com/netbox\-community/ansible\_modules/pull/1138)\)
<a id="new-plugins-1"></a>
### New Plugins
<a id="callback"></a>
#### Callback
* community\.general\.default\_without\_diff \- The default ansible callback without diff output
<a id="filter-1"></a>
#### Filter
* community\.crypto\.parse\_serial \- Convert a serial number as a colon\-separated list of hex numbers to an integer
* community\.crypto\.to\_serial \- Convert an integer to a colon\-separated list of hex numbers
* community\.general\.lists\_difference \- Difference of lists with a predictive order
* community\.general\.lists\_intersect \- Intersection of lists with a predictive order
* community\.general\.lists\_symmetric\_difference \- Symmetric Difference of lists with a predictive order
* community\.general\.lists\_union \- Union of lists with a predictive order
<a id="new-modules-1"></a>
### New Modules
<a id="community-general-6"></a>
#### community\.general
* community\.general\.gitlab\_group\_access\_token \- Manages GitLab group access tokens
* community\.general\.gitlab\_project\_access\_token \- Manages GitLab project access tokens
<a id="containers-podman-2"></a>
#### containers\.podman
* containers\.podman\.podman\_secret\_info \- Secrets info module
<a id="fortinet-fortimanager-2"></a>
#### fortinet\.fortimanager
* fortinet\.fortimanager\.fmgr\_diameterfilter\_profile \- Configure Diameter filter profiles\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxysshclientcert \- Configure Access Proxy SSH client certificate\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxysshclientcert\_certextension \- Configure certificate extension for user certificate\.
* fortinet\.fortimanager\.fmgr\_firewall\_vip6\_quic \- QUIC setting\.
* fortinet\.fortimanager\.fmgr\_firewall\_vip\_gslbpublicips \- Publicly accessible IP addresses for the FortiGSLB service\.
* fortinet\.fortimanager\.fmgr\_sctpfilter\_profile \- Configure SCTP filter profiles\.
* fortinet\.fortimanager\.fmgr\_sctpfilter\_profile\_ppidfilters \- PPID filters list\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_vlan \- Configure VLAN assignment priority\.
* fortinet\.fortimanager\.fmgr\_system\_admin\_profile\_writepasswdprofiles \- Profile list\.
* fortinet\.fortimanager\.fmgr\_system\_admin\_profile\_writepasswduserlist \- User list\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_nputcam \- Configure NPU TCAM policies\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_nputcam\_data \- Data fields of TCAM\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_nputcam\_mask \- Mask fields of TCAM\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_nputcam\_miract \- Mirror action of TCAM\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_nputcam\_priact \- Priority action of TCAM\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_nputcam\_sact \- Source action of TCAM\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_nputcam\_tact \- Target action of TCAM\.
* fortinet\.fortimanager\.fmgr\_videofilter\_keyword \- Configure video filter keywords\.
* fortinet\.fortimanager\.fmgr\_videofilter\_keyword\_word \- List of keywords\.
* fortinet\.fortimanager\.fmgr\_videofilter\_profile\_filters \- YouTube filter entries\.
* fortinet\.fortimanager\.fmgr\_videofilter\_youtubekey \- Configure YouTube API keys\.
<a id="hetzner-hcloud-1"></a>
#### hetzner\.hcloud
* hetzner\.hcloud\.firewall\_resource \- Manage Resources a Hetzner Cloud Firewall is applied to\.
<a id="netbox-netbox-2"></a>
#### netbox\.netbox
* netbox\.netbox\.netbox\_virtual\_disk \- Create\, updates\, or removes a disk from a Virtual Machine
<a id="unchanged-collections-1"></a>
### Unchanged Collections
* ansible\.netcommon \(still version 5\.3\.0\)
* ansible\.posix \(still version 1\.5\.4\)
* ansible\.utils \(still version 2\.12\.0\)
* ansible\.windows \(still version 2\.2\.0\)
* arista\.eos \(still version 6\.2\.2\)
* azure\.azcollection \(still version 1\.19\.0\)
* check\_point\.mgmt \(still version 5\.2\.2\)
* chocolatey\.chocolatey \(still version 1\.5\.1\)
* cisco\.aci \(still version 2\.8\.0\)
* cisco\.asa \(still version 4\.0\.3\)
* cisco\.intersight \(still version 2\.0\.7\)
* cisco\.ios \(still version 5\.3\.0\)
* cisco\.iosxr \(still version 6\.1\.1\)
* cisco\.ise \(still version 2\.7\.0\)
* cisco\.meraki \(still version 2\.17\.2\)
* cisco\.mso \(still version 2\.5\.0\)
* cisco\.nxos \(still version 5\.3\.0\)
* cisco\.ucs \(still version 1\.10\.0\)
* cloud\.common \(still version 2\.1\.4\)
* cloudscale\_ch\.cloud \(still version 2\.3\.1\)
* community\.aws \(still version 7\.1\.0\)
* community\.azure \(still version 2\.0\.0\)
* community\.ciscosmb \(still version 1\.0\.7\)
* community\.digitalocean \(still version 1\.26\.0\)
* community\.hashi\_vault \(still version 6\.1\.0\)
* community\.hrobot \(still version 1\.9\.0\)
* community\.library\_inventory\_filtering\_v1 \(still version 1\.0\.0\)
* community\.libvirt \(still version 1\.3\.0\)
* community\.network \(still version 5\.0\.2\)
* community\.okd \(still version 2\.3\.0\)
* community\.proxysql \(still version 1\.5\.1\)
* community\.rabbitmq \(still version 1\.2\.3\)
* community\.sap \(still version 2\.0\.0\)
* community\.sap\_libs \(still version 1\.4\.2\)
* community\.sops \(still version 1\.6\.7\)
* community\.windows \(still version 2\.1\.0\)
* community\.zabbix \(still version 2\.3\.1\)
* cyberark\.conjur \(still version 1\.2\.2\)
* cyberark\.pas \(still version 1\.0\.25\)
* dellemc\.enterprise\_sonic \(still version 2\.4\.0\)
* dellemc\.openmanage \(still version 8\.7\.0\)
* dellemc\.powerflex \(still version 2\.1\.0\)
* dellemc\.unity \(still version 1\.7\.1\)
* frr\.frr \(still version 2\.0\.2\)
* gluster\.gluster \(still version 1\.0\.2\)
* google\.cloud \(still version 1\.3\.0\)
* hpe\.nimble \(still version 1\.1\.4\)
* ibm\.qradar \(still version 2\.1\.0\)
* ibm\.spectrum\_virtualize \(still version 2\.0\.0\)
* ibm\.storage\_virtualize \(still version 2\.2\.0\)
* infoblox\.nios\_modules \(still version 1\.6\.1\)
* inspur\.ispim \(still version 2\.2\.0\)
* inspur\.sm \(still version 2\.3\.0\)
* junipernetworks\.junos \(still version 5\.3\.1\)
* microsoft\.ad \(still version 1\.4\.1\)
* netapp\.aws \(still version 21\.7\.1\)
* netapp\.azure \(still version 21\.10\.1\)
* netapp\.cloudmanager \(still version 21\.22\.1\)
* netapp\.elementsw \(still version 21\.7\.0\)
* netapp\.um\_info \(still version 21\.8\.1\)
* netapp\_eseries\.santricity \(still version 1\.4\.0\)
* ngine\_io\.cloudstack \(still version 2\.3\.0\)
* ngine\_io\.exoscale \(still version 1\.1\.0\)
* openstack\.cloud \(still version 2\.2\.0\)
* openvswitch\.openvswitch \(still version 2\.1\.1\)
* ovirt\.ovirt \(still version 3\.2\.0\)
* purestorage\.flasharray \(still version 1\.26\.0\)
* purestorage\.flashblade \(still version 1\.15\.0\)
* sensu\.sensu\_go \(still version 1\.14\.0\)
* splunk\.es \(still version 2\.1\.2\)
* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\)
* telekom\_mms\.icinga\_director \(still version 1\.35\.0\)
* theforeman\.foreman \(still version 3\.15\.0\)
* vmware\.vmware\_rest \(still version 2\.3\.1\)
* vultr\.cloud \(still version 1\.12\.1\)
* vyos\.vyos \(still version 4\.1\.0\)
* wti\.remote \(still version 1\.0\.5\)
<a id="v9-2-0"></a>
## v9\.2\.0
- <a href="#release-summary-2">Release Summary</a>
- <a href="#added-collections">Added Collections</a>
- <a href="#ansible-core-5">Ansible\-core</a>
- <a href="#changed-collections-2">Changed Collections</a>
- <a href="#major-changes-1">Major Changes</a>
- <a href="#community-docker-4">community\.docker</a>
- <a href="#community-hashi-vault-2">community\.hashi\_vault</a>
- <a href="#dellemc-openmanage">dellemc\.openmanage</a>
- <a href="#infoblox-nios-modules">infoblox\.nios\_modules</a>
- <a href="#minor-changes-2">Minor Changes</a>
- <a href="#amazon-aws-5">amazon\.aws</a>
- <a href="#check-point-mgmt">check\_point\.mgmt</a>
- <a href="#cisco-ise-1">cisco\.ise</a>
- <a href="#cisco-meraki">cisco\.meraki</a>
- <a href="#community-aws">community\.aws</a>
- <a href="#community-crypto-3">community\.crypto</a>
- <a href="#community-digitalocean">community\.digitalocean</a>
- <a href="#community-dns-3">community\.dns</a>
- <a href="#community-docker-5">community\.docker</a>
- <a href="#community-general-7">community\.general</a>
- <a href="#community-grafana-2">community\.grafana</a>
- <a href="#community-hrobot-1">community\.hrobot</a>
- <a href="#community-postgresql-2">community\.postgresql</a>
- <a href="#community-routeros-3">community\.routeros</a>
- <a href="#community-vmware-1">community\.vmware</a>
- <a href="#community-zabbix">community\.zabbix</a>
- <a href="#dellemc-enterprise-sonic">dellemc\.enterprise\_sonic</a>
- <a href="#dellemc-openmanage-1">dellemc\.openmanage</a>
- <a href="#grafana-grafana-1">grafana\.grafana</a>
- <a href="#ibm-storage-virtualize-2">ibm\.storage\_virtualize</a>
- <a href="#netapp-ontap-2">netapp\.ontap</a>
- <a href="#netbox-netbox-3">netbox\.netbox</a>
- <a href="#purestorage-flasharray-2">purestorage\.flasharray</a>
- <a href="#purestorage-flashblade-2">purestorage\.flashblade</a>
- <a href="#vultr-cloud">vultr\.cloud</a>
- <a href="#deprecated-features-2">Deprecated Features</a>
- <a href="#community-dns-4">community\.dns</a>
- <a href="#community-docker-6">community\.docker</a>
- <a href="#community-general-8">community\.general</a>
- <a href="#community-hrobot-2">community\.hrobot</a>
- <a href="#security-fixes-1">Security Fixes</a>
- <a href="#ansible-core-6">Ansible\-core</a>
- <a href="#bugfixes-2">Bugfixes</a>
- <a href="#ansible-core-7">Ansible\-core</a>
- <a href="#amazon-aws-6">amazon\.aws</a>
- <a href="#check-point-mgmt-1">check\_point\.mgmt</a>
- <a href="#cisco-meraki-1">cisco\.meraki</a>
- <a href="#community-aws-1">community\.aws</a>
- <a href="#community-crypto-4">community\.crypto</a>
- <a href="#community-digitalocean-1">community\.digitalocean</a>
- <a href="#community-dns-5">community\.dns</a>
- <a href="#community-docker-7">community\.docker</a>
- <a href="#community-general-9">community\.general</a>
- <a href="#community-grafana-3">community\.grafana</a>
- <a href="#community-postgresql-3">community\.postgresql</a>
- <a href="#community-sap-libs">community\.sap\_libs</a>
- <a href="#community-vmware-2">community\.vmware</a>
- <a href="#community-zabbix-1">community\.zabbix</a>
- <a href="#dellemc-enterprise-sonic-1">dellemc\.enterprise\_sonic</a>
- <a href="#dellemc-openmanage-2">dellemc\.openmanage</a>
- <a href="#fortinet-fortimanager-3">fortinet\.fortimanager</a>
- <a href="#infoblox-nios-modules-1">infoblox\.nios\_modules</a>
- <a href="#netapp-ontap-3">netapp\.ontap</a>
- <a href="#netbox-netbox-4">netbox\.netbox</a>
- <a href="#purestorage-flasharray-3">purestorage\.flasharray</a>
- <a href="#purestorage-flashblade-3">purestorage\.flashblade</a>
- <a href="#vultr-cloud-1">vultr\.cloud</a>
- <a href="#known-issues">Known Issues</a>
- <a href="#dellemc-openmanage-3">dellemc\.openmanage</a>
- <a href="#new-plugins-2">New Plugins</a>
- <a href="#connection">Connection</a>
- <a href="#filter-2">Filter</a>
- <a href="#lookup">Lookup</a>
- <a href="#new-modules-2">New Modules</a>
- <a href="#check-point-mgmt-2">check\_point\.mgmt</a>
- <a href="#community-digitalocean-2">community\.digitalocean</a>
- <a href="#community-docker-8">community\.docker</a>
- <a href="#community-general-10">community\.general</a>
- <a href="#dellemc-enterprise-sonic-2">dellemc\.enterprise\_sonic</a>
- <a href="#dellemc-openmanage-4">dellemc\.openmanage</a>
- <a href="#infoblox-nios-modules-2">infoblox\.nios\_modules</a>
- <a href="#netapp-ontap-4">netapp\.ontap</a>
- <a href="#purestorage-flashblade-4">purestorage\.flashblade</a>
- <a href="#vultr-cloud-2">vultr\.cloud</a>
- <a href="#unchanged-collections-2">Unchanged Collections</a>
<a id="release-summary-2"></a>
### Release Summary
Release Date\: 2024\-01\-30
[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html)
<a id="added-collections"></a>
### Added Collections
* community\.library\_inventory\_filtering\_v1 \(version 1\.0\.0\)
<a id="ansible-core-5"></a>
### Ansible\-core
Ansible 9\.2\.0 contains ansible\-core version 2\.16\.3\.
This is a newer version than version 2\.16\.1 contained in the previous Ansible release\.
The changes are reported in the combined changelog below\.
<a id="changed-collections-2"></a>
### Changed Collections
If not mentioned explicitly\, the changes are reported in the combined changelog below\.
| Collection | Ansible 9.1.0 | Ansible 9.2.0 | Notes |
| ---------------------------------------- | ------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| amazon.aws | 7.0.0 | 7.2.0 | |
| awx.awx | 23.5.0 | 23.6.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| check_point.mgmt | 5.1.1 | 5.2.2 | |
| cisco.dnac | 6.8.1 | 6.10.2 | The collection did not have a changelog in this version. |
| cisco.intersight | 2.0.3 | 2.0.7 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| cisco.ise | 2.6.2 | 2.7.0 | |
| cisco.meraki | 2.16.16 | 2.17.2 | |
| community.aws | 7.0.0 | 7.1.0 | |
| community.crypto | 2.16.1 | 2.17.1 | |
| community.digitalocean | 1.24.0 | 1.26.0 | |
| community.dns | 2.6.4 | 2.8.0 | |
| community.docker | 3.4.11 | 3.7.0 | |
| community.general | 8.1.0 | 8.3.0 | |
| community.grafana | 1.6.1 | 1.7.0 | |
| community.hashi_vault | 6.0.0 | 6.1.0 | |
| community.hrobot | 1.8.2 | 1.9.0 | |
| community.library_inventory_filtering_v1 | | 1.0.0 | The collection was added to Ansible |
| community.postgresql | 3.2.0 | 3.3.0 | |
| community.routeros | 2.11.0 | 2.12.0 | |
| community.sap_libs | 1.4.1 | 1.4.2 | |
| community.vmware | 4.0.1 | 4.1.0 | |
| community.zabbix | 2.2.0 | 2.3.1 | |
| cyberark.pas | 1.0.23 | 1.0.25 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| dellemc.enterprise_sonic | 2.2.0 | 2.4.0 | |
| dellemc.openmanage | 8.5.0 | 8.7.0 | |
| fortinet.fortimanager | 2.3.0 | 2.3.1 | |
| grafana.grafana | 2.2.3 | 2.2.4 | |
| ibm.storage_virtualize | 2.1.0 | 2.2.0 | |
| infoblox.nios_modules | 1.5.0 | 1.6.1 | |
| netapp.ontap | 22.8.3 | 22.9.0 | |
| netbox.netbox | 3.15.0 | 3.16.0 | |
| purestorage.flasharray | 1.24.0 | 1.26.0 | |
| purestorage.flashblade | 1.14.0 | 1.15.0 | |
| vultr.cloud | 1.10.1 | 1.12.1 | |
<a id="major-changes-1"></a>
### Major Changes
<a id="community-docker-4"></a>
#### community\.docker
* The <code>community\.docker</code> collection now depends on the <code>community\.library\_inventory\_filtering\_v1</code> collection\. This utility collection provides host filtering functionality for inventory plugins\. If you use the Ansible community package\, both collections are included and you do not have to do anything special\. If you install the collection with <code>ansible\-galaxy collection install</code>\, it will be installed automatically\. If you install the collection by copying the files of the collection to a place where ansible\-core can find it\, for example by cloning the git repository\, you need to make sure that you also have to install the dependency if you are using the inventory plugins \([https\://github\.com/ansible\-collections/community\.docker/pull/698](https\://github\.com/ansible\-collections/community\.docker/pull/698)\)\.
<a id="community-hashi-vault-2"></a>
#### community\.hashi\_vault
* requirements \- the <code>requests</code> package which is required by <code>hvac</code> now has a more restrictive range for this collection in certain use cases due to breaking security changes in <code>ansible\-core</code> that were backported \([https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/416](https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/416)\)\.
<a id="dellemc-openmanage"></a>
#### dellemc\.openmanage
* All OME modules are enhanced to support the environment variables <em class="title-reference">OME\_USERNAME</em> and <em class="title-reference">OME\_PASSWORD</em> as fallback for credentials\.
* All iDRAC and Redfish modules are enhanced to support the environment variables <em class="title-reference">IDRAC\_USERNAME</em> and <em class="title-reference">IDRAC\_PASSWORD</em> as fallback for credentials\.
* idrac\_certificates \- The module is enhanced to support the import and export of <em class="title-reference">CUSTOMCERTIFICATE</em>\.
* idrac\_gather\_facts \- This role is enhanced to support secure boot\.
* idrac\_license \- The module is introduced to configure iDRAC licenses\.
<a id="infoblox-nios-modules"></a>
#### infoblox\.nios\_modules
* Upgrade Ansible version support from 2\.13 to 2\.16\.
* Upgrade Python version support from 3\.8 to 3\.10\.
<a id="minor-changes-2"></a>
### Minor Changes
<a id="amazon-aws-5"></a>
#### amazon\.aws
* autoscaling\_group \- minor PEP8 whitespace sanity fixes \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1846](https\://github\.com/ansible\-collections/amazon\.aws/pull/1846)\)\.
* ec2\_ami\_info \- simplify parameters to <code>get\_image\_attribute</code> to only pass ID of image \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1846](https\://github\.com/ansible\-collections/amazon\.aws/pull/1846)\)\.
* ec2\_eip \- use <code>ResourceTags</code> to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\)
* ec2\_instance \- Add support for modifying metadata options of an existing instance \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1918](https\://github\.com/ansible\-collections/amazon\.aws/pull/1918)\)\.
* ec2\_instance \- add support for AdditionalInfo option when creating an instance \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1828](https\://github\.com/ansible\-collections/amazon\.aws/pull/1828)\)\.
* ec2\_security\_group \- use <code>ResourceTags</code> to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1844](https\://github\.com/ansible\-collections/amazon\.aws/pull/1844)\)
* ec2\_vpc\_igw \- use <code>ResourceTags</code> to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\)
* ec2\_vpc\_route\_table \- use <code>ResourceTags</code> to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\)
* ec2\_vpc\_subnet \- the default value for <code>tags</code> has been changed from <code>\{\}</code> to <code>None</code>\, to remove tags from a subnet an empty map must be explicitly passed to the module \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1876](https\://github\.com/ansible\-collections/amazon\.aws/pull/1876)\)\.
* ec2\_vpc\_subnet \- use <code>ResourceTags</code> to set initial tags upon creation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1843](https\://github\.com/ansible\-collections/amazon\.aws/issues/1843)\)
* ec2\_vpc\_subnet \- use <code>wait\_timeout</code> to also control maximum time to wait for initial creation of subnets \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1848](https\://github\.com/ansible\-collections/amazon\.aws/pull/1848)\)\.
* iam\_group \- Basic testing of <code>name</code> and <code>path</code> has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_group \- <code>group\_name</code> has been added as an alias to <code>name</code> for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_group \- add support for setting group path \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1892](https\://github\.com/ansible\-collections/amazon\.aws/pull/1892)\)\.
* iam\_group \- adds attached\_policies return value \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1892](https\://github\.com/ansible\-collections/amazon\.aws/pull/1892)\)\.
* iam\_group \- code refactored to avoid single long function \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1892](https\://github\.com/ansible\-collections/amazon\.aws/pull/1892)\)\.
* iam\_instance\_profile \- Basic testing of <code>name</code> and <code>path</code> has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_instance\_profile \- attempting to change the <code>path</code> for an existing profile will now generate a warning\, previously this was silently ignored \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_instance\_profile \- the <code>prefix</code> parameter has been renamed <code>path</code> for consistency with other IAM modules\, <code>prefix</code> remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_instance\_profile \- the default value for <code>path</code> has been removed\. New instances will still be created with a default path of <code>/</code>\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_managed\_policy \- Basic testing of <code>name</code> and <code>path</code> has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_managed\_policy \- <code>description</code> attempting to update the description now results in a warning\, previously it was simply ignored \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\.
* iam\_managed\_policy \- <code>policy</code> is no longer a required parameter \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\.
* iam\_managed\_policy \- added support for tagging managed policies \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\.
* iam\_managed\_policy \- more consistently perform retries on rate limiting errors \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\.
* iam\_managed\_policy \- support for setting <code>path</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\.
* iam\_managed\_policy \- the <code>policy\_description</code> parameter has been renamed <code>description</code> for consistency with other IAM modules\, <code>policy\_description</code> remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_managed\_policy \- the <code>policy\_name</code> parameter has been renamed <code>name</code> for consistency with other IAM modules\, <code>policy\_name</code> remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_role \- Basic testing of <code>name</code> and <code>path</code> has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_role \- <code>prefix</code> and <code>path\_prefix</code> have been added as aliases to <code>path</code> for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_role \- <code>role\_name</code> has been added as an alias to <code>name</code> for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_role \- attempting to change the <code>path</code> for an existing profile will now generate a warning\, previously this was silently ignored \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_role \- the default value for <code>path</code> has been removed\. New roles will still be created with a default path of <code>/</code>\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_role\_info \- <code>path</code> and <code>prefix</code> have been added as aliases to <code>path\_prefix</code> for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_user \- Basic testing of <code>name</code> and <code>path</code> has been added to improve error messages \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_user \- <code>user\_name</code> has been added as an alias to <code>name</code> for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_user \- add <code>boundary</code> parameter to support managing boundary policy on users \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\.
* iam\_user \- add <code>path</code> parameter to support managing user path \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\.
* iam\_user \- added <code>attached\_policies</code> to return value \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\.
* iam\_user \- refactored code to reduce complexity \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1912](https\://github\.com/ansible\-collections/amazon\.aws/pull/1912)\)\.
* iam\_user\_info \- <code>prefix</code> has been added as an alias to <code>path\_prefix</code> for consistency with other IAM modules \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* iam\_user\_info \- the <code>path</code> parameter has been renamed <code>path\_prefix</code> for consistency with other IAM modules\, <code>path</code> remains as an alias\. No change to playbooks is required \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1933](https\://github\.com/ansible\-collections/amazon\.aws/pull/1933)\)\.
* rds\_instance\_snapshot \- minor PEP8 whitespace sanity fixes \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1846](https\://github\.com/ansible\-collections/amazon\.aws/pull/1846)\)\.
<a id="check-point-mgmt"></a>
#### check\_point\.mgmt
* New resource modules for R81\.20 JHF Take 43
* meta/runtime\.yml \- update minimum Ansible version required to 2\.14\.0\.
<a id="cisco-ise-1"></a>
#### cisco\.ise
* cisco\.ise collection now supports ansible\.utils v3
<a id="cisco-meraki"></a>
#### cisco\.meraki
* Adding support to ansible\.utils \"\>\=2\.0\.0\, \<4\.00\"\.
<a id="community-aws"></a>
#### community\.aws
* aws\_ssm \- Updated the documentation to explicitly state that an S3 bucket is required\, the behavior of the files in that bucket\, and requirements around that\. \([https\://github\.com/ansible\-collections/community\.aws/issues/1775](https\://github\.com/ansible\-collections/community\.aws/issues/1775)\)\.
* cloudfront\_distribution \- added support for <code>cache\_policy\_id</code> and <code>origin\_request\_policy\_id</code> for behaviors \([https\://github\.com/ansible\-collections/community\.aws/pull/1589](https\://github\.com/ansible\-collections/community\.aws/pull/1589)\)
* mq\_broker \- add support to wait for broker state via <code>wait</code> and <code>wait\_timeout</code> parameter values \([https\://github\.com/ansible\-collections/community\.aws/pull/1879](https\://github\.com/ansible\-collections/community\.aws/pull/1879)\)\.
<a id="community-crypto-3"></a>
#### community\.crypto
* luks\_device \- add allow discards option \([https\://github\.com/ansible\-collections/community\.crypto/pull/693](https\://github\.com/ansible\-collections/community\.crypto/pull/693)\)\.
<a id="community-digitalocean"></a>
#### community\.digitalocean
* digital\_ocean\_kubernetes \- add project\_name parameter \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/264](https\://github\.com/ansible\-collections/community\.digitalocean/issues/264)\)\.
* fix sanity tests \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/323](https\://github\.com/ansible\-collections/community\.digitalocean/issues/323)\)\.
<a id="community-dns-3"></a>
#### community\.dns
* hetzner\_dns\_records and hosttech\_dns\_records inventory plugins \- the <code>filters</code> option has been renamed to <code>simple\_filters</code>\. The old name still works until community\.hrobot 2\.0\.0\. Then it will change to allow more complex filtering with the <code>community\.library\_inventory\_filtering\_v1</code> collection\'s functionality \([https\://github\.com/ansible\-collections/community\.dns/pull/181](https\://github\.com/ansible\-collections/community\.dns/pull/181)\)\.
* nameserver\_info and nameserver\_record\_info \- add <code>server</code> parameter to specify custom DNS servers \([https\://github\.com/ansible\-collections/community\.dns/pull/168](https\://github\.com/ansible\-collections/community\.dns/pull/168)\, [https\://github\.com/ansible\-collections/community\.dns/pull/178](https\://github\.com/ansible\-collections/community\.dns/pull/178)\)\.
* wait\_for\_txt \- add <code>server</code> parameter to specify custom DNS servers \([https\://github\.com/ansible\-collections/community\.dns/pull/178](https\://github\.com/ansible\-collections/community\.dns/pull/178)\)\.
<a id="community-docker-5"></a>
#### community\.docker
* The <code>ca\_cert</code> option available to almost all modules and plugins has been renamed to <code>ca\_path</code>\. The name <code>ca\_path</code> is also used for similar options in ansible\-core and other collections\. The old name has been added as an alias and can still be used \([https\://github\.com/ansible\-collections/community\.docker/pull/744](https\://github\.com/ansible\-collections/community\.docker/pull/744)\)\.
* The <code>docker\_stack\*</code> modules now use the common CLI\-based module code added for the <code>docker\_image\_build</code> and <code>docker\_compose\_v2</code> modules\. This means that the modules now have various more configuration options with respect to talking to the Docker Daemon\, and now also are part of the <code>community\.docker\.docker</code> and <code>docker</code> module default groups \([https\://github\.com/ansible\-collections/community\.docker/pull/745](https\://github\.com/ansible\-collections/community\.docker/pull/745)\)\.
* docker\_compose\_v2 \- add <code>scale</code> option to allow to explicitly scale services \([https\://github\.com/ansible\-collections/community\.docker/pull/776](https\://github\.com/ansible\-collections/community\.docker/pull/776)\)\.
* docker\_compose\_v2\, docker\_compose\_v2\_pull \- support <code>files</code> parameter to specify multiple Compose files \([https\://github\.com/ansible\-collections/community\.docker/issues/772](https\://github\.com/ansible\-collections/community\.docker/issues/772)\, [https\://github\.com/ansible\-collections/community\.docker/pull/775](https\://github\.com/ansible\-collections/community\.docker/pull/775)\)\.
* docker\_container \- add <code>networks\[\]\.mac\_address</code> option for Docker API 1\.44\+\. Note that Docker API 1\.44 no longer uses the global <code>mac\_address</code> option\, this new option is the only way to set the MAC address for a container \([https\://github\.com/ansible\-collections/community\.docker/pull/763](https\://github\.com/ansible\-collections/community\.docker/pull/763)\)\.
* docker\_container \- implement better <code>platform</code> string comparisons to improve idempotency \([https\://github\.com/ansible\-collections/community\.docker/issues/654](https\://github\.com/ansible\-collections/community\.docker/issues/654)\, [https\://github\.com/ansible\-collections/community\.docker/pull/705](https\://github\.com/ansible\-collections/community\.docker/pull/705)\)\.
* docker\_container \- internal refactorings which allow comparisons to use more information like details of the current image or the Docker host config \([https\://github\.com/ansible\-collections/community\.docker/pull/713](https\://github\.com/ansible\-collections/community\.docker/pull/713)\)\.
* docker\_image \- allow to specify labels and <code>/dev/shm</code> size when building images \([https\://github\.com/ansible\-collections/community\.docker/issues/726](https\://github\.com/ansible\-collections/community\.docker/issues/726)\, [https\://github\.com/ansible\-collections/community\.docker/pull/727](https\://github\.com/ansible\-collections/community\.docker/pull/727)\)\.
* docker\_image \- allow to specify memory size and swap memory size in other units than bytes \([https\://github\.com/ansible\-collections/community\.docker/pull/727](https\://github\.com/ansible\-collections/community\.docker/pull/727)\)\.
* inventory plugins \- add <code>filter</code> option which allows to include and exclude hosts based on Jinja2 conditions \([https\://github\.com/ansible\-collections/community\.docker/pull/698](https\://github\.com/ansible\-collections/community\.docker/pull/698)\, [https\://github\.com/ansible\-collections/community\.docker/issues/610](https\://github\.com/ansible\-collections/community\.docker/issues/610)\)\.
<a id="community-general-7"></a>
#### community\.general
* consul\_auth\_method\, consul\_binding\_rule\, consul\_policy\, consul\_role\, consul\_session\, consul\_token \- added action group <code>community\.general\.consul</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7897](https\://github\.com/ansible\-collections/community\.general/pull/7897)\)\.
* consul\_policy \- added support for diff and check mode \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
* consul\_policy\, consul\_role\, consul\_session \- removed dependency on <code>requests</code> and factored out common parts \([https\://github\.com/ansible\-collections/community\.general/pull/7826](https\://github\.com/ansible\-collections/community\.general/pull/7826)\, [https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
* consul\_role \- <code>node\_identities</code> now expects a <code>node\_name</code> option to match the Consul API\, the old <code>name</code> is still supported as alias \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
* consul\_role \- <code>service\_identities</code> now expects a <code>service\_name</code> option to match the Consul API\, the old <code>name</code> is still supported as alias \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
* consul\_role \- added support for diff mode \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
* consul\_role \- added support for templated policies \([https\://github\.com/ansible\-collections/community\.general/pull/7878](https\://github\.com/ansible\-collections/community\.general/pull/7878)\)\.
* ipa\_dnsrecord \- adds ability to manage NS record types \([https\://github\.com/ansible\-collections/community\.general/pull/7737](https\://github\.com/ansible\-collections/community\.general/pull/7737)\)\.
* ipa\_pwpolicy \- refactor module and exchange a sequence <code>if</code> statements with a <code>for</code> loop \([https\://github\.com/ansible\-collections/community\.general/pull/7723](https\://github\.com/ansible\-collections/community\.general/pull/7723)\)\.
* ipa\_pwpolicy \- update module to support <code>maxrepeat</code>\, <code>maxsequence</code>\, <code>dictcheck</code>\, <code>usercheck</code>\, <code>gracelimit</code> parameters in FreeIPA password policies \([https\://github\.com/ansible\-collections/community\.general/pull/7723](https\://github\.com/ansible\-collections/community\.general/pull/7723)\)\.
* keycloak\_realm\_key \- the <code>config\.algorithm</code> option now supports 8 additional key algorithms \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\.
* keycloak\_realm\_key \- the <code>config\.certificate</code> option value is no longer defined with <code>no\_log\=True</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\.
* keycloak\_realm\_key \- the <code>provider\_id</code> option now supports RSA encryption key usage \(value <code>rsa\-enc</code>\) \([https\://github\.com/ansible\-collections/community\.general/pull/7698](https\://github\.com/ansible\-collections/community\.general/pull/7698)\)\.
* keycloak\_user\_federation \- allow custom user storage providers to be set through <code>provider\_id</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7789](https\://github\.com/ansible\-collections/community\.general/pull/7789)\)\.
* mail \- add <code>Message\-ID</code> header\; which is required by some mail servers \([https\://github\.com/ansible\-collections/community\.general/pull/7740](https\://github\.com/ansible\-collections/community\.general/pull/7740)\)\.
* mail module\, mail callback plugin \- allow to configure the domain name of the Message\-ID header with a new <code>message\_id\_domain</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7765](https\://github\.com/ansible\-collections/community\.general/pull/7765)\)\.
* redfish\_info \- add command <code>GetServiceIdentification</code> to get service identification \([https\://github\.com/ansible\-collections/community\.general/issues/7882](https\://github\.com/ansible\-collections/community\.general/issues/7882)\)\.
* ssh\_config \- new feature to set <code>AddKeysToAgent</code> option to <code>yes</code> or <code>no</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7703](https\://github\.com/ansible\-collections/community\.general/pull/7703)\)\.
* ssh\_config \- new feature to set <code>IdentitiesOnly</code> option to <code>yes</code> or <code>no</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7704](https\://github\.com/ansible\-collections/community\.general/pull/7704)\)\.
* terraform \- add support for <code>diff\_mode</code> for terraform resource\_changes \([https\://github\.com/ansible\-collections/community\.general/pull/7896](https\://github\.com/ansible\-collections/community\.general/pull/7896)\)\.
* xcc\_redfish\_command \- added support for raw POSTs \(<code>command\=PostResource</code> in <code>category\=Raw</code>\) without a specific action info \([https\://github\.com/ansible\-collections/community\.general/pull/7746](https\://github\.com/ansible\-collections/community\.general/pull/7746)\)\.
<a id="community-grafana-2"></a>
#### community\.grafana
* Add Quickwit search engine datasource \([https\://quickwit\.io](https\://quickwit\.io)\)\.
* Add parameter <em class="title-reference">org\_name</em> to <em class="title-reference">grafana\_dashboard</em>
* Add parameter <em class="title-reference">org\_name</em> to <em class="title-reference">grafana\_datasource</em>
* Add parameter <em class="title-reference">org\_name</em> to <em class="title-reference">grafana\_organization\_user</em>
* Add support for Grafana Tempo datasource type \([https\://grafana\.com/docs/grafana/latest/datasources/tempo/](https\://grafana\.com/docs/grafana/latest/datasources/tempo/)\)
* default to true/false in docs and code
<a id="community-hrobot-1"></a>
#### community\.hrobot
* robot inventory plugin \- the <code>filters</code> option has been renamed to <code>simple\_filters</code>\. The old name still works until community\.hrobot 2\.0\.0\. Then it will change to allow more complex filtering with the <code>community\.library\_inventory\_filtering\_v1</code> collection\'s functionality \([https\://github\.com/ansible\-collections/community\.hrobot/pull/94](https\://github\.com/ansible\-collections/community\.hrobot/pull/94)\)\.
<a id="community-postgresql-2"></a>
#### community\.postgresql
* postgresql\_db \- add the <code>comment</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/614](https\://github\.com/ansible\-collections/community\.postgresql/issues/614)\)\.
* postgresql\_ext \- add the <code>comment</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\.
* postgresql\_publication \- add the <code>comment</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\.
* postgresql\_schema \- add the <code>comment</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\.
* postgresql\_subscription \- add the <code>comment</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\.
* postgresql\_tablespace \- add the <code>comment</code> argument \([https\://github\.com/ansible\-collections/community\.postgresql/issues/354](https\://github\.com/ansible\-collections/community\.postgresql/issues/354)\)\.
<a id="community-routeros-3"></a>
#### community\.routeros
* api\_info\, api\_modify \- add <code>interface ovpn\-client</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/242](https\://github\.com/ansible\-collections/community\.routeros/issues/242)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/244](https\://github\.com/ansible\-collections/community\.routeros/pull/244)\)\.
* api\_info\, api\_modify \- add <code>radius</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/241](https\://github\.com/ansible\-collections/community\.routeros/issues/241)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/245](https\://github\.com/ansible\-collections/community\.routeros/pull/245)\)\.
* api\_info\, api\_modify \- add <code>routing rule</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/162](https\://github\.com/ansible\-collections/community\.routeros/issues/162)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/246](https\://github\.com/ansible\-collections/community\.routeros/pull/246)\)\.
* api\_info\, api\_modify \- add missing path <code>routing bgp template</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/243](https\://github\.com/ansible\-collections/community\.routeros/pull/243)\)\.
* api\_info\, api\_modify \- add support for the <code>tx\-power</code> attribute in <code>interface wireless</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/239](https\://github\.com/ansible\-collections/community\.routeros/pull/239)\)\.
* api\_info\, api\_modify \- removed <code>host</code> primary key in <code>tool netwatch</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/248](https\://github\.com/ansible\-collections/community\.routeros/pull/248)\)\.
* api\_modify\, api\_info \- added support for <code>interface wifiwave2</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/226](https\://github\.com/ansible\-collections/community\.routeros/pull/226)\)\.
<a id="community-vmware-1"></a>
#### community\.vmware
* vmware\_guest \- Add IPv6 support for VM network interfaces \([https\://github\.com/ansible\-collections/community\.vmware/pull/1937](https\://github\.com/ansible\-collections/community\.vmware/pull/1937)\)\.
* vmware\_guest\_sendkey \- Add Windows key \([https\://github\.com/ansible\-collections/community\.vmware/issues/1959](https\://github\.com/ansible\-collections/community\.vmware/issues/1959)\)\.
* vmware\_guest\_tools\_upgrade \- Add parameter <em class="title-reference">installer\_options</em> to pass command line options to the installer to modify the installation procedure for tools \([https\://github\.com/ansible\-collections/community\.vmware/pull/1059](https\://github\.com/ansible\-collections/community\.vmware/pull/1059)\)\.
<a id="community-zabbix"></a>
#### community\.zabbix
* api\_requests \- Handled error from depricated CertificateError class
* multiple roles \- Removed unneeded Apt Clean commands\.
* proxy role \- Updated MariaDB version for Centos 7 to 10\.11
* zabbix web \- Allowed the independent configuration of php\-fpm without creating vhost\.
* zabbix\_host\_info \- added ability to get all the hosts configured in Zabbix
* zabbix\_proxy role \- Add variable zabbix\_proxy\_dbpassword\_hash\_method to control whether you want postgresql user password to be hashed with md5 or want to use db default\. When zabbix\_proxy\_dbpassword\_hash\_method is set to anything other than md5 then do not hash the password with md5 so you could use postgresql scram\-sha\-256 hashing method\.
* zabbix\_server role \- Add variable zabbix\_server\_dbpassword\_hash\_method to control whether you want postgresql user password to be hashed with md5 or want to use db default\. When zabbix\_server\_dbpassword\_hash\_method is set to anything other than md5 then do not hash the password with md5 so you could use postgresql scram\-sha\-256 hashing method\.
* zabbix\_templategroup module added
<a id="dellemc-enterprise-sonic"></a>
#### dellemc\.enterprise\_sonic
* sonic\_aaa \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304)\)\.
* sonic\_aaa \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_acl\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306)\)\.
* sonic\_acl\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_bgp\_as\_paths \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/290](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/290)\)\.
* sonic\_bgp\_communities \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/251](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/251)\)\.
* sonic\_bgp\_ext\_communities \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/252](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/252)\)\.
* sonic\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301)\)\.
* sonic\_interfaces \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\.
* sonic\_interfaces \- Change deleted design for interfaces module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/310](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/310)\)\.
* sonic\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_ip\_neighbor \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285)\)\.
* sonic\_ip\_neighbor \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_l2\_acls \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306)\)\.
* sonic\_l2\_acls \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_l2\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303)\)\.
* sonic\_l2\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_l3\_acls \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/306)\)\.
* sonic\_l3\_acls \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_l3\_interfaces \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/241](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/241)\)\.
* sonic\_lag\_interfaces \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/303)\)\.
* sonic\_lag\_interfaces \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_logging \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285)\)\.
* sonic\_logging \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_mclag \- Add VLAN range support for \'unique\_ip\' and \'peer\_gateway\' options \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288)\)\.
* sonic\_mclag \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/288)\)\.
* sonic\_ntp \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281)\)\.
* sonic\_ntp \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_port\_breakout \- Add Ansible support for all port breakout modes now allowed in Enterprise SONiC \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/276](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/276)\)\.
* sonic\_port\_breakout \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/291](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/291)\)\.
* sonic\_port\_group \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284)\)\.
* sonic\_port\_group \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_radius\_server \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/279](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/279)\)\.
* sonic\_radius\_server \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_static\_routes \- Add playbook check and diff modes support for static routes resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/313](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/313)\)\.
* sonic\_static\_routes \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_system \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/284)\)\.
* sonic\_system \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_tacacs\_server \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/281)\)\.
* sonic\_tacacs\_server \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_users \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/304)\)\.
* sonic\_users \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_vlans \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/301)\)\.
* sonic\_vlans \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* sonic\_vrfs \- Add mgmt VRF replaced state handling to sonic\_vrfs module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/298](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/298)\)\.
* sonic\_vrfs \- Add mgmt VRF support to sonic\_vrfs module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/293](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/293)\)\.
* sonic\_vrfs \- Add support for playbook check and diff modes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/285)\)\.
* sonic\_vrfs \- Enhance config diff generation function \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/318)\)\.
* tests \- Add UTs for BFD\, COPP\, and MAC modules \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/287](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/287)\)\.
* tests \- Enable contiguous execution of all regression integration tests on an S5296f \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/277](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/277)\)\.
* tests \- Fix the bgp CLI test base\_cfg\_path derivation of the bgp role\_path by avoiding relative pathing from the possibly external playbook\_dir \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/283](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/283)\)\.
<a id="dellemc-openmanage-1"></a>
#### dellemc\.openmanage
* For idrac\_certificate role\, added support for import operation of <em class="title-reference">HTTPS</em> certificate with the SSL key\.
* For idrac\_certificates module\, below enhancements are made\: Added support for import operation of <em class="title-reference">HTTPS</em> certificate with the SSL key\. The <em class="title-reference">email\_address</em> has been made as an optional parameter\.
* For idrac\_gather\_facts role\, added storage controller details in the role output\.
<a id="grafana-grafana-1"></a>
#### grafana\.grafana
* Bump cryptography from 41\.0\.4 to 41\.0\.6 by \@dependabot in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/126](https\://github\.com/grafana/grafana\-ansible\-collection/pull/126)
* Drop curl check by \@v\-zhuravlev in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/120](https\://github\.com/grafana/grafana\-ansible\-collection/pull/120)
* Fix check mode for grafana role by \@Boschung\-Mecatronic\-AG\-Infrastructure in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/125](https\://github\.com/grafana/grafana\-ansible\-collection/pull/125)
* Fix check mode in Grafana Agent by \@AmandaCameron in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/124](https\://github\.com/grafana/grafana\-ansible\-collection/pull/124)
* Update tags in README by \@ishanjainn in [https\://github\.com/grafana/grafana\-ansible\-collection/pull/121](https\://github\.com/grafana/grafana\-ansible\-collection/pull/121)
<a id="ibm-storage-virtualize-2"></a>
#### ibm\.storage\_virtualize
* ibm\_sv\_manage\_replication\_policy \- Added support to configure a 2\-site\-ha policy\.
* ibm\_sv\_manage\_snapshot \- Added support to restore entire volumegroup from a snapshot of that volumegroup\.
* ibm\_svc\_host \- Added support to create nvmetcp host\.
* ibm\_svc\_info \- Added support to display information about thinclone/clone volumes and volumegroups\.
* ibm\_svc\_manage\_volumgroup \- Added support to delete volumegroups keeping volumes via \'evictvolumes\'\.
<a id="netapp-ontap-2"></a>
#### netapp\.ontap
* na\_ontap\_cifs\_server \- new option <em class="title-reference">lm\_compatibility\_level</em> added in REST\, requires ONTAP 9\.8 or later\.
* na\_ontap\_cluster \- new option <em class="title-reference">certificate\.uuid</em> added in REST\, requires ONTAP 9\.10 or later\.
* na\_ontap\_cluster\_peer \- added REST only support for modifying remote intercluster addresses in cluster peer relation\.
* na\_ontap\_ems\_destination \- new options <em class="title-reference">syslog</em>\, <em class="title-reference">port</em>\, <em class="title-reference">transport</em>\, <em class="title-reference">message\_format</em>\, <em class="title-reference">timestamp\_format\_override</em> and <em class="title-reference">hostname\_format\_override</em> added in REST\, requires ONTAP 9\.12\.1 or later\.
* na\_ontap\_s3\_services \- create\, modify S3 service returns <em class="title-reference">s3\_service\_info</em> in module output\.
* na\_ontap\_snapmirror \- updated resync and resume operation for synchronous snapmirror relationship in REST\.
<a id="netbox-netbox-3"></a>
#### netbox\.netbox
* nb\_inventory \- Add facility group\_by option \[\#1059\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1059](https\://github\.com/netbox\-community/ansible\_modules/pull/1059)\)
* nb\_inventory \- Enable ansible\-vault strings in config\-context data \[\#1114\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1114](https\://github\.com/netbox\-community/ansible\_modules/pull/1114)\)
* netbox\_platform \- Add config\_template option to netbox\_platform \[\#1119\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1119](https\://github\.com/netbox\-community/ansible\_modules/pull/1119)\)
* netbox\_power\_port\_template \- Add option module\_type to netbox\_power\_port\_template \[\#1105\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1105](https\://github\.com/netbox\-community/ansible\_modules/pull/1105)\)
<a id="purestorage-flasharray-2"></a>
#### purestorage\.flasharray
* all \- <code>distro</code> package added as a pre\-requisite
* multiple \- Remove packaging pre\-requisite\.
* multiple \- Where only REST 2\.x endpoints are used\, convert to REST 2\.x methodology\.
* purefa\_info \- Expose NFS security flavor for policies
* purefa\_info \- Expose cloud capacity details if array is a Cloud Block Store\.
* purefa\_policy \- Add SMB user based enumeration parameter
* purefa\_policy \- Added NFS security flavors for accessing files in the mount point\.
* purefa\_policy \- Remove default setting for nfs\_version to allow for change of version at policy level
<a id="purestorage-flashblade-2"></a>
#### purestorage\.flashblade
* purefb\_bucket \- Add support for public buckets
* purefb\_bucket \- From REST 2\.12 the <em class="title-reference">mode</em> parameter default changes to <em class="title-reference">multi\-site\-writable</em>\.
* purefb\_fs \- Added SMB Continuous Availability parameter\. Requires REST 2\.12 or higher\.
* purefb\_info \- Added enhanced information for buckets\, filesystems and snapshots\, based on new features in REST 2\.12
* purefb\_s3acc \- Add support for public buckets
* purefb\_s3acc \- Remove default requirements for <code>hard\_limit</code> and <code>default\_hard\_limit</code>
<a id="vultr-cloud"></a>
#### vultr\.cloud
* Added retry on HTTP 504 returned by the API \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/104](https\://github\.com/vultr/ansible\-collection\-vultr/pull/104)\)\.
* Implemented a feature to distinguish resources by region if available\. This allows to have identical name per region e\.g\. a VPC named <code>default</code> in each region\. \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/98](https\://github\.com/vultr/ansible\-collection\-vultr/pull/98)\)\.
* instance \- Added a new param <code>user\_scheme</code> to change user scheme to non\-root on Linux while creating the instance \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/96](https\://github\.com/vultr/ansible\-collection\-vultr/issues/96)\)\.
<a id="deprecated-features-2"></a>
### Deprecated Features
<a id="community-dns-4"></a>
#### community\.dns
* hetzner\_dns\_records and hosttech\_dns\_records inventory plugins \- the <code>filters</code> option has been renamed to <code>simple\_filters</code>\. The old name will stop working in community\.hrobot 2\.0\.0 \([https\://github\.com/ansible\-collections/community\.dns/pull/181](https\://github\.com/ansible\-collections/community\.dns/pull/181)\)\.
<a id="community-docker-6"></a>
#### community\.docker
* docker\_container \- the default <code>ignore</code> for the <code>image\_name\_mismatch</code> parameter has been deprecated and will switch to <code>recreate</code> in community\.docker 4\.0\.0\. A deprecation warning will be printed in situations where the default value is used and where a behavior would change once the default changes \([https\://github\.com/ansible\-collections/community\.docker/pull/703](https\://github\.com/ansible\-collections/community\.docker/pull/703)\)\.
<a id="community-general-8"></a>
#### community\.general
* consul\_acl \- the module has been deprecated and will be removed in community\.general 10\.0\.0\. <code>consul\_token</code> and <code>consul\_policy</code> can be used instead \([https\://github\.com/ansible\-collections/community\.general/pull/7901](https\://github\.com/ansible\-collections/community\.general/pull/7901)\)\.
<a id="community-hrobot-2"></a>
#### community\.hrobot
* robot inventory plugin \- the <code>filters</code> option has been renamed to <code>simple\_filters</code>\. The old name will stop working in community\.hrobot 2\.0\.0 \([https\://github\.com/ansible\-collections/community\.hrobot/pull/94](https\://github\.com/ansible\-collections/community\.hrobot/pull/94)\)\.
<a id="security-fixes-1"></a>
### Security Fixes
<a id="ansible-core-6"></a>
#### Ansible\-core
* ANSIBLE\_NO\_LOG \- Address issue where ANSIBLE\_NO\_LOG was ignored \(CVE\-2024\-0690\)
<a id="bugfixes-2"></a>
### Bugfixes
<a id="ansible-core-7"></a>
#### Ansible\-core
* Run all handlers with the same <code>listen</code> topic\, even when notified from another handler \([https\://github\.com/ansible/ansible/issues/82363](https\://github\.com/ansible/ansible/issues/82363)\)\.
* <code>ansible\-galaxy role import</code> \- fix using the <code>role\_name</code> in a standalone role\'s <code>galaxy\_info</code> metadata by disabling automatic removal of the <code>ansible\-role\-</code> prefix\. This matches the behavior of the Galaxy UI which also no longer implicitly removes the <code>ansible\-role\-</code> prefix\. Use the <code>\-\-role\-name</code> option or add a <code>role\_name</code> to the <code>galaxy\_info</code> dictionary in the role\'s <code>meta/main\.yml</code> to use an alternate role name\.
* <code>ansible\-test sanity \-\-test runtime\-metadata</code> \- add <code>action\_plugin</code> as a valid field for modules in the schema \([https\://github\.com/ansible/ansible/pull/82562](https\://github\.com/ansible/ansible/pull/82562)\)\.
* ansible\-config init will now dedupe ini entries from plugins\.
* ansible\-galaxy role import \- exit with 1 when the import fails \([https\://github\.com/ansible/ansible/issues/82175](https\://github\.com/ansible/ansible/issues/82175)\)\.
* ansible\-galaxy role install \- normalize tarfile paths and symlinks using <code>ansible\.utils\.path\.unfrackpath</code> and consider them valid as long as the realpath is in the tarfile\'s role directory \([https\://github\.com/ansible/ansible/issues/81965](https\://github\.com/ansible/ansible/issues/81965)\)\.
* delegate\_to when set to an empty or undefined variable will now give a proper error\.
* dwim functions for lookups should be better at detectging role context even in abscense of tasks/main\.
* roles\, code cleanup and performance optimization of dependencies\, now cached\, and <code>public</code> setting is now determined once\, at role instantiation\.
* roles\, the <code>static</code> property is now correctly set\, this will fix issues with <code>public</code> and <code>DEFAULT\_PRIVATE\_ROLE\_VARS</code> controls on exporting vars\.
* unsafe data \- Address an incompatibility when iterating or getting a single index from <code>AnsibleUnsafeBytes</code>
* unsafe data \- Address an incompatibility with <code>AnsibleUnsafeText</code> and <code>AnsibleUnsafeBytes</code> when pickling with <code>protocol\=0</code>
* unsafe data \- Enable directly using <code>AnsibleUnsafeText</code> with Python <code>pathlib</code> \([https\://github\.com/ansible/ansible/issues/82414](https\://github\.com/ansible/ansible/issues/82414)\)
<a id="amazon-aws-6"></a>
#### amazon\.aws
* ec2\_vpc\_subnet \- cleanly handle failure when subnet isn\'t created in time \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1848](https\://github\.com/ansible\-collections/amazon\.aws/pull/1848)\)\.
* iam\_managed\_policy \- fixed an issue where only partial results were returned \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1936](https\://github\.com/ansible\-collections/amazon\.aws/pull/1936)\)\.
* s3\_object \- Fix typo that caused false deprecation warning when setting <code>overwrite\=latest</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1847](https\://github\.com/ansible\-collections/amazon\.aws/pull/1847)\)\.
* s3\_object \- when doing a put and specifying <code>Content\-Type</code> in metadata\, this module \(since 6\.0\.0\) erroneously set the <code>Content\-Type</code> to <code>None</code> causing the put to fail\. Fix now correctly honours the specified <code>Content\-Type</code> \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1881](https\://github\.com/ansible\-collections/amazon\.aws/issues/1881)\)\.
<a id="check-point-mgmt-1"></a>
#### check\_point\.mgmt
* httpapi/checkpoint\.py \- Raise a fatal error if login wasn\'t successful\.
<a id="cisco-meraki-1"></a>
#### cisco\.meraki
* Adding <em class="title-reference">smartquotes \= False</em> to <em class="title-reference">conf\.py</em> and romoving <em class="title-reference">\'</em> from rst files\.
* Adding build\_ignore property to galaxy file\.
* Adding support to ansible\.utils \>\=3\.0
<a id="community-aws-1"></a>
#### community\.aws
* aws\_ssm \- disable <em class="title-reference">enable\-bracketed\-paste</em> to fix issue with amazon linux 2023 and other OSes \([https\://github\.com/ansible\-collections/community\.aws/issues/1756](https\://github\.com/ansible\-collections/community\.aws/issues/1756)\)
<a id="community-crypto-4"></a>
#### community\.crypto
* acme\_\* modules \- directly react on bad return data for account creation/retrieval/updating requests \([https\://github\.com/ansible\-collections/community\.crypto/pull/682](https\://github\.com/ansible\-collections/community\.crypto/pull/682)\)\.
* acme\_\* modules \- fix improved error reporting in case of socket errors\, bad status lines\, and unknown connection errors \([https\://github\.com/ansible\-collections/community\.crypto/pull/684](https\://github\.com/ansible\-collections/community\.crypto/pull/684)\)\.
* acme\_\* modules \- increase number of retries from 5 to 10 to increase stability with unstable ACME endpoints \([https\://github\.com/ansible\-collections/community\.crypto/pull/685](https\://github\.com/ansible\-collections/community\.crypto/pull/685)\)\.
* acme\_\* modules \- make account registration handling more flexible to accept 404 instead of 400 send by DigiCert\'s ACME endpoint when an account does not exist \([https\://github\.com/ansible\-collections/community\.crypto/pull/681](https\://github\.com/ansible\-collections/community\.crypto/pull/681)\)\.
* openssl\_dhparam \- was using an internal function instead of the public API to load DH param files when using the <code>cryptography</code> backend\. The internal function was removed in cryptography 42\.0\.0\. The module now uses the public API\, which has been available since support for DH params was added to cryptography \([https\://github\.com/ansible\-collections/community\.crypto/pull/698](https\://github\.com/ansible\-collections/community\.crypto/pull/698)\)\.
* openssl\_privatekey\_info \- <code>check\_consistency\=true</code> no longer works for RSA keys with cryptography 42\.0\.0\+ \([https\://github\.com/ansible\-collections/community\.crypto/pull/701](https\://github\.com/ansible\-collections/community\.crypto/pull/701)\)\.
* openssl\_privatekey\_info \- <code>check\_consistency\=true</code> now reports a warning if it cannot determine consistency \([https\://github\.com/ansible\-collections/community\.crypto/pull/705](https\://github\.com/ansible\-collections/community\.crypto/pull/705)\)\.
<a id="community-digitalocean-1"></a>
#### community\.digitalocean
* The C\(project\_name\) parameter for many modules was used by alias C\(project\) internally in the codebase\, but to work properly C\(project\_name\) must be used in the code\. Replace self\.module\.params\.get\(\"project\"\) with self\.module\.params\.get\(\"project\_name\"\) \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/326](https\://github\.com/ansible\-collections/community\.digitalocean/issues/326)\)\.
* digital\_ocean\_kubernetes \- module didn\'t return kubeconfig properly\, return documentation was invalid\. Fixed version returns data with the same structure all the time\, also it is aligned with M\(community\.digitalocean\.digital\_ocean\_kubernetes\_info\) documentation return data now\. \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/322](https\://github\.com/ansible\-collections/community\.digitalocean/issues/322)\)\.
* inventory plugin \- restore reading auth token from env variables \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/315](https\://github\.com/ansible\-collections/community\.digitalocean/pull/315)\)\.
<a id="community-dns-5"></a>
#### community\.dns
* Update Public Suffix List\.
* wait\_for\_txt\, nameserver\_info\, nameserver\_record\_info \- when looking up nameservers for a domain\, do not treat <code>NXDOMAIN</code> as a fatal error \([https\://github\.com/ansible\-collections/community\.dns/pull/177](https\://github\.com/ansible\-collections/community\.dns/pull/177)\)\.
<a id="community-docker-7"></a>
#### community\.docker
* Use <code>unix\:///var/run/docker\.sock</code> instead of the legacy <code>unix\://var/run/docker\.sock</code> as default for <code>docker\_host</code> \([https\://github\.com/ansible\-collections/community\.docker/pull/736](https\://github\.com/ansible\-collections/community\.docker/pull/736)\)\.
* docker\_compose\_v2 \- properly parse dry\-run build events from <code>stderr</code> \([https\://github\.com/ansible\-collections/community\.docker/issues/778](https\://github\.com/ansible\-collections/community\.docker/issues/778)\, [https\://github\.com/ansible\-collections/community\.docker/pull/779](https\://github\.com/ansible\-collections/community\.docker/pull/779)\)\.
* docker\_compose\_v2\_pull \- the module was documented as part of the <code>community\.docker\.docker</code> action group\, but was not actually part of it\. That has now been fixed \([https\://github\.com/ansible\-collections/community\.docker/pull/773](https\://github\.com/ansible\-collections/community\.docker/pull/773)\)\.
* docker\_image \- fix archiving idempotency with Docker API 1\.44 or later \([https\://github\.com/ansible\-collections/community\.docker/pull/765](https\://github\.com/ansible\-collections/community\.docker/pull/765)\)\.
* modules and plugins using the Docker SDK for Python \- remove <code>ssl\_version</code> from the parameters passed to Docker SDK for Python 7\.0\.0\+\. Explicitly fail with a nicer error message if it was explicitly set in this case \([https\://github\.com/ansible\-collections/community\.docker/pull/715](https\://github\.com/ansible\-collections/community\.docker/pull/715)\)\.
* modules and plugins using the Docker SDK for Python \- remove <code>tls\_hostname</code> from the parameters passed to Docker SDK for Python 7\.0\.0\+\. Explicitly fail with a nicer error message if it was explicitly set in this case \([https\://github\.com/ansible\-collections/community\.docker/pull/721](https\://github\.com/ansible\-collections/community\.docker/pull/721)\)\.
* vendored Docker SDK for Python \- avoid passing on <code>ssl\_version</code> and <code>tls\_hostname</code> if they were not provided by the user\. Remove dead code\. \([https\://github\.com/ansible\-collections/community\.docker/pull/722](https\://github\.com/ansible\-collections/community\.docker/pull/722)\)\.
<a id="community-general-9"></a>
#### community\.general
* homebrew \- detect already installed formulae and casks using JSON output from <code>brew info</code> \([https\://github\.com/ansible\-collections/community\.general/issues/864](https\://github\.com/ansible\-collections/community\.general/issues/864)\)\.
* incus connection plugin \- treats <code>inventory\_hostname</code> as a variable instead of a literal in remote connections \([https\://github\.com/ansible\-collections/community\.general/issues/7874](https\://github\.com/ansible\-collections/community\.general/issues/7874)\)\.
* ipa\_otptoken \- the module expect <code>ipatokendisabled</code> as string but the <code>ipatokendisabled</code> value is returned as a boolean \([https\://github\.com/ansible\-collections/community\.general/pull/7795](https\://github\.com/ansible\-collections/community\.general/pull/7795)\)\.
* keycloak\_identity\_provider \- <code>mappers</code> processing was not idempotent if the mappers configuration list had not been sorted by name \(in ascending order\)\. Fix resolves the issue by sorting mappers in the desired state using the same key which is used for obtaining existing state \([https\://github\.com/ansible\-collections/community\.general/pull/7418](https\://github\.com/ansible\-collections/community\.general/pull/7418)\)\.
* keycloak\_identity\_provider \- it was not possible to reconfigure \(add\, remove\) <code>mappers</code> once they were created initially\. Removal was ignored\, adding new ones resulted in dropping the pre\-existing unmodified mappers\. Fix resolves the issue by supplying correct input to the internal update call \([https\://github\.com/ansible\-collections/community\.general/pull/7418](https\://github\.com/ansible\-collections/community\.general/pull/7418)\)\.
* keycloak\_user \- when <code>force</code> is set\, but user does not exist\, do not try to delete it \([https\://github\.com/ansible\-collections/community\.general/pull/7696](https\://github\.com/ansible\-collections/community\.general/pull/7696)\)\.
* ldap \- previously the order number \(if present\) was expected to follow an equals sign in the DN\. This makes it so the order number string is identified correctly anywhere within the DN \([https\://github\.com/ansible\-collections/community\.general/issues/7646](https\://github\.com/ansible\-collections/community\.general/issues/7646)\)\.
* mssql\_script \- make the module work with Python 2 \([https\://github\.com/ansible\-collections/community\.general/issues/7818](https\://github\.com/ansible\-collections/community\.general/issues/7818)\, [https\://github\.com/ansible\-collections/community\.general/pull/7821](https\://github\.com/ansible\-collections/community\.general/pull/7821)\)\.
* nmcli \- fix <code>connection\.slave\-type</code> wired to <code>bond</code> and not with parameter <code>slave\_type</code> in case of connection type <code>wifi</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7389](https\://github\.com/ansible\-collections/community\.general/issues/7389)\)\.
* proxmox \- fix updating a container config if the setting does not already exist \([https\://github\.com/ansible\-collections/community\.general/pull/7872](https\://github\.com/ansible\-collections/community\.general/pull/7872)\)\.
* proxmox\_kvm \- running <code>state\=template</code> will first check whether VM is already a template \([https\://github\.com/ansible\-collections/community\.general/pull/7792](https\://github\.com/ansible\-collections/community\.general/pull/7792)\)\.
* statusio\_maintenance \- fix error caused by incorrectly formed API data payload\. Was raising \"Failed to create maintenance HTTP Error 400 Bad Request\" caused by bad data type for date/time and deprecated dict keys \([https\://github\.com/ansible\-collections/community\.general/pull/7754](https\://github\.com/ansible\-collections/community\.general/pull/7754)\)\.
<a id="community-grafana-3"></a>
#### community\.grafana
* Add <em class="title-reference">grafana\_organiazion\_user</em> to <em class="title-reference">action\_groups\.grafana</em>
* Fixed orgId handling in diff comparison for <em class="title-reference">grafana\_datasource</em> if using org\_name
<a id="community-postgresql-3"></a>
#### community\.postgresql
* postgresql\_query \- now reports not changed for queries starting with \"SHOW\" \([https\://github\.com/ansible\-collections/community\.postgresql/pull/592](https\://github\.com/ansible\-collections/community\.postgresql/pull/592)\)\.
* postgresql\_user \- module failed when running against an SQL\_ASCII encoded database as the user\'s current password was returned as bytes as opposed to a str\. Fix now checks for this case and decodes the bytes as an ascii encoded string\. \([https\://github\.com/ansible\-collections/community\.postgresql/issues/584](https\://github\.com/ansible\-collections/community\.postgresql/issues/584)\)\.
<a id="community-sap-libs"></a>
#### community\.sap\_libs
* fixes failures in sanity test for all modules
<a id="community-vmware-2"></a>
#### community\.vmware
* Fix InsecureRequestWarning for modules based on the VmwareRestClient module util when setting <code>validate\_certs</code> to <code>False</code> \([https\://github\.com/ansible\-collections/community\.vmware/pull/1969](https\://github\.com/ansible\-collections/community\.vmware/pull/1969)\)\.
* module\_utils/vmware\.py \- remove ssl\.wrap\_socet\(\) function\. Replaced for code based on ssl\.get\_server\_certificate \([https\://github\.com/ansible\-collections/community\.vmware/issues/1930](https\://github\.com/ansible\-collections/community\.vmware/issues/1930)\)\.
* vmware\_guest \- Fix failure of vm reconfiguration with enabled virt\_based\_security \([https\://github\.com/ansible\-collections/community\.vmware/pull/1848](https\://github\.com/ansible\-collections/community\.vmware/pull/1848)\)\.
<a id="community-zabbix-1"></a>
#### community\.zabbix
* Avoid to update user\-directory configuration in dry run\.
* api module \- Fixed certificiate errors
* proxy and server roles \- Defaulted location of fping and fping6 based on OS\.
* proxy role \- Removed requirement for mysql group definition\.
* server role \- typo in configuration var StasAllowedIP to StatsAllowedIP
* zabbix\-\{agent\, javagateway\, proxy\, server\, web\} \- support raspberry pi without repository url specification
<a id="dellemc-enterprise-sonic-1"></a>
#### dellemc\.enterprise\_sonic
* requirements \- Update requires\_ansible version in meta/runtime\.yml to the oldest supported version \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/321](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/321)\)\.
* sonic\_bgp\_communities \- Fix incorrect \"facts\" handling for parsing of a BGP community list configured with an empty \"members\" list \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/319](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/319)\)\.
* sonic\_bgp\_neighbors \- Fix prefix\-limit issue \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/289](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/289)\)\.
* sonic\_interfaces \- Add warnings when speed and auto\_negotiate is configured at same time \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\.
* sonic\_interfaces \- Fix support for standard naming interfaces \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\.
* sonic\_interfaces \- Prevent configuring speed in port group interfaces \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/314)\)\.
* sonic\_stp \- Correct the commands list for STP delete state \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/302](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/302)\)\.
<a id="dellemc-openmanage-2"></a>
#### dellemc\.openmanage
* Fixed the issue for ignoring the environment variable <em class="title-reference">NO\_PROXY</em> earlier\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/554](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/554)\)
* For idrac\_certificates module\, the <em class="title-reference">email\_address</em> has been made as an optional parameter\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/582](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/582)\)\.
* Issue is fixed for deploying a new configuration on quick deploy slot when IPv6 is disabled\.\([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/533](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/533)\)
<a id="fortinet-fortimanager-3"></a>
#### fortinet\.fortimanager
* Added missing enum values for some arguments\.
* Change minimum required ansible\-core version to 2\.14\.0
* Fixed a bug where ansible may skip update incorrectly\.
* Support FortiManager 7\.0\.10
<a id="infoblox-nios-modules-1"></a>
#### infoblox\.nios\_modules
* Fixes environment variable max\_results using INFOBLOX\_MAX\_RESULTS [\#209](https\://github\.com/infobloxopen/infoblox\-ansible/pull/209)
* Fixes index error for transform fields in DTC LBDN \(auth\_zone and Pool\) and DTC POOL \(servers and monitors\) [\#209](https\://github\.com/infobloxopen/infoblox\-ansible/pull/209)
* Fixes typo for environment variable INFOBLOX\_WAPI\_VERSION [\#209](https\://github\.com/infobloxopen/infoblox\-ansible/pull/209)
<a id="netapp-ontap-3"></a>
#### netapp\.ontap
* na\_ontap\_nfs \- fix error with <em class="title-reference">windows</em> in REST for ONTAP 9\.10 or earlier\.
* na\_ontap\_security\_certificates \- fix error with ontap\_info returned in module output in REST\.
* na\_ontap\_snapshot\_policy \- fix issue with modifying snapshot policy in REST\.
* na\_ontap\_volume \- modified <em class="title-reference">type</em> to be case insensitive in REST\.
<a id="netbox-netbox-4"></a>
#### netbox\.netbox
* Improve error reporting for missing module \[\#1126\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1126](https\://github\.com/netbox\-community/ansible\_modules/pull/1126)\)
* nb\_inventory \- Fix API cache failure \[\#1111\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1111](https\://github\.com/netbox\-community/ansible\_modules/pull/1111)\)
* nb\_lookup \- Allow multiple IDs in nb\_lookup \[\#1042\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1042](https\://github\.com/netbox\-community/ansible\_modules/pull/1042)\)
<a id="purestorage-flasharray-3"></a>
#### purestorage\.flasharray
* purefa\_ds \- Fix issue with SDK returning empty data for data directory services even when it does exist
* purefa\_policy \- Fix incorrect call of psot instead of patch for NFS policies
<a id="purestorage-flashblade-3"></a>
#### purestorage\.flashblade
* purefb\_info \- Added missing object lock retention details if enabledd
<a id="vultr-cloud-1"></a>
#### vultr\.cloud
* Fixed an error while waiting for a specific state and the API returns an empty response\. \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/108](https\://github\.com/vultr/ansible\-collection\-vultr/issues/108)\)\.
* Fixed an issue with waiting for state \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/102](https\://github\.com/vultr/ansible\-collection\-vultr/pull/102)\)\.
* instance\_info \- Fixed the alias <code>name</code> being was used on the wrong argument\. \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/105](https\://github\.com/vultr/ansible\-collection\-vultr/issues/105)\)\.
* reserved\_ip \- Fixed an issue which caused the module to fail\, also enabled integration tests \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/92](https\://github\.com/vultr/ansible\-collection\-vultr/issues/92)\)\.
<a id="known-issues"></a>
### Known Issues
<a id="dellemc-openmanage-3"></a>
#### dellemc\.openmanage
* idrac\_firmware \- Issue\(279282\) \- This module does not support firmware update using HTTP\, HTTPS\, and FTP shares with authentication on iDRAC8\.
* idrac\_network\_attributes \- Issue\(279049\) \- If unsupported values are provided for the parameter <code>ome\_network\_attributes</code>\, then this module does not provide a correct error message\.
* ome\_device\_network\_services \- Issue\(212681\) \- The module does not provide a proper error message if unsupported values are provided for the following parameters\- port\_number\, community\_name\, max\_sessions\, max\_auth\_retries\, and idle\_timeout\.
* ome\_device\_power\_settings \- Issue\(212679\) \- The module displays the following message if the value provided for the parameter <code>power\_cap</code> is not within the supported range of 0 to 32767\, <code>Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI\.</code>
* ome\_device\_quick\_deploy \- Issue\(275231\) \- This module does not deploy a new configuration to a slot that has disabled IPv6\.
* ome\_diagnostics \- Issue\(279193\) \- Export of SupportAssist collection logs to the share location fails on OME version 4\.0\.0\.
* ome\_smart\_fabric\_uplink \- Issue\(186024\) \- The module supported by OpenManage Enterprise Modular\, however it does not allow the creation of multiple uplinks of the same name\. If an uplink is created using the same name as an existing uplink\, then the existing uplink is modified\.
<a id="new-plugins-2"></a>
### New Plugins
<a id="connection"></a>
#### Connection
* community\.general\.incus \- Run tasks in Incus instances via the Incus CLI\.
<a id="filter-2"></a>
#### Filter
* community\.general\.from\_ini \- Converts INI text input into a dictionary
* community\.general\.to\_ini \- Converts a dictionary to the INI file format
<a id="lookup"></a>
#### Lookup
* community\.general\.github\_app\_access\_token \- Obtain short\-lived Github App Access tokens
<a id="new-modules-2"></a>
### New Modules
<a id="check-point-mgmt-2"></a>
#### check\_point\.mgmt
* check\_point\.mgmt\.cp\_mgmt\_add\_central\_license \- Add central license\.
* check\_point\.mgmt\.cp\_mgmt\_central\_license\_facts \- Get central\-license objects facts on Checkpoint over Web Services API\.
* check\_point\.mgmt\.cp\_mgmt\_delete\_central\_license \- Delete central license\.
* check\_point\.mgmt\.cp\_mgmt\_distribute\_cloud\_licenses \- Distribute licenses to target CloudGuard gateways\.
* check\_point\.mgmt\.cp\_mgmt\_show\_cloud\_licenses\_usage \- Show attached licenses usage\.
* check\_point\.mgmt\.cp\_mgmt\_show\_ha\_status \- Retrieve domain high availability status\.
<a id="community-digitalocean-2"></a>
#### community\.digitalocean
* community\.digitalocean\.digital\_ocean\_project\_resource\_info \- Gather information about DigitalOcean Project Resources
<a id="community-docker-8"></a>
#### community\.docker
* community\.docker\.docker\_compose\_v2 \- Manage multi\-container Docker applications with Docker Compose CLI plugin
* community\.docker\.docker\_compose\_v2\_pull \- Pull a Docker compose project
* community\.docker\.docker\_image\_build \- Build Docker images using Docker buildx
* community\.docker\.docker\_image\_export \- Export \(archive\) Docker images
* community\.docker\.docker\_image\_pull \- Pull Docker images from registries
* community\.docker\.docker\_image\_push \- Push Docker images to registries
* community\.docker\.docker\_image\_remove \- Remove Docker images
* community\.docker\.docker\_image\_tag \- Tag Docker images with new names and/or tags
<a id="community-general-10"></a>
#### community\.general
* community\.general\.consul\_acl\_bootstrap \- Bootstrap ACLs in Consul
* community\.general\.consul\_auth\_method \- Manipulate Consul auth methods
* community\.general\.consul\_binding\_rule \- Manipulate Consul binding rules
* community\.general\.consul\_token \- Manipulate Consul tokens
* community\.general\.dnf\_config\_manager \- Enable or disable dnf repositories using config\-manager
* community\.general\.gitlab\_label \- Creates/updates/deletes GitLab Labels belonging to project or group\.
* community\.general\.gitlab\_milestone \- Creates/updates/deletes GitLab Milestones belonging to project or group
* community\.general\.keycloak\_component\_info \- Retrive component info in Keycloak
* community\.general\.keycloak\_realm\_rolemapping \- Allows administration of Keycloak realm role mappings into groups with the Keycloak API
* community\.general\.proxmox\_node\_info \- Retrieve information about one or more Proxmox VE nodes
* community\.general\.proxmox\_storage\_contents\_info \- List content from a Proxmox VE storage
<a id="dellemc-enterprise-sonic-2"></a>
#### dellemc\.enterprise\_sonic
* dellemc\.enterprise\_sonic\.sonic\_dhcp\_snooping \- Manage DHCP Snooping on SONiC
* dellemc\.enterprise\_sonic\.sonic\_pki \- Manages PKI attributes of Enterprise Sonic
* dellemc\.enterprise\_sonic\.sonic\_stp \- Manage STP configuration on SONiC
<a id="dellemc-openmanage-4"></a>
#### dellemc\.openmanage
* dellemc\.openmanage\.idrac\_license \- This module allows to import\, export\, and delete licenses on iDRAC\.
<a id="infoblox-nios-modules-2"></a>
#### infoblox\.nios\_modules
* infoblox\.nios\_modules\.nios\_dtc\_monitor\_http \- Configures the Infoblox NIOS DTC HTTP monitor\.
* infoblox\.nios\_modules\.nios\_dtc\_monitor\_icmp \- Configures the Infoblox NIOS DTC ICMP monitor
* infoblox\.nios\_modules\.nios\_dtc\_monitor\_pdp \- Configures the Infoblox NIOS DTC PDP monitor
* infoblox\.nios\_modules\.nios\_dtc\_monitor\_sip \- Configures the Infoblox NIOS DTC SIP monitor
* infoblox\.nios\_modules\.nios\_dtc\_monitor\_snmp \- Configures the Infoblox NIOS DTC SNMP monitor
* infoblox\.nios\_modules\.nios\_dtc\_monitor\_tcp \- Configures the Infoblox NIOS DTC TCP monitor
* infoblox\.nios\_modules\.nios\_dtc\_topology \- Configures the Infoblox NIOS DTC Topology
<a id="netapp-ontap-4"></a>
#### netapp\.ontap
* netapp\.ontap\.na\_ontap\_cifs\_unix\_symlink\_mapping \- NetApp ONTAP module to manage UNIX symbolic link mapping for CIFS clients\.
* netapp\.ontap\.na\_ontap\_cli\_timeout \- NetApp ONTAP module to set the CLI inactivity timeout value\.
* netapp\.ontap\.na\_ontap\_snmp\_config \- NetApp ONTAP module to modify SNMP configuration\.
<a id="purestorage-flashblade-4"></a>
#### purestorage\.flashblade
* purestorage\.flashblade\.purefb\_hardware \- Manage FlashBlade Hardware
<a id="vultr-cloud-2"></a>
#### vultr\.cloud
* vultr\.cloud\.object\_storage \- Manages object storages on Vultr
<a id="unchanged-collections-2"></a>
### Unchanged Collections
* ansible\.netcommon \(still version 5\.3\.0\)
* ansible\.posix \(still version 1\.5\.4\)
* ansible\.utils \(still version 2\.12\.0\)
* ansible\.windows \(still version 2\.2\.0\)
* arista\.eos \(still version 6\.2\.2\)
* azure\.azcollection \(still version 1\.19\.0\)
* chocolatey\.chocolatey \(still version 1\.5\.1\)
* cisco\.aci \(still version 2\.8\.0\)
* cisco\.asa \(still version 4\.0\.3\)
* cisco\.ios \(still version 5\.3\.0\)
* cisco\.iosxr \(still version 6\.1\.1\)
* cisco\.mso \(still version 2\.5\.0\)
* cisco\.nxos \(still version 5\.3\.0\)
* cisco\.ucs \(still version 1\.10\.0\)
* cloud\.common \(still version 2\.1\.4\)
* cloudscale\_ch\.cloud \(still version 2\.3\.1\)
* community\.azure \(still version 2\.0\.0\)
* community\.ciscosmb \(still version 1\.0\.7\)
* community\.libvirt \(still version 1\.3\.0\)
* community\.mongodb \(still version 1\.6\.3\)
* community\.mysql \(still version 3\.8\.0\)
* community\.network \(still version 5\.0\.2\)
* community\.okd \(still version 2\.3\.0\)
* community\.proxysql \(still version 1\.5\.1\)
* community\.rabbitmq \(still version 1\.2\.3\)
* community\.sap \(still version 2\.0\.0\)
* community\.sops \(still version 1\.6\.7\)
* community\.windows \(still version 2\.1\.0\)
* containers\.podman \(still version 1\.11\.0\)
* cyberark\.conjur \(still version 1\.2\.2\)
* dellemc\.powerflex \(still version 2\.1\.0\)
* dellemc\.unity \(still version 1\.7\.1\)
* f5networks\.f5\_modules \(still version 1\.27\.1\)
* fortinet\.fortios \(still version 2\.3\.4\)
* frr\.frr \(still version 2\.0\.2\)
* gluster\.gluster \(still version 1\.0\.2\)
* google\.cloud \(still version 1\.3\.0\)
* hetzner\.hcloud \(still version 2\.4\.1\)
* hpe\.nimble \(still version 1\.1\.4\)
* ibm\.qradar \(still version 2\.1\.0\)
* ibm\.spectrum\_virtualize \(still version 2\.0\.0\)
* infinidat\.infinibox \(still version 1\.3\.12\)
* inspur\.ispim \(still version 2\.2\.0\)
* inspur\.sm \(still version 2\.3\.0\)
* junipernetworks\.junos \(still version 5\.3\.1\)
* kubernetes\.core \(still version 2\.4\.0\)
* lowlydba\.sqlserver \(still version 2\.2\.2\)
* microsoft\.ad \(still version 1\.4\.1\)
* netapp\.aws \(still version 21\.7\.1\)
* netapp\.azure \(still version 21\.10\.1\)
* netapp\.cloudmanager \(still version 21\.22\.1\)
* netapp\.elementsw \(still version 21\.7\.0\)
* netapp\.storagegrid \(still version 21\.11\.1\)
* netapp\.um\_info \(still version 21\.8\.1\)
* netapp\_eseries\.santricity \(still version 1\.4\.0\)
* ngine\_io\.cloudstack \(still version 2\.3\.0\)
* ngine\_io\.exoscale \(still version 1\.1\.0\)
* openstack\.cloud \(still version 2\.2\.0\)
* openvswitch\.openvswitch \(still version 2\.1\.1\)
* ovirt\.ovirt \(still version 3\.2\.0\)
* purestorage\.fusion \(still version 1\.6\.0\)
* sensu\.sensu\_go \(still version 1\.14\.0\)
* splunk\.es \(still version 2\.1\.2\)
* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\)
* telekom\_mms\.icinga\_director \(still version 1\.35\.0\)
* theforeman\.foreman \(still version 3\.15\.0\)
* vmware\.vmware\_rest \(still version 2\.3\.1\)
* vyos\.vyos \(still version 4\.1\.0\)
* wti\.remote \(still version 1\.0\.5\)
<a id="v9-1-0"></a>
## v9\.1\.0
- <a href="#release-summary-3">Release Summary</a>
- <a href="#ansible-core-8">Ansible\-core</a>
- <a href="#changed-collections-3">Changed Collections</a>
- <a href="#minor-changes-3">Minor Changes</a>
- <a href="#ansible-utils">ansible\.utils</a>
- <a href="#ansible-windows-2">ansible\.windows</a>
- <a href="#cisco-ios">cisco\.ios</a>
- <a href="#cisco-ise-2">cisco\.ise</a>
- <a href="#cisco-nxos">cisco\.nxos</a>
- <a href="#community-general-11">community\.general</a>
- <a href="#community-routeros-4">community\.routeros</a>
- <a href="#community-windows-2">community\.windows</a>
- <a href="#community-zabbix-2">community\.zabbix</a>
- <a href="#dellemc-openmanage-5">dellemc\.openmanage</a>
- <a href="#dellemc-powerflex-2">dellemc\.powerflex</a>
- <a href="#f5networks-f5-modules-1">f5networks\.f5\_modules</a>
- <a href="#google-cloud">google\.cloud</a>
- <a href="#hetzner-hcloud-2">hetzner\.hcloud</a>
- <a href="#inspur-ispim">inspur\.ispim</a>
- <a href="#microsoft-ad-2">microsoft\.ad</a>
- <a href="#purestorage-flasharray-4">purestorage\.flasharray</a>
- <a href="#telekom-mms-icinga-director">telekom\_mms\.icinga\_director</a>
- <a href="#theforeman-foreman">theforeman\.foreman</a>
- <a href="#breaking-changes--porting-guide">Breaking Changes / Porting Guide</a>
- <a href="#ansible-core-9">Ansible\-core</a>
- <a href="#security-fixes-2">Security Fixes</a>
- <a href="#ansible-core-10">Ansible\-core</a>
- <a href="#bugfixes-3">Bugfixes</a>
- <a href="#ansible-core-11">Ansible\-core</a>
- <a href="#ansible-windows-3">ansible\.windows</a>
- <a href="#arista-eos">arista\.eos</a>
- <a href="#cisco-ios-1">cisco\.ios</a>
- <a href="#cisco-iosxr">cisco\.iosxr</a>
- <a href="#cisco-ise-3">cisco\.ise</a>
- <a href="#cisco-meraki-2">cisco\.meraki</a>
- <a href="#community-crypto-5">community\.crypto</a>
- <a href="#community-dns-6">community\.dns</a>
- <a href="#community-general-12">community\.general</a>
- <a href="#community-vmware-3">community\.vmware</a>
- <a href="#community-windows-3">community\.windows</a>
- <a href="#community-zabbix-3">community\.zabbix</a>
- <a href="#dellemc-openmanage-6">dellemc\.openmanage</a>
- <a href="#hetzner-hcloud-3">hetzner\.hcloud</a>
- <a href="#junipernetworks-junos">junipernetworks\.junos</a>
- <a href="#microsoft-ad-3">microsoft\.ad</a>
- <a href="#netapp-ontap-5">netapp\.ontap</a>
- <a href="#purestorage-flasharray-5">purestorage\.flasharray</a>
- <a href="#splunk-es">splunk\.es</a>
- <a href="#theforeman-foreman-1">theforeman\.foreman</a>
- <a href="#vultr-cloud-3">vultr\.cloud</a>
- <a href="#known-issues-1">Known Issues</a>
- <a href="#dellemc-openmanage-7">dellemc\.openmanage</a>
- <a href="#new-plugins-3">New Plugins</a>
- <a href="#filter-3">Filter</a>
- <a href="#lookup-1">Lookup</a>
- <a href="#test">Test</a>
- <a href="#new-modules-3">New Modules</a>
- <a href="#cisco-ios-2">cisco\.ios</a>
- <a href="#community-general-13">community\.general</a>
- <a href="#purestorage-flasharray-6">purestorage\.flasharray</a>
- <a href="#unchanged-collections-3">Unchanged Collections</a>
<a id="release-summary-3"></a>
### Release Summary
Release Date\: 2023\-12\-05
[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html)
<a id="ansible-core-8"></a>
### Ansible\-core
Ansible 9\.1\.0 contains ansible\-core version 2\.16\.1\.
This is a newer version than version 2\.16\.0 contained in the previous Ansible release\.
The changes are reported in the combined changelog below\.
<a id="changed-collections-3"></a>
### Changed Collections
If not mentioned explicitly\, the changes are reported in the combined changelog below\.
| Collection | Ansible 9.0.1 | Ansible 9.1.0 | Notes |
| --------------------------- | ------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| ansible.utils | 2.11.0 | 2.12.0 | |
| ansible.windows | 2.1.0 | 2.2.0 | |
| arista.eos | 6.2.1 | 6.2.2 | |
| awx.awx | 23.3.1 | 23.5.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| cisco.dnac | 6.7.6 | 6.8.1 | The collection did not have a changelog in this version. |
| cisco.ios | 5.2.0 | 5.3.0 | |
| cisco.iosxr | 6.1.0 | 6.1.1 | |
| cisco.ise | 2.5.16 | 2.6.2 | |
| cisco.meraki | 2.16.14 | 2.16.16 | |
| cisco.nxos | 5.2.1 | 5.3.0 | |
| community.crypto | 2.16.0 | 2.16.1 | |
| community.dns | 2.6.3 | 2.6.4 | |
| community.general | 8.0.2 | 8.1.0 | |
| community.routeros | 2.10.0 | 2.11.0 | |
| community.vmware | 4.0.0 | 4.0.1 | |
| community.windows | 2.0.0 | 2.1.0 | |
| community.zabbix | 2.1.0 | 2.2.0 | |
| dellemc.openmanage | 8.4.0 | 8.5.0 | |
| dellemc.powerflex | 2.0.1 | 2.1.0 | |
| f5networks.f5_modules | 1.27.0 | 1.27.1 | |
| google.cloud | 1.2.0 | 1.3.0 | |
| hetzner.hcloud | 2.3.0 | 2.4.1 | |
| inspur.ispim | 2.1.0 | 2.2.0 | |
| junipernetworks.junos | 5.3.0 | 5.3.1 | |
| microsoft.ad | 1.3.0 | 1.4.1 | |
| netapp.ontap | 22.8.2 | 22.8.3 | |
| openstack.cloud | 2.1.0 | 2.2.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| purestorage.flasharray | 1.22.0 | 1.24.0 | |
| splunk.es | 2.1.0 | 2.1.2 | |
| telekom_mms.icinga_director | 1.34.1 | 1.35.0 | |
| theforeman.foreman | 3.14.0 | 3.15.0 | |
| vultr.cloud | 1.10.0 | 1.10.1 | |
<a id="minor-changes-3"></a>
### Minor Changes
<a id="ansible-utils"></a>
#### ansible\.utils
* Fact\_diff filter plugin \- Add fact\_diff filter plugin\. \([https\://github\.com/ansible\-collections/ansible\.utils/issues/78](https\://github\.com/ansible\-collections/ansible\.utils/issues/78)\)\.
<a id="ansible-windows-2"></a>
#### ansible\.windows
* Set minimum supported Ansible version to 2\.14 to align with the versions still supported by Ansible\.
* win\_share \- Added a new param called <code>scope\_name</code> that allows file shares to be scoped for Windows Server failover cluster roles\.
<a id="cisco-ios"></a>
#### cisco\.ios
* Added ios\_evpn\_evi resource module\.
* Added ios\_evpn\_global resource module\.
* Added ios\_vxlan\_vtep resource module\.
* Fixed ios\_evpn\_evi resource module integration test failure \- code to remove VLAN config\.
* ios\_bgp\_address\_family \- Fixed an issue with inherit peer\-policy CLI
* ios\_bgp\_address\_family \- added \'advertise\' key
* ios\_vlans \- added vlan config CLI feature\.
* ios\_vrf \- added MDT related keys
<a id="cisco-ise-2"></a>
#### cisco\.ise
* Services included configuration\, edda\, dataconnect\_services\, subscriber\.
<a id="cisco-nxos"></a>
#### cisco\.nxos
* nxos\_config \- Relax restrictions on I\(src\) parameter so it can be used more like I\(lines\)\. \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/89](https\://github\.com/ansible\-collections/cisco\.nxos/issues/89)\)\.
<a id="community-general-11"></a>
#### community\.general
* bitwarden lookup plugin \- when looking for items using an item ID\, the item is now accessed directly with <code>bw get item</code> instead of searching through all items\. This doubles the lookup speed \([https\://github\.com/ansible\-collections/community\.general/pull/7468](https\://github\.com/ansible\-collections/community\.general/pull/7468)\)\.
* elastic callback plugin \- close elastic client to not leak resources \([https\://github\.com/ansible\-collections/community\.general/pull/7517](https\://github\.com/ansible\-collections/community\.general/pull/7517)\)\.
* git\_config \- allow multiple git configs for the same name with the new <code>add\_mode</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\.
* git\_config \- the <code>after</code> and <code>before</code> fields in the <code>diff</code> of the return value can be a list instead of a string in case more configs with the same key are affected \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\.
* git\_config \- when a value is unset\, all configs with the same key are unset \([https\://github\.com/ansible\-collections/community\.general/pull/7260](https\://github\.com/ansible\-collections/community\.general/pull/7260)\)\.
* gitlab modules \- add <code>ca\_path</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7472](https\://github\.com/ansible\-collections/community\.general/pull/7472)\)\.
* gitlab modules \- remove duplicate <code>gitlab</code> package check \([https\://github\.com/ansible\-collections/community\.general/pull/7486](https\://github\.com/ansible\-collections/community\.general/pull/7486)\)\.
* gitlab\_runner \- add support for new runner creation workflow \([https\://github\.com/ansible\-collections/community\.general/pull/7199](https\://github\.com/ansible\-collections/community\.general/pull/7199)\)\.
* ipa\_config \- adds <code>passkey</code> choice to <code>ipauserauthtype</code> parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7588](https\://github\.com/ansible\-collections/community\.general/pull/7588)\)\.
* ipa\_sudorule \- adds options to include denied commands or command groups \([https\://github\.com/ansible\-collections/community\.general/pull/7415](https\://github\.com/ansible\-collections/community\.general/pull/7415)\)\.
* ipa\_user \- adds <code>idp</code> and <code>passkey</code> choice to <code>ipauserauthtype</code> parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7589](https\://github\.com/ansible\-collections/community\.general/pull/7589)\)\.
* irc \- add <code>validate\_certs</code> option\, and rename <code>use\_ssl</code> to <code>use\_tls</code>\, while keeping <code>use\_ssl</code> as an alias\. The default value for <code>validate\_certs</code> is <code>false</code> for backwards compatibility\. We recommend to every user of this module to explicitly set <code>use\_tls\=true</code> and <em class="title-reference">validate\_certs\=true\`</em> whenever possible\, especially when communicating to IRC servers over the internet \([https\://github\.com/ansible\-collections/community\.general/pull/7550](https\://github\.com/ansible\-collections/community\.general/pull/7550)\)\.
* keycloak module utils \- expose error message from Keycloak server for HTTP errors in some specific situations \([https\://github\.com/ansible\-collections/community\.general/pull/7645](https\://github\.com/ansible\-collections/community\.general/pull/7645)\)\.
* keycloak\_user\_federation \- add option for <code>krbPrincipalAttribute</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7538](https\://github\.com/ansible\-collections/community\.general/pull/7538)\)\.
* lvol \- change <code>pvs</code> argument type to list of strings \([https\://github\.com/ansible\-collections/community\.general/pull/7676](https\://github\.com/ansible\-collections/community\.general/pull/7676)\, [https\://github\.com/ansible\-collections/community\.general/issues/7504](https\://github\.com/ansible\-collections/community\.general/issues/7504)\)\.
* lxd connection plugin \- tighten the detection logic for lxd <code>Instance not found</code> errors\, to avoid false detection on unrelated errors such as <code>/usr/bin/python3\: not found</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7521](https\://github\.com/ansible\-collections/community\.general/pull/7521)\)\.
* netcup\_dns \- adds support for record types <code>OPENPGPKEY</code>\, <code>SMIMEA</code>\, and <code>SSHFP</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7489](https\://github\.com/ansible\-collections/community\.general/pull/7489)\)\.
* nmcli \- add support for new connection type <code>loopback</code> \([https\://github\.com/ansible\-collections/community\.general/issues/6572](https\://github\.com/ansible\-collections/community\.general/issues/6572)\)\.
* nmcli \- allow for <code>infiniband</code> slaves of <code>bond</code> interface types \([https\://github\.com/ansible\-collections/community\.general/pull/7569](https\://github\.com/ansible\-collections/community\.general/pull/7569)\)\.
* nmcli \- allow for the setting of <code>MTU</code> for <code>infiniband</code> and <code>bond</code> interface types \([https\://github\.com/ansible\-collections/community\.general/pull/7499](https\://github\.com/ansible\-collections/community\.general/pull/7499)\)\.
* onepassword lookup plugin \- support 1Password Connect with the opv2 client by setting the connect\_host and connect\_token parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7116](https\://github\.com/ansible\-collections/community\.general/pull/7116)\)\.
* onepassword\_raw lookup plugin \- support 1Password Connect with the opv2 client by setting the connect\_host and connect\_token parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7116](https\://github\.com/ansible\-collections/community\.general/pull/7116)\)
* passwordstore \- adds <code>timestamp</code> and <code>preserve</code> parameters to modify the stored password format \([https\://github\.com/ansible\-collections/community\.general/pull/7426](https\://github\.com/ansible\-collections/community\.general/pull/7426)\)\.
* proxmox \- adds <code>template</code> value to the <code>state</code> parameter\, allowing conversion of container to a template \([https\://github\.com/ansible\-collections/community\.general/pull/7143](https\://github\.com/ansible\-collections/community\.general/pull/7143)\)\.
* proxmox \- adds <code>update</code> parameter\, allowing update of an already existing containers configuration \([https\://github\.com/ansible\-collections/community\.general/pull/7540](https\://github\.com/ansible\-collections/community\.general/pull/7540)\)\.
* proxmox inventory plugin \- adds an option to exclude nodes from the dynamic inventory generation\. The new setting is optional\, not using this option will behave as usual \([https\://github\.com/ansible\-collections/community\.general/issues/6714](https\://github\.com/ansible\-collections/community\.general/issues/6714)\, [https\://github\.com/ansible\-collections/community\.general/pull/7461](https\://github\.com/ansible\-collections/community\.general/pull/7461)\)\.
* proxmox\_disk \- add ability to manipulate CD\-ROM drive \([https\://github\.com/ansible\-collections/community\.general/pull/7495](https\://github\.com/ansible\-collections/community\.general/pull/7495)\)\.
* proxmox\_kvm \- adds <code>template</code> value to the <code>state</code> parameter\, allowing conversion of a VM to a template \([https\://github\.com/ansible\-collections/community\.general/pull/7143](https\://github\.com/ansible\-collections/community\.general/pull/7143)\)\.
* proxmox\_kvm \- support the <code>hookscript</code> parameter \([https\://github\.com/ansible\-collections/community\.general/issues/7600](https\://github\.com/ansible\-collections/community\.general/issues/7600)\)\.
* proxmox\_ostype \- it is now possible to specify the <code>ostype</code> when creating an LXC container \([https\://github\.com/ansible\-collections/community\.general/pull/7462](https\://github\.com/ansible\-collections/community\.general/pull/7462)\)\.
* proxmox\_vm\_info \- add ability to retrieve configuration info \([https\://github\.com/ansible\-collections/community\.general/pull/7485](https\://github\.com/ansible\-collections/community\.general/pull/7485)\)\.
* redfish\_info \- adding the <code>BootProgress</code> property when getting <code>Systems</code> info \([https\://github\.com/ansible\-collections/community\.general/pull/7626](https\://github\.com/ansible\-collections/community\.general/pull/7626)\)\.
* ssh\_config \- adds <code>controlmaster</code>\, <code>controlpath</code> and <code>controlpersist</code> parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7456](https\://github\.com/ansible\-collections/community\.general/pull/7456)\)\.
<a id="community-routeros-4"></a>
#### community\.routeros
* api\_info\, api\_modify \- add missing DoH parameters <code>doh\-max\-concurrent\-queries</code>\, <code>doh\-max\-server\-connections</code>\, and <code>doh\-timeout</code> to the <code>ip dns</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/230](https\://github\.com/ansible\-collections/community\.routeros/issues/230)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/235](https\://github\.com/ansible\-collections/community\.routeros/pull/235)\)
* api\_info\, api\_modify \- add missing parameters <code>address\-list</code>\, <code>address\-list\-timeout</code>\, <code>randomise\-ports</code>\, and <code>realm</code> to subpaths of the <code>ip firewall</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/236](https\://github\.com/ansible\-collections/community\.routeros/issues/236)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/237](https\://github\.com/ansible\-collections/community\.routeros/pull/237)\)\.
* api\_info\, api\_modify \- mark the <code>interface wireless</code> parameter <code>running</code> as read\-only \([https\://github\.com/ansible\-collections/community\.routeros/pull/233](https\://github\.com/ansible\-collections/community\.routeros/pull/233)\)\.
* api\_info\, api\_modify \- set the default value to <code>false</code> for the <code>disabled</code> parameter in some more paths where it can be seen in the documentation \([https\://github\.com/ansible\-collections/community\.routeros/pull/237](https\://github\.com/ansible\-collections/community\.routeros/pull/237)\)\.
* api\_modify \- add missing <code>comment</code> attribute to <code>/routing id</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\.
* api\_modify \- add missing attributes to the <code>routing bgp connection</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\.
* api\_modify \- add versioning to the <code>/tool e\-mail</code> path \(RouterOS 7\.12 release\) \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\.
* api\_modify \- make <code>/ip traffic\-flow target</code> a multiple value attribute \([https\://github\.com/ansible\-collections/community\.routeros/pull/234](https\://github\.com/ansible\-collections/community\.routeros/pull/234)\)\.
<a id="community-windows-2"></a>
#### community\.windows
* Set minimum supported Ansible version to 2\.14 to align with the versions still supported by Ansible\.
<a id="community-zabbix-2"></a>
#### community\.zabbix
* Added zabbix\_group\_events\_info module
* action module \- Added notify\_if\_canceled property
* agent and proxy roles \- Set default <em class="title-reference">zabbix\_api\_server\_port</em> to 80 or 443 based on <em class="title-reference">zabbix\_api\_use\_ssl</em>
* agent role \- Removed duplicative Windows agent task
* agent role \- Standardized default yum priority to 99
* all roles \- Re\-added ability to override Debian repo source
* all roles \- Updated Debian repository format to 822 standard
* various \- updated testing modules
* various \- updated to fully qualified module names
* zabbix agent \- Added capability to add additional configuration includes
* zabbix\_api\_info module added
* zabbix\_user module \- add current\_passwd optional parameter to enable password updating of the currently logged in user \([https\://www\.zabbix\.com/documentation/6\.4/en/manual/api/reference/user/update](https\://www\.zabbix\.com/documentation/6\.4/en/manual/api/reference/user/update)\)
<a id="dellemc-openmanage-5"></a>
#### dellemc\.openmanage
* Ansible lint issues are fixed for the collections\.
* Module <code>redfish\_storage\_volume</code> is enhanced to support reboot options and job tracking operation\.
<a id="dellemc-powerflex-2"></a>
#### dellemc\.powerflex
* Added support for PowerFlex Denver version\(4\.5\.x\) to TB and Config role\.
<a id="f5networks-f5-modules-1"></a>
#### f5networks\.f5\_modules
* bigiq\_device\_discovery \- Changes in documentation related to Provider block
<a id="google-cloud"></a>
#### google\.cloud
* anisble\-test \- integration tests are now run against 2\.14\.0 and 2\.15\.0
* ansible \- 2\.14\.0 is now the minimum version supported
* ansible\-lint \- fixed over a thousand reported errors
* ansible\-lint \- upgraded to 6\.22
* ansible\-test \- add support for GCP application default credentials \([https\://github\.com/ansible\-collections/google\.cloud/issues/359](https\://github\.com/ansible\-collections/google\.cloud/issues/359)\)\.
* gcp\_serviceusage\_service \- added backoff when checking for operation completion\.
* gcp\_serviceusage\_service \- use alloyb API for the integration test as spanner conflicts with other tests
* gcp\_sql\_ssl\_cert \- made sha1\_fingerprint optional\, which enables resource creation
* gcp\_storage\_default\_object\_acl \- removed non\-existent fields\; the resource is not usable\.
<a id="hetzner-hcloud-2"></a>
#### hetzner\.hcloud
* Add the <em class="title-reference">hetzner\.hcloud\.all</em> group to configure all the modules using <em class="title-reference">module\_defaults</em>\.
* Allow to set the <em class="title-reference">api\_endpoint</em> module argument using the <em class="title-reference">HCLOUD\_ENDPOINT</em> environment variable\.
* Removed the <em class="title-reference">hcloud\_</em> prefix from all modules names\, e\.g\. <em class="title-reference">hetzner\.hcloud\.hcloud\_firewall</em> was renamed to <em class="title-reference">hetzner\.hcloud\.firewall</em>\. Old module names will continue working\.
* Renamed the <em class="title-reference">endpoint</em> module argument to <em class="title-reference">api\_endpoint</em>\, backward compatibility is maintained using an alias\.
* hcloud inventory \- Add the <em class="title-reference">api\_endpoint</em> option\.
* hcloud inventory \- Deprecate the <em class="title-reference">api\_token\_env</em> option\, suggest using a lookup plugin \(<em class="title-reference">\{\{ lookup\(\'ansible\.builtin\.env\'\, \'YOUR\_ENV\_VAR\'\) \}\}</em>\) or use the well\-known <em class="title-reference">HCLOUD\_TOKEN</em> environment variable name\.
* hcloud inventory \- Rename the <em class="title-reference">token\_env</em> option to <em class="title-reference">api\_token\_env</em>\, use aliases for backward compatibility\.
* hcloud inventory \- Rename the <em class="title-reference">token</em> option to <em class="title-reference">api\_token</em>\, use aliases for backward compatibility\.
<a id="inspur-ispim"></a>
#### inspur\.ispim
* Modify edit\_smtp\_com and add description information\.
<a id="microsoft-ad-2"></a>
#### microsoft\.ad
* Make <code>name</code> an optional parameter for the AD modules\. Either <code>name</code> or <code>identity</code> needs to be set with their respective behaviours\. If creating a new AD user and only <code>identity</code> is set\, that will be the value used for the name of the object\.
* Set minimum supported Ansible version to 2\.14 to align with the versions still supported by Ansible\.
* object\_info \- Add ActiveDirectory module import
<a id="purestorage-flasharray-4"></a>
#### purestorage\.flasharray
* purefa\_dns \- Added facility to add a CA certifcate to management DNS and check peer\.
* purefa\_info \- Add NSID value for NVMe namespace in <em class="title-reference">hosts</em> response
* purefa\_info \- Subset <em class="title-reference">pgroups</em> now also provides a new dict called <em class="title-reference">deleted\_pgroups</em>
* purefa\_offload \- Remove <em class="title-reference">nfs</em> as an option when Purity//FA 6\.6\.0 or higher is detected
* purefa\_snap \- Add support for suffix on remote offload snapshots
<a id="telekom-mms-icinga-director"></a>
#### telekom\_mms\.icinga\_director
* Extended docs and examples for multiple assign\_filter conditions \([https\://github\.com/telekom\-mms/ansible\-collection\-icinga\-director/pull/227](https\://github\.com/telekom\-mms/ansible\-collection\-icinga\-director/pull/227)\)
<a id="theforeman-foreman"></a>
#### theforeman\.foreman
* content\_view\_publish role \- allow passing <code>async</code> and <code>poll</code> to the module \([https\://github\.com/theforeman/foreman\-ansible\-modules/pull/1676](https\://github\.com/theforeman/foreman\-ansible\-modules/pull/1676)\)
* convert2rhel role \- install <code>convert2rhel</code> from <code>cdn\-public\.redhat\.com</code>\, dropping the requirement of a custom CA cert
<a id="breaking-changes--porting-guide"></a>
### Breaking Changes / Porting Guide
<a id="ansible-core-9"></a>
#### Ansible\-core
* assert \- Nested templating may result in an inability for the conditional to be evaluated\. See the porting guide for more information\.
<a id="security-fixes-2"></a>
### Security Fixes
<a id="ansible-core-10"></a>
#### Ansible\-core
* templating \- Address issues where internal templating can cause unsafe variables to lose their unsafe designation \(CVE\-2023\-5764\)
<a id="bugfixes-3"></a>
### Bugfixes
<a id="ansible-core-11"></a>
#### Ansible\-core
* Fix issue where an <code>include\_tasks</code> handler in a role was not able to locate a file in <code>tasks/</code> when <code>tasks\_from</code> was used as a role entry point and <code>main\.yml</code> was not present \([https\://github\.com/ansible/ansible/issues/82241](https\://github\.com/ansible/ansible/issues/82241)\)
* Plugin loader does not dedupe nor cache filter/test plugins by file basename\, but full path name\.
* Restoring the ability of filters/tests can have same file base name but different tests/filters defined inside\.
* ansible\-pull now will expand relative paths for the <code>\-d\|\-\-directory</code> option is now expanded before use\.
* ansible\-pull will now correctly handle become and connection password file options for ansible\-playbook\.
* flush\_handlers \- properly handle a handler failure in a nested block when <code>force\_handlers</code> is set \([http\://github\.com/ansible/ansible/issues/81532](http\://github\.com/ansible/ansible/issues/81532)\)
* module no\_log will no longer affect top level booleans\, for example <code>no\_log\_module\_parameter\=\'a\'</code> will no longer hide <code>changed\=False</code> as a \'no log value\' \(matches \'a\'\)\.
* role params now have higher precedence than host facts again\, matching documentation\, this had unintentionally changed in 2\.15\.
* wait\_for should not handle \'non mmapable files\' again\.
<a id="ansible-windows-3"></a>
#### ansible\.windows
* Process\.cs \- Fix up the <code>ProcessCreationFlags\.CreateProtectedProcess</code> typo in the enum name
* setup \- Fix up typo <code>collection \-\> collect</code> when a timeout occurred during a fact subset
* win\_acl \- Fix broken path in case of volume junction
* win\_service\_info \- Warn and not fail if ERROR\_FILE\_NOT\_FOUND when trying to query a service \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/556](https\://github\.com/ansible\-collections/ansible\.windows/issues/556)
* win\_updates \- Fix up typo for Download progress event messages \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/554](https\://github\.com/ansible\-collections/ansible\.windows/issues/554)
<a id="arista-eos"></a>
#### arista\.eos
* correct the reference of string attribute \'reference\_bandwith\'\.
<a id="cisco-ios-1"></a>
#### cisco\.ios
* Updated the ios\_ping ping module to support size param\.
* ios\_acls \- make sequence optional for rendering of standard acls\.
* ios\_bgp\_global \- Explicitly add neighbor address to every parser\.
* ios\_bgp\_global \- remote\_as not mendatory for neighbors\.
* ios\_vrf \- added MDT related keys
<a id="cisco-iosxr"></a>
#### cisco\.iosxr
* Fix issue in gathered state of interfaces and l3\_interfaces RMs\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/452](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/452)\, [https\://github\.com/ansible\-collections/cisco\.iosxr/issues/451](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/451)\)
<a id="cisco-ise-3"></a>
#### cisco\.ise
* Added missing import re in endpoint module
* Updated to use ciscoisesdk v2\.1\.1 or newer fixing ciscoisesdk problem\.
<a id="cisco-meraki-2"></a>
#### cisco\.meraki
* Adding <em class="title-reference">network\_clients\_info</em> and <em class="title-reference">network\_client\_info</em>\.
* Adding <em class="title-reference">platform\_meraki\.rst</em> to docs\.
* Adding <em class="title-reference">product\_types</em> for update request on networks\.
* Idempotency bugs fixed in devices\_switch\_ports\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_claim\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_clone\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_inventory\_claim\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_inventory\_onboarding\_cloud\_monitoring\_export\_events\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_inventory\_onboarding\_cloud\_monitoring\_prepare\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_inventory\_release\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_licenses\_assign\_seats\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_licenses\_move\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_licenses\_move\_seats\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_licenses\_renew\_seats\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_licensing\_coterm\_licenses\_move\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_networks\_combine\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_switch\_devices\_clone\.
* Parameter\`organization\_id\` change to <em class="title-reference">organizationId</em> organizations\_users\.
* Removing logs in meraki\.py\.
* networks\_syslog\_servers is now just an Update action to API\.
<a id="community-crypto-5"></a>
#### community\.crypto
* acme\_\* modules \- also retry requests in case of socket errors\, bad status lines\, and unknown connection errors\; improve error messages in these cases \([https\://github\.com/ansible\-collections/community\.crypto/issues/680](https\://github\.com/ansible\-collections/community\.crypto/issues/680)\)\.
<a id="community-dns-6"></a>
#### community\.dns
* Update Public Suffix List\.
* nameserver\_record\_info \- fix crash when more than one record is retrieved \([https\://github\.com/ansible\-collections/community\.dns/pull/172](https\://github\.com/ansible\-collections/community\.dns/pull/172)\)\.
<a id="community-general-12"></a>
#### community\.general
* apt\-rpm \- the module did not upgrade packages if a newer version exists\. Now the package will be reinstalled if the candidate is newer than the installed version \([https\://github\.com/ansible\-collections/community\.general/issues/7414](https\://github\.com/ansible\-collections/community\.general/issues/7414)\)\.
* cloudflare\_dns \- fix Cloudflare lookup of SHFP records \([https\://github\.com/ansible\-collections/community\.general/issues/7652](https\://github\.com/ansible\-collections/community\.general/issues/7652)\)\.
* interface\_files \- also consider <code>address\_family</code> when changing <code>option\=method</code> \([https\://github\.com/ansible\-collections/community\.general/issues/7610](https\://github\.com/ansible\-collections/community\.general/issues/7610)\, [https\://github\.com/ansible\-collections/community\.general/pull/7612](https\://github\.com/ansible\-collections/community\.general/pull/7612)\)\.
* irc \- replace <code>ssl\.wrap\_socket</code> that was removed from Python 3\.12 with code for creating a proper SSL context \([https\://github\.com/ansible\-collections/community\.general/pull/7542](https\://github\.com/ansible\-collections/community\.general/pull/7542)\)\.
* keycloak\_\* \- fix Keycloak API client to quote <code>/</code> properly \([https\://github\.com/ansible\-collections/community\.general/pull/7641](https\://github\.com/ansible\-collections/community\.general/pull/7641)\)\.
* keycloak\_authz\_permission \- resource payload variable for scope\-based permission was constructed as a string\, when it needs to be a list\, even for a single item \([https\://github\.com/ansible\-collections/community\.general/issues/7151](https\://github\.com/ansible\-collections/community\.general/issues/7151)\)\.
* log\_entries callback plugin \- replace <code>ssl\.wrap\_socket</code> that was removed from Python 3\.12 with code for creating a proper SSL context \([https\://github\.com/ansible\-collections/community\.general/pull/7542](https\://github\.com/ansible\-collections/community\.general/pull/7542)\)\.
* lvol \- test for output messages in both <code>stdout</code> and <code>stderr</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7601](https\://github\.com/ansible\-collections/community\.general/pull/7601)\, [https\://github\.com/ansible\-collections/community\.general/issues/7182](https\://github\.com/ansible\-collections/community\.general/issues/7182)\)\.
* onepassword lookup plugin \- field and section titles are now case insensitive when using op CLI version two or later\. This matches the behavior of version one \([https\://github\.com/ansible\-collections/community\.general/pull/7564](https\://github\.com/ansible\-collections/community\.general/pull/7564)\)\.
* redhat\_subscription \- use the D\-Bus registration on RHEL 7 only on 7\.4 and
greater\; older versions of RHEL 7 do not have it
\([https\://github\.com/ansible\-collections/community\.general/issues/7622](https\://github\.com/ansible\-collections/community\.general/issues/7622)\,
[https\://github\.com/ansible\-collections/community\.general/pull/7624](https\://github\.com/ansible\-collections/community\.general/pull/7624)\)\.
* terraform \- fix multiline string handling in complex variables \([https\://github\.com/ansible\-collections/community\.general/pull/7535](https\://github\.com/ansible\-collections/community\.general/pull/7535)\)\.
<a id="community-vmware-3"></a>
#### community\.vmware
* vmware\_vm\_info \- Fix an AttributeError when gathering network information \([https\://github\.com/ansible\-collections/community\.vmware/pull/1919](https\://github\.com/ansible\-collections/community\.vmware/pull/1919)\)\.
<a id="community-windows-3"></a>
#### community\.windows
* Remove some code which is no longer valid for dotnet 5\+
* community\.windows\.win\_psmodule\_info \- exception thrown when host has no Installed Module\. Fix now checks that variable \$installedModules is not null before calling the \.Contains\(\.\.\) function on it\.
* win\_rabbitmq\_plugin \- Avoid using <code>Invoke\-Expression</code> when running external commands
* win\_rds\_rap \- The module crashed when creating a RAP with Gateway Managed Computer Group \([https\://github\.com/ansible\-collections/community\.windows/issues/184](https\://github\.com/ansible\-collections/community\.windows/issues/184)\)\.
<a id="community-zabbix-3"></a>
#### community\.zabbix
* zabbix\_inventory \- fixed handeling of add\_zabbix\_groups option
* zabbix\_template \- fix template export when template\'s content has \"error\" word
* zabbix\_web role \- fix variable naming issues \(undefined\) to zabbix\_web\_version and zabbix\_web\_apt\_repository
<a id="dellemc-openmanage-6"></a>
#### dellemc\.openmanage
* ome\_inventory \- The plugin returns 50 results when a group is specified\. No results are shown when a group is not specified\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/575](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/575)\)\.
<a id="hetzner-hcloud-3"></a>
#### hetzner\.hcloud
* hcloud inventory \- Ensure the API client use a new cache for every <em>cached session</em>\.
<a id="junipernetworks-junos"></a>
#### junipernetworks\.junos
* fix to gather l2\_interfaces facts with default port\-mode access\.
<a id="microsoft-ad-3"></a>
#### microsoft\.ad
* debug\_ldap\_client \- handle failures when attempting to get the krb5 context and default CCache rather than fail with a traceback
<a id="netapp-ontap-5"></a>
#### netapp\.ontap
* na\_ontap\_ems\_destination \- fix field error with <em class="title-reference">certificate\.name</em> for ONTAP 9\.11\.1 or later in REST\.
* na\_ontap\_vserver\_peer \- fix issue with peering multiple clusters with same vserver name in REST\.
<a id="purestorage-flasharray-5"></a>
#### purestorage\.flasharray
* purefa\_cert \- Fixed issue where parts of the subject where not included in the CSR if they did not exist in the currently used cert\.
* purefa\_dns \- Fixed attribute error on deletion of management DNS
* purefa\_pg \- Allows a protection group to be correctly created when <em class="title-reference">target</em> is specified as well as other objects\, such as <em class="title-reference">volumes</em> or <em class="title-reference">hosts</em>
* purefa\_pgsched \- Fixed issue with disabling schedules
* purefa\_pgsnap \- Fixed incorrect parameter name
<a id="splunk-es"></a>
#### splunk\.es
* Fixed argspec validation for plugins with empty task attributes when run with Ansible 2\.9\.
<a id="theforeman-foreman-1"></a>
#### theforeman\.foreman
* content\_view\_filter\_rule \- handle multiple rules for the same package but different architectures and versions correctly \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2189687](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2189687)\)
<a id="vultr-cloud-3"></a>
#### vultr\.cloud
* instance \- Fixed an issue detecting the instance state returned by the API \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/89](https\://github\.com/vultr/ansible\-collection\-vultr/pull/89)\)\.
<a id="known-issues-1"></a>
### Known Issues
<a id="dellemc-openmanage-7"></a>
#### dellemc\.openmanage
* idrac\_firmware \- Issue\(279282\) \- This module does not support firmware update using HTTP\, HTTPS\, and FTP shares with authentication on iDRAC8\.
* idrac\_network\_attributes \- Issue\(279049\) \- If unsupported values are provided for the parameter <code>ome\_network\_attributes</code>\, then this module does not provide a correct error message\.
* ome\_device\_network\_services \- Issue\(212681\) \- The module does not provide a proper error message if unsupported values are provided for the following parameters\- port\_number\, community\_name\, max\_sessions\, max\_auth\_retries\, and idle\_timeout\.
* ome\_device\_power\_settings \- Issue\(212679\) \- The module displays the following message if the value provided for the parameter <code>power\_cap</code> is not within the supported range of 0 to 32767\, <code>Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI\.</code>
* ome\_device\_quick\_deploy \- Issue\(275231\) \- This module does not deploy a new configuration to a slot that has disabled IPv6\.
* ome\_diagnostics \- Issue\(279193\) \- Export of SupportAssist collection logs to the share location fails on OME version 4\.0\.0\.
* ome\_smart\_fabric\_uplink \- Issue\(186024\) \- The module supported by OpenManage Enterprise Modular\, however it does not allow the creation of multiple uplinks of the same name\. If an uplink is created using the same name as an existing uplink\, then the existing uplink is modified\.
<a id="new-plugins-3"></a>
### New Plugins
<a id="filter-3"></a>
#### Filter
* ansible\.utils\.fact\_diff \- Find the difference between currently set facts
<a id="lookup-1"></a>
#### Lookup
* community\.general\.onepassword\_doc \- Fetch documents stored in 1Password
<a id="test"></a>
#### Test
* community\.general\.fqdn\_valid \- Validates fully\-qualified domain names against RFC 1123
<a id="new-modules-3"></a>
### New Modules
<a id="cisco-ios-2"></a>
#### cisco\.ios
* cisco\.ios\.ios\_evpn\_evi \- Resource module to configure L2VPN EVPN EVI\.
* cisco\.ios\.ios\_evpn\_global \- Resource module to configure L2VPN EVPN\.
* cisco\.ios\.ios\_vxlan\_vtep \- Resource module to configure VXLAN VTEP interface\.
<a id="community-general-13"></a>
#### community\.general
* community\.general\.git\_config\_info \- Read git configuration
* community\.general\.gitlab\_issue \- Create\, update\, or delete GitLab issues
* community\.general\.nomad\_token \- Manage Nomad ACL tokens
<a id="purestorage-flasharray-6"></a>
#### purestorage\.flasharray
* purestorage\.flasharray\.purefa\_hardware \- Manage FlashArray Hardware Identification
<a id="unchanged-collections-3"></a>
### Unchanged Collections
* amazon\.aws \(still version 7\.0\.0\)
* ansible\.netcommon \(still version 5\.3\.0\)
* ansible\.posix \(still version 1\.5\.4\)
* azure\.azcollection \(still version 1\.19\.0\)
* check\_point\.mgmt \(still version 5\.1\.1\)
* chocolatey\.chocolatey \(still version 1\.5\.1\)
* cisco\.aci \(still version 2\.8\.0\)
* cisco\.asa \(still version 4\.0\.3\)
* cisco\.intersight \(still version 2\.0\.3\)
* cisco\.mso \(still version 2\.5\.0\)
* cisco\.ucs \(still version 1\.10\.0\)
* cloud\.common \(still version 2\.1\.4\)
* cloudscale\_ch\.cloud \(still version 2\.3\.1\)
* community\.aws \(still version 7\.0\.0\)
* community\.azure \(still version 2\.0\.0\)
* community\.ciscosmb \(still version 1\.0\.7\)
* community\.digitalocean \(still version 1\.24\.0\)
* community\.docker \(still version 3\.4\.11\)
* community\.grafana \(still version 1\.6\.1\)
* community\.hashi\_vault \(still version 6\.0\.0\)
* community\.hrobot \(still version 1\.8\.2\)
* community\.libvirt \(still version 1\.3\.0\)
* community\.mongodb \(still version 1\.6\.3\)
* community\.mysql \(still version 3\.8\.0\)
* community\.network \(still version 5\.0\.2\)
* community\.okd \(still version 2\.3\.0\)
* community\.postgresql \(still version 3\.2\.0\)
* community\.proxysql \(still version 1\.5\.1\)
* community\.rabbitmq \(still version 1\.2\.3\)
* community\.sap \(still version 2\.0\.0\)
* community\.sap\_libs \(still version 1\.4\.1\)
* community\.sops \(still version 1\.6\.7\)
* containers\.podman \(still version 1\.11\.0\)
* cyberark\.conjur \(still version 1\.2\.2\)
* cyberark\.pas \(still version 1\.0\.23\)
* dellemc\.enterprise\_sonic \(still version 2\.2\.0\)
* dellemc\.unity \(still version 1\.7\.1\)
* fortinet\.fortimanager \(still version 2\.3\.0\)
* fortinet\.fortios \(still version 2\.3\.4\)
* frr\.frr \(still version 2\.0\.2\)
* gluster\.gluster \(still version 1\.0\.2\)
* grafana\.grafana \(still version 2\.2\.3\)
* hpe\.nimble \(still version 1\.1\.4\)
* ibm\.qradar \(still version 2\.1\.0\)
* ibm\.spectrum\_virtualize \(still version 2\.0\.0\)
* ibm\.storage\_virtualize \(still version 2\.1\.0\)
* infinidat\.infinibox \(still version 1\.3\.12\)
* infoblox\.nios\_modules \(still version 1\.5\.0\)
* inspur\.sm \(still version 2\.3\.0\)
* kubernetes\.core \(still version 2\.4\.0\)
* lowlydba\.sqlserver \(still version 2\.2\.2\)
* netapp\.aws \(still version 21\.7\.1\)
* netapp\.azure \(still version 21\.10\.1\)
* netapp\.cloudmanager \(still version 21\.22\.1\)
* netapp\.elementsw \(still version 21\.7\.0\)
* netapp\.storagegrid \(still version 21\.11\.1\)
* netapp\.um\_info \(still version 21\.8\.1\)
* netapp\_eseries\.santricity \(still version 1\.4\.0\)
* netbox\.netbox \(still version 3\.15\.0\)
* ngine\_io\.cloudstack \(still version 2\.3\.0\)
* ngine\_io\.exoscale \(still version 1\.1\.0\)
* openvswitch\.openvswitch \(still version 2\.1\.1\)
* ovirt\.ovirt \(still version 3\.2\.0\)
* purestorage\.flashblade \(still version 1\.14\.0\)
* purestorage\.fusion \(still version 1\.6\.0\)
* sensu\.sensu\_go \(still version 1\.14\.0\)
* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\)
* vmware\.vmware\_rest \(still version 2\.3\.1\)
* vyos\.vyos \(still version 4\.1\.0\)
* wti\.remote \(still version 1\.0\.5\)
<a id="v9-0-1"></a>
## v9\.0\.1
- <a href="#release-summary-4">Release Summary</a>
- <a href="#ansible-core-12">Ansible\-core</a>
- <a href="#bugfixes-4">Bugfixes</a>
- <a href="#unchanged-collections-4">Unchanged Collections</a>
<a id="release-summary-4"></a>
### Release Summary
Release Date\: 2023\-11\-21
[Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html)
<a id="ansible-core-12"></a>
### Ansible\-core
Ansible 9\.0\.1 contains ansible\-core version 2\.16\.0\.
This is the same version of ansible\-core as in the previous Ansible release\.
<a id="bugfixes-4"></a>
### Bugfixes
* Fix the Python package metadata in <code>setup\.cfg</code> to require Python <code>\>\=3\.10</code> to ensure that pip can properly install <code>ansible</code> on older Python versions\.
<a id="unchanged-collections-4"></a>
### Unchanged Collections
* amazon\.aws \(still version 7\.0\.0\)
* ansible\.netcommon \(still version 5\.3\.0\)
* ansible\.posix \(still version 1\.5\.4\)
* ansible\.utils \(still version 2\.11\.0\)
* ansible\.windows \(still version 2\.1\.0\)
* arista\.eos \(still version 6\.2\.1\)
* awx\.awx \(still version 23\.3\.1\)
* azure\.azcollection \(still version 1\.19\.0\)
* check\_point\.mgmt \(still version 5\.1\.1\)
* chocolatey\.chocolatey \(still version 1\.5\.1\)
* cisco\.aci \(still version 2\.8\.0\)
* cisco\.asa \(still version 4\.0\.3\)
* cisco\.dnac \(still version 6\.7\.6\)
* cisco\.intersight \(still version 2\.0\.3\)
* cisco\.ios \(still version 5\.2\.0\)
* cisco\.iosxr \(still version 6\.1\.0\)
* cisco\.ise \(still version 2\.5\.16\)
* cisco\.meraki \(still version 2\.16\.14\)
* cisco\.mso \(still version 2\.5\.0\)
* cisco\.nxos \(still version 5\.2\.1\)
* cisco\.ucs \(still version 1\.10\.0\)
* cloud\.common \(still version 2\.1\.4\)
* cloudscale\_ch\.cloud \(still version 2\.3\.1\)
* community\.aws \(still version 7\.0\.0\)
* community\.azure \(still version 2\.0\.0\)
* community\.ciscosmb \(still version 1\.0\.7\)
* community\.crypto \(still version 2\.16\.0\)
* community\.digitalocean \(still version 1\.24\.0\)
* community\.dns \(still version 2\.6\.3\)
* community\.docker \(still version 3\.4\.11\)
* community\.general \(still version 8\.0\.2\)
* community\.grafana \(still version 1\.6\.1\)
* community\.hashi\_vault \(still version 6\.0\.0\)
* community\.hrobot \(still version 1\.8\.2\)
* community\.libvirt \(still version 1\.3\.0\)
* community\.mongodb \(still version 1\.6\.3\)
* community\.mysql \(still version 3\.8\.0\)
* community\.network \(still version 5\.0\.2\)
* community\.okd \(still version 2\.3\.0\)
* community\.postgresql \(still version 3\.2\.0\)
* community\.proxysql \(still version 1\.5\.1\)
* community\.rabbitmq \(still version 1\.2\.3\)
* community\.routeros \(still version 2\.10\.0\)
* community\.sap \(still version 2\.0\.0\)
* community\.sap\_libs \(still version 1\.4\.1\)
* community\.sops \(still version 1\.6\.7\)
* community\.vmware \(still version 4\.0\.0\)
* community\.windows \(still version 2\.0\.0\)
* community\.zabbix \(still version 2\.1\.0\)
* containers\.podman \(still version 1\.11\.0\)
* cyberark\.conjur \(still version 1\.2\.2\)
* cyberark\.pas \(still version 1\.0\.23\)
* dellemc\.enterprise\_sonic \(still version 2\.2\.0\)
* dellemc\.openmanage \(still version 8\.4\.0\)
* dellemc\.powerflex \(still version 2\.0\.1\)
* dellemc\.unity \(still version 1\.7\.1\)
* f5networks\.f5\_modules \(still version 1\.27\.0\)
* fortinet\.fortimanager \(still version 2\.3\.0\)
* fortinet\.fortios \(still version 2\.3\.4\)
* frr\.frr \(still version 2\.0\.2\)
* gluster\.gluster \(still version 1\.0\.2\)
* google\.cloud \(still version 1\.2\.0\)
* grafana\.grafana \(still version 2\.2\.3\)
* hetzner\.hcloud \(still version 2\.3\.0\)
* hpe\.nimble \(still version 1\.1\.4\)
* ibm\.qradar \(still version 2\.1\.0\)
* ibm\.spectrum\_virtualize \(still version 2\.0\.0\)
* ibm\.storage\_virtualize \(still version 2\.1\.0\)
* infinidat\.infinibox \(still version 1\.3\.12\)
* infoblox\.nios\_modules \(still version 1\.5\.0\)
* inspur\.ispim \(still version 2\.1\.0\)
* inspur\.sm \(still version 2\.3\.0\)
* junipernetworks\.junos \(still version 5\.3\.0\)
* kubernetes\.core \(still version 2\.4\.0\)
* lowlydba\.sqlserver \(still version 2\.2\.2\)
* microsoft\.ad \(still version 1\.3\.0\)
* netapp\.aws \(still version 21\.7\.1\)
* netapp\.azure \(still version 21\.10\.1\)
* netapp\.cloudmanager \(still version 21\.22\.1\)
* netapp\.elementsw \(still version 21\.7\.0\)
* netapp\.ontap \(still version 22\.8\.2\)
* netapp\.storagegrid \(still version 21\.11\.1\)
* netapp\.um\_info \(still version 21\.8\.1\)
* netapp\_eseries\.santricity \(still version 1\.4\.0\)
* netbox\.netbox \(still version 3\.15\.0\)
* ngine\_io\.cloudstack \(still version 2\.3\.0\)
* ngine\_io\.exoscale \(still version 1\.1\.0\)
* openstack\.cloud \(still version 2\.1\.0\)
* openvswitch\.openvswitch \(still version 2\.1\.1\)
* ovirt\.ovirt \(still version 3\.2\.0\)
* purestorage\.flasharray \(still version 1\.22\.0\)
* purestorage\.flashblade \(still version 1\.14\.0\)
* purestorage\.fusion \(still version 1\.6\.0\)
* sensu\.sensu\_go \(still version 1\.14\.0\)
* splunk\.es \(still version 2\.1\.0\)
* t\_systems\_mms\.icinga\_director \(still version 2\.0\.1\)
* telekom\_mms\.icinga\_director \(still version 1\.34\.1\)
* theforeman\.foreman \(still version 3\.14\.0\)
* vmware\.vmware\_rest \(still version 2\.3\.1\)
* vultr\.cloud \(still version 1\.10\.0\)
* vyos\.vyos \(still version 4\.1\.0\)
* wti\.remote \(still version 1\.0\.5\)
<a id="v9-0-0"></a>
## v9\.0\.0
- <a href="#release-summary-5">Release Summary</a>
- <a href="#removed-collections">Removed Collections</a>
- <a href="#added-collections-1">Added Collections</a>
- <a href="#ansible-core-13">Ansible\-core</a>
- <a href="#included-collections">Included Collections</a>
- <a href="#major-changes-2">Major Changes</a>
- <a href="#amazon-aws-7">amazon\.aws</a>
- <a href="#chocolatey-chocolatey">chocolatey\.chocolatey</a>
- <a href="#cisco-ios-3">cisco\.ios</a>
- <a href="#cisco-nxos-1">cisco\.nxos</a>
- <a href="#cloudscale-ch-cloud">cloudscale\_ch\.cloud</a>
- <a href="#community-mysql-3">community\.mysql</a>
- <a href="#community-postgresql-4">community\.postgresql</a>
- <a href="#community-sap">community\.sap</a>
- <a href="#community-vmware-4">community\.vmware</a>
- <a href="#fortinet-fortimanager-4">fortinet\.fortimanager</a>
- <a href="#fortinet-fortios-2">fortinet\.fortios</a>
- <a href="#grafana-grafana-2">grafana\.grafana</a>
- <a href="#minor-changes-4">Minor Changes</a>
- <a href="#ansible-core-14">Ansible\-core</a>
- <a href="#amazon-aws-8">amazon\.aws</a>
- <a href="#ansible-netcommon">ansible\.netcommon</a>
- <a href="#ansible-utils-1">ansible\.utils</a>
- <a href="#ansible-windows-4">ansible\.windows</a>
- <a href="#arista-eos-1">arista\.eos</a>
- <a href="#check-point-mgmt-3">check\_point\.mgmt</a>
- <a href="#chocolatey-chocolatey-1">chocolatey\.chocolatey</a>
- <a href="#cisco-aci">cisco\.aci</a>
- <a href="#cisco-ios-4">cisco\.ios</a>
- <a href="#cisco-iosxr-1">cisco\.iosxr</a>
- <a href="#cisco-meraki-3">cisco\.meraki</a>
- <a href="#cisco-mso">cisco\.mso</a>
- <a href="#cisco-nxos-2">cisco\.nxos</a>
- <a href="#community-aws-2">community\.aws</a>
- <a href="#community-ciscosmb">community\.ciscosmb</a>
- <a href="#community-crypto-6">community\.crypto</a>
- <a href="#community-digitalocean-3">community\.digitalocean</a>
- <a href="#community-dns-7">community\.dns</a>
- <a href="#community-general-14">community\.general</a>
- <a href="#community-grafana-4">community\.grafana</a>
- <a href="#community-libvirt">community\.libvirt</a>
- <a href="#community-mysql-4">community\.mysql</a>
- <a href="#community-postgresql-5">community\.postgresql</a>
- <a href="#community-routeros-5">community\.routeros</a>
- <a href="#community-vmware-5">community\.vmware</a>
- <a href="#community-windows-4">community\.windows</a>
- <a href="#community-zabbix-4">community\.zabbix</a>
- <a href="#containers-podman-3">containers\.podman</a>
- <a href="#dellemc-enterprise-sonic-3">dellemc\.enterprise\_sonic</a>
- <a href="#dellemc-openmanage-8">dellemc\.openmanage</a>
- <a href="#dellemc-powerflex-3">dellemc\.powerflex</a>
- <a href="#dellemc-unity">dellemc\.unity</a>
- <a href="#f5networks-f5-modules-2">f5networks\.f5\_modules</a>
- <a href="#fortinet-fortimanager-5">fortinet\.fortimanager</a>
- <a href="#google-cloud-1">google\.cloud</a>
- <a href="#grafana-grafana-3">grafana\.grafana</a>
- <a href="#hetzner-hcloud-4">hetzner\.hcloud</a>
- <a href="#inspur-ispim-1">inspur\.ispim</a>
- <a href="#junipernetworks-junos-1">junipernetworks\.junos</a>
- <a href="#lowlydba-sqlserver-3">lowlydba\.sqlserver</a>
- <a href="#microsoft-ad-4">microsoft\.ad</a>
- <a href="#netapp-ontap-6">netapp\.ontap</a>
- <a href="#netbox-netbox-5">netbox\.netbox</a>
- <a href="#ovirt-ovirt">ovirt\.ovirt</a>
- <a href="#purestorage-flasharray-7">purestorage\.flasharray</a>
- <a href="#purestorage-flashblade-5">purestorage\.flashblade</a>
- <a href="#purestorage-fusion-1">purestorage\.fusion</a>
- <a href="#sensu-sensu-go">sensu\.sensu\_go</a>
- <a href="#t-systems-mms-icinga-director">t\_systems\_mms\.icinga\_director</a>
- <a href="#theforeman-foreman-2">theforeman\.foreman</a>
- <a href="#vultr-cloud-4">vultr\.cloud</a>
- <a href="#vyos-vyos">vyos\.vyos</a>
- <a href="#breaking-changes--porting-guide-1">Breaking Changes / Porting Guide</a>
- <a href="#ansible-core-15">Ansible\-core</a>
- <a href="#amazon-aws-9">amazon\.aws</a>
- <a href="#community-aws-3">community\.aws</a>
- <a href="#community-general-15">community\.general</a>
- <a href="#community-hashi-vault-3">community\.hashi\_vault</a>
- <a href="#community-vmware-6">community\.vmware</a>
- <a href="#dellemc-enterprise-sonic-4">dellemc\.enterprise\_sonic</a>
- <a href="#hetzner-hcloud-5">hetzner\.hcloud</a>
- <a href="#deprecated-features-3">Deprecated Features</a>
- <a href="#ansible-core-16">Ansible\-core</a>
- <a href="#amazon-aws-10">amazon\.aws</a>
- <a href="#ansible-netcommon-1">ansible\.netcommon</a>
- <a href="#ansible-windows-5">ansible\.windows</a>
- <a href="#cisco-ios-5">cisco\.ios</a>
- <a href="#cisco-iosxr-2">cisco\.iosxr</a>
- <a href="#community-ciscosmb-1">community\.ciscosmb</a>
- <a href="#community-crypto-7">community\.crypto</a>
- <a href="#community-general-16">community\.general</a>
- <a href="#community-postgresql-6">community\.postgresql</a>
- <a href="#community-sap-1">community\.sap</a>
- <a href="#community-windows-5">community\.windows</a>
- <a href="#junipernetworks-junos-2">junipernetworks\.junos</a>
- <a href="#microsoft-ad-5">microsoft\.ad</a>
- <a href="#purestorage-fusion-2">purestorage\.fusion</a>
- <a href="#t-systems-mms-icinga-director-1">t\_systems\_mms\.icinga\_director</a>
- <a href="#removed-features-previously-deprecated">Removed Features \(previously deprecated\)</a>
- <a href="#ansible-core-17">Ansible\-core</a>
- <a href="#ansible-windows-6">ansible\.windows</a>
- <a href="#cisco-ios-6">cisco\.ios</a>
- <a href="#cisco-nxos-3">cisco\.nxos</a>
- <a href="#community-ciscosmb-2">community\.ciscosmb</a>
- <a href="#community-general-17">community\.general</a>
- <a href="#community-hashi-vault-4">community\.hashi\_vault</a>
- <a href="#community-vmware-7">community\.vmware</a>
- <a href="#community-windows-6">community\.windows</a>
- <a href="#dellemc-openmanage-9">dellemc\.openmanage</a>
- <a href="#hetzner-hcloud-6">hetzner\.hcloud</a>
- <a href="#security-fixes-3">Security Fixes</a>
- <a href="#ansible-core-18">Ansible\-core</a>
- <a href="#bugfixes-5">Bugfixes</a>
- <a href="#ansible-core-19">Ansible\-core</a>
- <a href="#amazon-aws-11">amazon\.aws</a>
- <a href="#ansible-netcommon-2">ansible\.netcommon</a>
- <a href="#ansible-utils-2">ansible\.utils</a>
- <a href="#ansible-windows-7">ansible\.windows</a>
- <a href="#arista-eos-2">arista\.eos</a>
- <a href="#check-point-mgmt-4">check\_point\.mgmt</a>
- <a href="#chocolatey-chocolatey-2">chocolatey\.chocolatey</a>
- <a href="#cisco-aci-1">cisco\.aci</a>
- <a href="#cisco-ios-7">cisco\.ios</a>
- <a href="#cisco-iosxr-3">cisco\.iosxr</a>
- <a href="#cisco-ise-4">cisco\.ise</a>
- <a href="#cisco-meraki-4">cisco\.meraki</a>
- <a href="#cisco-mso-1">cisco\.mso</a>
- <a href="#cisco-nxos-4">cisco\.nxos</a>
- <a href="#cloud-common">cloud\.common</a>
- <a href="#cloudscale-ch-cloud-1">cloudscale\_ch\.cloud</a>
- <a href="#community-aws-4">community\.aws</a>
- <a href="#community-ciscosmb-3">community\.ciscosmb</a>
- <a href="#community-crypto-8">community\.crypto</a>
- <a href="#community-digitalocean-4">community\.digitalocean</a>
- <a href="#community-dns-8">community\.dns</a>
- <a href="#community-docker-9">community\.docker</a>
- <a href="#community-general-18">community\.general</a>
- <a href="#community-grafana-5">community\.grafana</a>
- <a href="#community-hashi-vault-5">community\.hashi\_vault</a>
- <a href="#community-hrobot-3">community\.hrobot</a>
- <a href="#community-libvirt-1">community\.libvirt</a>
- <a href="#community-mysql-5">community\.mysql</a>
- <a href="#community-network">community\.network</a>
- <a href="#community-postgresql-7">community\.postgresql</a>
- <a href="#community-routeros-6">community\.routeros</a>
- <a href="#community-sops">community\.sops</a>
- <a href="#community-vmware-8">community\.vmware</a>
- <a href="#community-windows-7">community\.windows</a>
- <a href="#community-zabbix-5">community\.zabbix</a>
- <a href="#containers-podman-4">containers\.podman</a>
- <a href="#dellemc-enterprise-sonic-5">dellemc\.enterprise\_sonic</a>
- <a href="#dellemc-openmanage-10">dellemc\.openmanage</a>
- <a href="#f5networks-f5-modules-3">f5networks\.f5\_modules</a>
- <a href="#fortinet-fortimanager-6">fortinet\.fortimanager</a>
- <a href="#fortinet-fortios-3">fortinet\.fortios</a>
- <a href="#google-cloud-2">google\.cloud</a>
- <a href="#hetzner-hcloud-7">hetzner\.hcloud</a>
- <a href="#junipernetworks-junos-3">junipernetworks\.junos</a>
- <a href="#microsoft-ad-6">microsoft\.ad</a>
- <a href="#netapp-ontap-7">netapp\.ontap</a>
- <a href="#netbox-netbox-6">netbox\.netbox</a>
- <a href="#ovirt-ovirt-1">ovirt\.ovirt</a>
- <a href="#purestorage-flasharray-8">purestorage\.flasharray</a>
- <a href="#purestorage-flashblade-6">purestorage\.flashblade</a>
- <a href="#purestorage-fusion-3">purestorage\.fusion</a>
- <a href="#t-systems-mms-icinga-director-2">t\_systems\_mms\.icinga\_director</a>
- <a href="#theforeman-foreman-3">theforeman\.foreman</a>
- <a href="#vultr-cloud-5">vultr\.cloud</a>
- <a href="#vyos-vyos-1">vyos\.vyos</a>
- <a href="#known-issues-2">Known Issues</a>
- <a href="#ansible-core-20">Ansible\-core</a>
- <a href="#community-crypto-9">community\.crypto</a>
- <a href="#community-dns-9">community\.dns</a>
- <a href="#community-docker-10">community\.docker</a>
- <a href="#community-general-19">community\.general</a>
- <a href="#community-hrobot-4">community\.hrobot</a>
- <a href="#community-routeros-7">community\.routeros</a>
- <a href="#community-sops-1">community\.sops</a>
- <a href="#dellemc-openmanage-11">dellemc\.openmanage</a>
- <a href="#new-plugins-4">New Plugins</a>
- <a href="#cliconf">Cliconf</a>
- <a href="#filter-4">Filter</a>
- <a href="#inventory">Inventory</a>
- <a href="#lookup-2">Lookup</a>
- <a href="#new-modules-4">New Modules</a>
- <a href="#amazon-aws-12">amazon\.aws</a>
- <a href="#cisco-ios-8">cisco\.ios</a>
- <a href="#cisco-iosxr-4">cisco\.iosxr</a>
- <a href="#cisco-nxos-5">cisco\.nxos</a>
- <a href="#cloudscale-ch-cloud-2">cloudscale\_ch\.cloud</a>
- <a href="#community-aws-5">community\.aws</a>
- <a href="#community-dns-10">community\.dns</a>
- <a href="#community-general-20">community\.general</a>
- <a href="#community-grafana-6">community\.grafana</a>
- <a href="#community-vmware-9">community\.vmware</a>
- <a href="#community-zabbix-6">community\.zabbix</a>
- <a href="#containers-podman-5">containers\.podman</a>
- <a href="#dellemc-enterprise-sonic-6">dellemc\.enterprise\_sonic</a>
- <a href="#dellemc-openmanage-12">dellemc\.openmanage</a>
- <a href="#dellemc-powerflex-4">dellemc\.powerflex</a>
- <a href="#dellemc-unity-1">dellemc\.unity</a>
- <a href="#f5networks-f5-modules-4">f5networks\.f5\_modules</a>
- <a href="#fortinet-fortimanager-7">fortinet\.fortimanager</a>
- <a href="#inspur-ispim-2">inspur\.ispim</a>
- <a href="#netapp-ontap-8">netapp\.ontap</a>
- <a href="#netbox-netbox-7">netbox\.netbox</a>
- <a href="#ngine-io-exoscale">ngine\_io\.exoscale</a>
- <a href="#purestorage-flasharray-9">purestorage\.flasharray</a>
- <a href="#sensu-sensu-go-1">sensu\.sensu\_go</a>
- <a href="#t-systems-mms-icinga-director-3">t\_systems\_mms\.icinga\_director</a>
- <a href="#theforeman-foreman-4">theforeman\.foreman</a>
- <a href="#vultr-cloud-6">vultr\.cloud</a>
- <a href="#new-roles">New Roles</a>
- <a href="#unchanged-collections-5">Unchanged Collections</a>
<a id="release-summary-5"></a>
### Release Summary
\[YANKED\] Release Date\: 2023\-11\-21 [Porting Guide](https\://docs\.ansible\.com/ansible/devel/porting\_guides\.html)
<a id="removed-collections"></a>
### Removed Collections
* cisco\.nso \(previously included version\: 1\.0\.3\)
* community\.fortios \(previously included version\: 1\.0\.0\)
* community\.google \(previously included version\: 1\.0\.0\)
* community\.skydive \(previously included version\: 1\.0\.0\)
* ngine\_io\.vultr \(previously included version\: 1\.1\.3\)
* servicenow\.servicenow \(previously included version\: 1\.0\.6\)
<a id="added-collections-1"></a>
### Added Collections
* ibm\.storage\_virtualize \(version 2\.1\.0\)
* telekom\_mms\.icinga\_director \(version 1\.34\.1\)
<a id="ansible-core-13"></a>
### Ansible\-core
Ansible 9\.0\.0 contains ansible\-core version 2\.16\.0\.
This is a newer version than version 2\.15\.0 contained in the previous Ansible release\.
The changes are reported in the combined changelog below\.
<a id="included-collections"></a>
### Included Collections
If not mentioned explicitly\, the changes are reported in the combined changelog below\.
| Collection | Ansible 8.0.0 | Ansible 9.0.0 | Notes |
| ----------------------------- | ------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| amazon.aws | 6.0.1 | 7.0.0 | |
| ansible.netcommon | 5.1.1 | 5.3.0 | |
| ansible.utils | 2.10.3 | 2.11.0 | |
| ansible.windows | 1.14.0 | 2.1.0 | |
| arista.eos | 6.0.1 | 6.2.1 | |
| awx.awx | 22.2.0 | 23.3.1 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| azure.azcollection | 1.15.0 | 1.19.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| check_point.mgmt | 5.0.0 | 5.1.1 | |
| chocolatey.chocolatey | 1.4.0 | 1.5.1 | |
| cisco.aci | 2.6.0 | 2.8.0 | |
| cisco.asa | 4.0.0 | 4.0.3 | |
| cisco.dnac | 6.7.2 | 6.7.6 | The collection did not have a changelog in this version. |
| cisco.intersight | 1.0.27 | 2.0.3 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| cisco.ios | 4.5.0 | 5.2.0 | |
| cisco.iosxr | 5.0.2 | 6.1.0 | |
| cisco.ise | 2.5.12 | 2.5.16 | |
| cisco.meraki | 2.15.1 | 2.16.14 | |
| cisco.mso | 2.4.0 | 2.5.0 | |
| cisco.nxos | 4.3.0 | 5.2.1 | |
| cisco.ucs | 1.8.0 | 1.10.0 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| cloud.common | 2.1.3 | 2.1.4 | |
| cloudscale_ch.cloud | 2.2.4 | 2.3.1 | |
| community.aws | 6.0.0 | 7.0.0 | |
| community.ciscosmb | 1.0.5 | 1.0.7 | |
| community.crypto | 2.13.1 | 2.16.0 | |
| community.digitalocean | 1.23.0 | 1.24.0 | |
| community.dns | 2.5.4 | 2.6.3 | |
| community.docker | 3.4.6 | 3.4.11 | |
| community.general | 7.0.1 | 8.0.2 | |
| community.grafana | 1.5.4 | 1.6.1 | |
| community.hashi_vault | 5.0.0 | 6.0.0 | |
| community.hrobot | 1.8.0 | 1.8.2 | |
| community.libvirt | 1.2.0 | 1.3.0 | |
| community.mongodb | 1.5.2 | 1.6.3 | There are no changes recorded in the changelog. |
| community.mysql | 3.7.1 | 3.8.0 | |
| community.network | 5.0.0 | 5.0.2 | |
| community.postgresql | 2.4.1 | 3.2.0 | |
| community.routeros | 2.8.0 | 2.10.0 | |
| community.sap | 1.0.0 | 2.0.0 | |
| community.sops | 1.6.1 | 1.6.7 | |
| community.vmware | 3.6.0 | 4.0.0 | |
| community.windows | 1.13.0 | 2.0.0 | |
| community.zabbix | 2.0.0 | 2.1.0 | |
| containers.podman | 1.10.1 | 1.11.0 | |
| cyberark.conjur | 1.2.0 | 1.2.2 | You can find the collection's changelog at `[https://github.com/cyberark/ansible-conjur-collection/blob/master/CHANGELOG.md](https://github.com/cyberark/ansible-conjur-collection/blob/master/CHANGELOG.md). |
| cyberark.pas | 1.0.19 | 1.0.23 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
| dellemc.enterprise_sonic | 2.0.0 | 2.2.0 | |
| dellemc.openmanage | 7.5.0 | 8.4.0 | |
| dellemc.powerflex | 1.6.0 | 2.0.1 | |
| dellemc.unity | 1.6.0 | 1.7.1 | |
| f5networks.f5_modules | 1.24.0 | 1.27.0 | |
| fortinet.fortimanager | 2.1.7 | 2.3.0 | |
| fortinet.fortios | 2.2.3 | 2.3.4 | |
| google.cloud | 1.1.3 | 1.2.0 | |
| grafana.grafana | 2.0.0 | 2.2.3 | |
| hetzner.hcloud | 1.11.0 | 2.3.0 | |
| ibm.spectrum_virtualize | 1.12.0 | 2.0.0 | |
| ibm.storage_virtualize | | 2.1.0 | The collection was added to Ansible |
| inspur.ispim | 1.3.0 | 2.1.0 | |
| junipernetworks.junos | 5.1.0 | 5.3.0 | |
| lowlydba.sqlserver | 2.0.0 | 2.2.2 | |
| microsoft.ad | 1.1.0 | 1.3.0 | |
| netapp.aws | 21.7.0 | 21.7.1 | The collection did not have a changelog in this version. |
| netapp.azure | 21.10.0 | 21.10.1 | The collection did not have a changelog in this version. |
| netapp.cloudmanager | 21.22.0 | 21.22.1 | The collection did not have a changelog in this version. |
| netapp.ontap | 22.6.0 | 22.8.2 | |
| netapp.um_info | 21.8.0 | 21.8.1 | The collection did not have a changelog in this version. |
| netbox.netbox | 3.13.0 | 3.15.0 | |
| ngine_io.exoscale | 1.0.0 | 1.1.0 | |
| ovirt.ovirt | 3.1.2 | 3.2.0 | |
| purestorage.flasharray | 1.18.0 | 1.22.0 | |
| purestorage.flashblade | 1.11.0 | 1.14.0 | |
| purestorage.fusion | 1.4.2 | 1.6.0 | |
| sensu.sensu_go | 1.13.2 | 1.14.0 | |
| t_systems_mms.icinga_director | 1.32.2 | 2.0.1 | |
| telekom_mms.icinga_director | | 1.34.1 | The collection was added to Ansible |
| theforeman.foreman | 3.10.0 | 3.14.0 | |
| vultr.cloud | 1.7.1 | 1.10.0 | |
| vyos.vyos | 4.0.2 | 4.1.0 | |
| wti.remote | 1.0.4 | 1.0.5 | Unfortunately, this collection does not provide changelog data in a format that can be processed by the changelog generator. |
<a id="major-changes-2"></a>
### Major Changes
<a id="amazon-aws-7"></a>
#### amazon\.aws
* aws\_region\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.aws\_region\_info</code>\.
* aws\_s3\_bucket\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.aws\_s3\_bucket\_info</code>\.
* iam\_access\_key \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_access\_key</code>\.
* iam\_access\_key\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_access\_key\_info</code>\.
* iam\_group \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_group</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1755](https\://github\.com/ansible\-collections/amazon\.aws/pull/1755)\)\.
* iam\_managed\_policy \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_managed\_policy</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1762](https\://github\.com/ansible\-collections/amazon\.aws/pull/1762)\)\.
* iam\_mfa\_device\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_mfa\_device\_info</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1761](https\://github\.com/ansible\-collections/amazon\.aws/pull/1761)\)\.
* iam\_password\_policy \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_password\_policy</code>\.
* iam\_role \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_role</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1760](https\://github\.com/ansible\-collections/amazon\.aws/pull/1760)\)\.
* iam\_role\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_role\_info</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1760](https\://github\.com/ansible\-collections/amazon\.aws/pull/1760)\)\.
* s3\_bucket\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.s3\_bucket\_info</code>\.
* sts\_assume\_role \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.sts\_assume\_role</code>\.
<a id="chocolatey-chocolatey"></a>
#### chocolatey\.chocolatey
* win\_chocolatey \- add options for specifying checksums
* win\_chocolatey\_facts \- add filter / gather\_subset option
<a id="cisco-ios-3"></a>
#### cisco\.ios
* This release removes a previously deprecated modules\, and a few attributes from this collection\. Refer to <strong>Removed Features</strong> section for details\.
<a id="cisco-nxos-1"></a>
#### cisco\.nxos
* Refer to <strong>Removed Features</strong> section for details\.
* This release removes four of the previously deprecated modules from this collection\.
<a id="cloudscale-ch-cloud"></a>
#### cloudscale\_ch\.cloud
* Bump minimum required Ansible version to 2\.13\.0
<a id="community-mysql-3"></a>
#### community\.mysql
* The community\.mysql collection no longer supports <code>ansible\-core 2\.12</code> and <code>ansible\-core 2\.13</code>\. While we take no active measures to prevent usage and there are no plans to introduce incompatible code to the modules\, we will stop testing those versions\. Both are or will soon be End of Life and if you are still using them\, you should consider upgrading to the <code>latest Ansible / ansible\-core 2\.15 or later</code> as soon as possible \([https\://github\.com/ansible\-collections/community\.mysql/pull/574](https\://github\.com/ansible\-collections/community\.mysql/pull/574)\)\.
* mysql\_role \- the <code>column\_case\_sensitive</code> argument\'s default value will be changed to <code>true</code> in community\.mysql 4\.0\.0\. If your playbook expected the column to be automatically uppercased for your roles privileges\, you should set this to false explicitly \([https\://github\.com/ansible\-collections/community\.mysql/issues/578](https\://github\.com/ansible\-collections/community\.mysql/issues/578)\)\.
* mysql\_user \- the <code>column\_case\_sensitive</code> argument\'s default value will be changed to <code>true</code> in community\.mysql 4\.0\.0\. If your playbook expected the column to be automatically uppercased for your users privileges\, you should set this to false explicitly \([https\://github\.com/ansible\-collections/community\.mysql/issues/577](https\://github\.com/ansible\-collections/community\.mysql/issues/577)\)\.
<a id="community-postgresql-4"></a>
#### community\.postgresql
* postgres modules \- the minimum version of psycopg2 library the collection supports is 2\.5\.1 \([https\://github\.com/ansible\-collections/community\.postgresql/pull/556](https\://github\.com/ansible\-collections/community\.postgresql/pull/556)\)\.
* postgresql\_pg\_hba \- remove the deprecated <code>order</code> argument\. The sortorder <code>sdu</code> is hardcoded \([https\://github\.com/ansible\-collections/community\.postgresql/pull/496](https\://github\.com/ansible\-collections/community\.postgresql/pull/496)\)\.
* postgresql\_privs \- remove the deprecated <code>usage\_on\_types</code> argument\. Use the <code>type</code> option of the <code>type</code> argument to explicitly manipulate privileges on PG types \([https\://github\.com/ansible\-collections/community\.postgresql/issues/208](https\://github\.com/ansible\-collections/community\.postgresql/issues/208)\)\.
* postgresql\_query \- remove the deprecated <code>path\_to\_script</code> and <code>as\_single\_query</code> arguments\. Use the <code>postgresql\_script</code> module to run queries from scripts \([https\://github\.com/ansible\-collections/community\.postgresql/issues/189](https\://github\.com/ansible\-collections/community\.postgresql/issues/189)\)\.
* postgresql\_user \- move the deprecated <code>privs</code> argument removal to community\.postgresql 4\.0\.0 \([https\://github\.com/ansible\-collections/community\.postgresql/issues/493](https\://github\.com/ansible\-collections/community\.postgresql/issues/493)\)\.
* postgresql\_user \- remove the deprecated <code>groups</code> argument\. Use the <code>postgresql\_membership</code> module instead \([https\://github\.com/ansible\-collections/community\.postgresql/issues/300](https\://github\.com/ansible\-collections/community\.postgresql/issues/300)\)\.
<a id="community-sap"></a>
#### community\.sap
* all modules \- everything is now a redirect to the new collection community\.sap\_libs
<a id="community-vmware-4"></a>
#### community\.vmware
* vmware\_vasa \- added a new module to register/unregister a VASA provider
* vmware\_vasa\_info \- added a new module to gather the information about existing VASA provider\(s\)
<a id="fortinet-fortimanager-4"></a>
#### fortinet\.fortimanager
* Support all FortiManager versions in 6\.2\, 6\.4\, 7\.0\, 7\.2 and 7\.4\. 139 new modules\.
* Support token based authentication\.
<a id="fortinet-fortios-2"></a>
#### fortinet\.fortios
* Add new fortios version 7\.4\.1\.
* Add readthedocs\.yaml file\.
* Format the contents in the changelog\.yml file\.
* Improve the <em class="title-reference">no\_log</em> feature in some modules\;
* Improve the document for adding notes and examples in Q\&A for modules using Integer number as the mkey\.
* Improve the documentation and example for <em class="title-reference">seq\_num</em> in <em class="title-reference">fortios\_router\_static</em>\;
* Improve the documentation for <em class="title-reference">member\_path</em> in all the modules\;
* Support new FOS versions\.
* Update Ansible version from 2\.9 to 2\.14\.
* Update Q\&A regarding setting up FortiToken multi\-factor authentication\;
* Update Q\&A with a resolution for Ansible Always Sending GET/PUT Requests as POST Requests\.
* Update the requirement\.txt file to specify the sphinx\_rtd\_theme\=\=1\.3\.0
* update the required Ansible version to 2\.14\.0 in the runtime\.yml file\.
<a id="grafana-grafana-2"></a>
#### grafana\.grafana
* Addition of Grafana Server role by \@gardar
* Configurable agent user groups by \@NormanJS
* Grafana Plugins support on\-prem Grafana installation by \@ishanjainn
* Updated Service for flow mode by \@bentonam
<a id="minor-changes-4"></a>
### Minor Changes
* Move setuptools configuration into the declarative <code>setup\.cfg</code> format\. <code>ansible</code> sdists still contain a stub <code>setup\.py</code> file\, but we recommend that users move to tools like pip and build and the PEP 517 interface instead of setuptools\' deprecated <code>setup\.py</code> interface \([https\://github\.com/ansible\-community/antsibull/pull/530](https\://github\.com/ansible\-community/antsibull/pull/530)\)\.
<a id="ansible-core-14"></a>
#### Ansible\-core
* Add Python type hints to the Display class \([https\://github\.com/ansible/ansible/issues/80841](https\://github\.com/ansible/ansible/issues/80841)\)
* Add <code>GALAXY\_COLLECTIONS\_PATH\_WARNING</code> option to disable the warning given by <code>ansible\-galaxy collection install</code> when installing a collection to a path that isn\'t in the configured collection paths\.
* Add <code>python3\.12</code> to the default <code>INTERPRETER\_PYTHON\_FALLBACK</code> list\.
* Add <code>utcfromtimestamp</code> and <code>utcnow</code> to <code>ansible\.module\_utils\.compat\.datetime</code> to return fixed offset datetime objects\.
* Add a general <code>GALAXY\_SERVER\_TIMEOUT</code> config option for distribution servers \([https\://github\.com/ansible/ansible/issues/79833](https\://github\.com/ansible/ansible/issues/79833)\)\.
* Added Python type annotation to connection plugins
* CLI argument parsing \- Automatically prepend to the help of CLI arguments that support being specified multiple times\. \([https\://github\.com/ansible/ansible/issues/22396](https\://github\.com/ansible/ansible/issues/22396)\)
* DEFAULT\_TRANSPORT now defaults to \'ssh\'\, the old \'smart\' option is being deprecated as versions of OpenSSH without control persist are basically not present anymore\.
* Documentation for set filters <code>intersect</code>\, <code>difference</code>\, <code>symmetric\_difference</code> and <code>union</code> now states that the returned list items are in arbitrary order\.
* Record <code>removal\_date</code> in runtime metadata as a string instead of a date\.
* Remove the <code>CleansingNodeVisitor</code> class and its usage due to the templating changes that made it superfluous\. Also simplify the <code>Conditional</code> class\.
* Removed <code>exclude</code> and <code>recursive\-exclude</code> commands for generated files from the <code>MANIFEST\.in</code> file\. These excludes were unnecessary since releases are expected to be built with a clean worktree\.
* Removed <code>exclude</code> commands for sanity test files from the <code>MANIFEST\.in</code> file\. These tests were previously excluded because they did not pass when run from an sdist\. However\, sanity tests are not expected to pass from an sdist\, so excluding some \(but not all\) of the failing tests makes little sense\.
* Removed redundant <code>include</code> commands from the <code>MANIFEST\.in</code> file\. These includes either duplicated default behavior or another command\.
* The <code>ansible\-core</code> sdist no longer contains pre\-generated man pages\. Instead\, a <code>packaging/cli\-doc/build\.py</code> script is included in the sdist\. This script can generate man pages and standalone RST documentation for <code>ansible\-core</code> CLI programs\.
* The <code>docs</code> and <code>examples</code> directories are no longer included in the <code>ansible\-core</code> sdist\. These directories have been moved to the [https\://github\.com/ansible/ansible\-documentation](https\://github\.com/ansible/ansible\-documentation) repository\.
* The minimum required <code>setuptools</code> version is now 66\.1\.0\, as it is the oldest version to support Python 3\.12\.
* Update <code>ansible\_service\_mgr</code> fact to include init system for SMGL OS family
* Use <code>ansible\.module\_utils\.common\.text\.converters</code> instead of <code>ansible\.module\_utils\.\_text</code>\.
* Use <code>importlib\.resources\.abc\.TraversableResources</code> instead of deprecated <code>importlib\.abc\.TraversableResources</code> where available \([https\:/github\.com/ansible/ansible/pull/81082](https\:/github\.com/ansible/ansible/pull/81082)\)\.
* Use <code>include</code> where <code>recursive\-include</code> is unnecessary in the <code>MANIFEST\.in</code> file\.
* Use <code>package\_data</code> instead of <code>include\_package\_data</code> for <code>setup\.cfg</code> to avoid <code>setuptools</code> warnings\.
* Utilize gpg check provided internally by the <code>transaction\.run</code> method as oppose to calling it manually\.
* <code>Templar</code> \- do not add the <code>dict</code> constructor to <code>globals</code> as all required Jinja2 versions already do so
* ansible\-doc \- allow to filter listing of collections and metadata dump by more than one collection \([https\://github\.com/ansible/ansible/pull/81450](https\://github\.com/ansible/ansible/pull/81450)\)\.
* ansible\-galaxy \- Add a plural option to improve ignoring multiple signature error status codes when installing or verifying collections\. A space\-separated list of error codes can follow \-\-ignore\-signature\-status\-codes in addition to specifying \-\-ignore\-signature\-status\-code multiple times \(for example\, <code>\-\-ignore\-signature\-status\-codes NO\_PUBKEY UNEXPECTED</code>\)\.
* ansible\-galaxy \- Remove internal configuration argument <code>v3</code> \([https\://github\.com/ansible/ansible/pull/80721](https\://github\.com/ansible/ansible/pull/80721)\)
* ansible\-galaxy \- add note to the collection dependency resolver error message about pre\-releases if <code>\-\-pre</code> was not provided \([https\://github\.com/ansible/ansible/issues/80048](https\://github\.com/ansible/ansible/issues/80048)\)\.
* ansible\-galaxy \- used to crash out with a \"Errno 20 Not a directory\" error when extracting files from a role when hitting a file with an illegal name \([https\://github\.com/ansible/ansible/pull/81553](https\://github\.com/ansible/ansible/pull/81553)\)\. Now it gives a warning identifying the culprit file and the rule violation \(e\.g\.\, <code>my\$class\.jar</code> has a <code>\$</code> in the name\) before crashing out\, giving the user a chance to remove the invalid file and try again\. \([https\://github\.com/ansible/ansible/pull/81555](https\://github\.com/ansible/ansible/pull/81555)\)\.
* ansible\-test \- Add Alpine 3\.18 to remotes
* ansible\-test \- Add Fedora 38 container\.
* ansible\-test \- Add Fedora 38 remote\.
* ansible\-test \- Add FreeBSD 13\.2 remote\.
* ansible\-test \- Add new pylint checker for new <code>\# deprecated\:</code> comments within code to trigger errors when time to remove code that has no user facing deprecation message\. Only supported in ansible\-core\, not collections\.
* ansible\-test \- Add support for RHEL 8\.8 remotes\.
* ansible\-test \- Add support for RHEL 9\.2 remotes\.
* ansible\-test \- Add support for testing with Python 3\.12\.
* ansible\-test \- Allow float values for the <code>\-\-timeout</code> option to the <code>env</code> command\. This simplifies testing\.
* ansible\-test \- Enable <code>thread</code> code coverage in addition to the existing <code>multiprocessing</code> coverage\.
* ansible\-test \- Make Python 3\.12 the default version used in the <code>base</code> and <code>default</code> containers\.
* ansible\-test \- RHEL 8\.8 provisioning can now be used with the <code>\-\-python 3\.11</code> option\.
* ansible\-test \- RHEL 9\.2 provisioning can now be used with the <code>\-\-python 3\.11</code> option\.
* ansible\-test \- Refactored <code>env</code> command logic and timeout handling\.
* ansible\-test \- Remove Fedora 37 remote support\.
* ansible\-test \- Remove Fedora 37 test container\.
* ansible\-test \- Remove Python 3\.8 and 3\.9 from RHEL 8\.8\.
* ansible\-test \- Remove obsolete embedded script for configuring WinRM on Windows remotes\.
* ansible\-test \- Removed Ubuntu 20\.04 LTS image from the <em class="title-reference">\-\-remote</em> option\.
* ansible\-test \- Removed <em class="title-reference">freebsd/12\.4</em> remote\.
* ansible\-test \- Removed <em class="title-reference">freebsd/13\.1</em> remote\.
* ansible\-test \- Removed test remotes\: rhel/8\.7\, rhel/9\.1
* ansible\-test \- Removed the deprecated <code>\-\-docker\-no\-pull</code> option\.
* ansible\-test \- Removed the deprecated <code>\-\-no\-pip\-check</code> option\.
* ansible\-test \- Removed the deprecated <code>foreman</code> test plugin\.
* ansible\-test \- Removed the deprecated <code>govcsim</code> support from the <code>vcenter</code> test plugin\.
* ansible\-test \- Replace the <code>pytest\-forked</code> pytest plugin with a custom plugin\.
* ansible\-test \- The <code>no\-get\-exception</code> sanity test is now limited to plugins in collections\. Previously any Python file in a collection was checked for <code>get\_exception</code> usage\.
* ansible\-test \- The <code>replace\-urlopen</code> sanity test is now limited to plugins in collections\. Previously any Python file in a collection was checked for <code>urlopen</code> usage\.
* ansible\-test \- The <code>use\-compat\-six</code> sanity test is now limited to plugins in collections\. Previously any Python file in a collection was checked for <code>six</code> usage\.
* ansible\-test \- The openSUSE test container has been updated to openSUSE Leap 15\.5\.
* ansible\-test \- Update pip to <code>23\.1\.2</code> and setuptools to <code>67\.7\.2</code>\.
* ansible\-test \- Update the <code>default</code> containers\.
* ansible\-test \- Update the <code>nios\-test\-container</code> to version 2\.0\.0\, which supports API version 2\.9\.
* ansible\-test \- Update the logic used to detect when <code>ansible\-test</code> is running from source\.
* ansible\-test \- Updated the CloudStack test container to version 1\.6\.1\.
* ansible\-test \- Updated the distro test containers to version 6\.3\.0 to include coverage 7\.3\.2 for Python 3\.8\+\. The alpine3 container is now based on 3\.18 instead of 3\.17 and includes Python 3\.11 instead of Python 3\.10\.
* ansible\-test \- Use <code>datetime\.datetime\.now</code> with <code>tz</code> specified instead of <code>datetime\.datetime\.utcnow</code>\.
* ansible\-test \- Use a context manager to perform cleanup at exit instead of using the built\-in <code>atexit</code> module\.
* ansible\-test \- When invoking <code>sleep</code> in containers during container setup\, the <code>env</code> command is used to avoid invoking the shell builtin\, if present\.
* ansible\-test \- remove Alpine 3\.17 from remotes
* ansible\-test — Python 3\.8–3\.12 will use <code>coverage</code> v7\.3\.2\.
* ansible\-test — <code>coverage</code> v6\.5\.0 is to be used only under Python 3\.7\.
* ansible\-vault create\: Now raises an error when opening the editor without tty\. The flag \-\-skip\-tty\-check restores previous behaviour\.
* ansible\_user\_module \- tweaked macos user defaults to reflect expected defaults \([https\://github\.com/ansible/ansible/issues/44316](https\://github\.com/ansible/ansible/issues/44316)\)
* apt \- return calculated diff while running apt clean operation\.
* blockinfile \- add append\_newline and prepend\_newline options \([https\://github\.com/ansible/ansible/issues/80835](https\://github\.com/ansible/ansible/issues/80835)\)\.
* cli \- Added short option \'\-J\' for asking for vault password \([https\://github\.com/ansible/ansible/issues/80523](https\://github\.com/ansible/ansible/issues/80523)\)\.
* command \- Add option <code>expand\_argument\_vars</code> to disable argument expansion and use literal values \- [https\://github\.com/ansible/ansible/issues/54162](https\://github\.com/ansible/ansible/issues/54162)
* config lookup new option show\_origin to also return the origin of a configuration value\.
* display methods for warning and deprecation are now proxied to main process when issued from a fork\. This allows for the deduplication of warnings and deprecations to work globally\.
* dnf5 \- enable environment groups installation testing in CI as its support was added\.
* dnf5 \- enable now implemented <code>cacheonly</code> functionality
* executor now skips persistent connection when it detects an action that does not require a connection\.
* find module \- Add ability to filter based on modes
* gather\_facts now will use gather\_timeout setting to limit parallel execution of modules that do not themselves use gather\_timeout\.
* group \- remove extraneous warning shown when user does not exist \([https\://github\.com/ansible/ansible/issues/77049](https\://github\.com/ansible/ansible/issues/77049)\)\.
* include\_vars \- os\.walk now follows symbolic links when traversing directories \([https\://github\.com/ansible/ansible/pull/80460](https\://github\.com/ansible/ansible/pull/80460)\)
* module compression is now sourced directly via config\, bypassing play\_context possibly stale values\.
* reboot \- show last error message in verbose logs \([https\://github\.com/ansible/ansible/issues/81574](https\://github\.com/ansible/ansible/issues/81574)\)\.
* service\_facts now returns more info for rcctl managed systesm \(OpenBSD\)\.
* tasks \- the <code>retries</code> keyword can be specified without <code>until</code> in which case the task is retried until it succeeds but at most <code>retries</code> times \([https\://github\.com/ansible/ansible/issues/20802](https\://github\.com/ansible/ansible/issues/20802)\)
* user \- add new option <code>password\_expire\_warn</code> \(supported on Linux only\) to set the number of days of warning before a password change is required \([https\://github\.com/ansible/ansible/issues/79882](https\://github\.com/ansible/ansible/issues/79882)\)\.
* yum\_repository \- Align module documentation with parameters
<a id="amazon-aws-8"></a>
#### amazon\.aws
* amazon\.aws collection \- apply isort code formatting to ensure consistent formatting of code \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1771](https\://github\.com/ansible\-collections/amazon\.aws/pull/1771)\)\.
* backup\_selection \- add validation and documentation for all conditions suboptions \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1633](https\://github\.com/ansible\-collections/amazon\.aws/pull/1633)\)\.
* cloudformation \- Add support for <code>disable\_rollback</code> to update stack operation \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1681](https\://github\.com/ansible\-collections/amazon\.aws/issues/1681)\)\.
* ec2\_ami \- add support for <code>org\_arns</code> and <code>org\_unit\_arns</code> in launch\_permissions \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1690](https\://github\.com/ansible\-collections/amazon\.aws/pull/1690)\)\.
* ec2\_instance \- add support for additional <code>placement</code> options and <code>license\_specifications</code> in run instance spec \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1824](https\://github\.com/ansible\-collections/amazon\.aws/issues/1824)\)\.
* ec2\_instance \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\.
* ec2\_instance\_info \- add new parameter <code>include\_attributes</code> to describe instance attributes \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1577](https\://github\.com/ansible\-collections/amazon\.aws/pull/1577)\)\.
* ec2\_key \- add support for new parameter <code>file\_name</code> to save private key in when new key is created by AWS\. When this option is provided the generated private key will be removed from the module return \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1704](https\://github\.com/ansible\-collections/amazon\.aws/pull/1704)\)\.
* ec2\_metadata\_facts \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1802](https\://github\.com/ansible\-collections/amazon\.aws/pull/1802)\)\.
* ec2\_snapshot \- Add support for modifying createVolumePermission \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1464](https\://github\.com/ansible\-collections/amazon\.aws/pull/1464)\)\.
* ec2\_snapshot\_info \- Add createVolumePermission to output result \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1464](https\://github\.com/ansible\-collections/amazon\.aws/pull/1464)\)\.
* ec2\_vpc\_igw \- Add ability to attach/detach VPC to/from internet gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\.
* ec2\_vpc\_igw \- Add ability to change VPC attached to internet gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\.
* ec2\_vpc\_igw \- Add ability to create an internet gateway without attaching a VPC \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\.
* ec2\_vpc\_igw \- Add ability to delete a vpc internet gateway using the id of the gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1786](https\://github\.com/ansible\-collections/amazon\.aws/pull/1786)\)\.
* elb\_application\_lb\_info \- add new parameters <code>include\_attributes</code>\, <code>include\_listeners</code> and <code>include\_listener\_rules</code> to optionally speed up module by fetching less information \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1778](https\://github\.com/ansible\-collections/amazon\.aws/pull/1778)\)\.
* elb\_application\_lb\_info \- drop redundant <code>describe\_load\_balancers</code> call fetching <code>ip\_address\_type</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1768](https\://github\.com/ansible\-collections/amazon\.aws/pull/1768)\)\.
* iam\_user \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\.
* module\_utils\.arn \- add <code>resource\_id</code> and <code>resource\_type</code> to <code>parse\_aws\_arn</code> return values \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\.
* module\_utils\.arn \- added <code>validate\_aws\_arn</code> function to handle common pattern matching for ARNs \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1619](https\://github\.com/ansible\-collections/amazon\.aws/pull/1619)\)\.
* module\_utils\.botocore \- migrate from vendored copy of LooseVersion to packaging\.version\.Version \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1587](https\://github\.com/ansible\-collections/amazon\.aws/pull/1587)\)\.
* rds\_cluster \- Add support for removing cluster from global db \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1705](https\://github\.com/ansible\-collections/amazon\.aws/pull/1705)\)\.
* rds\_cluster \- add support for another <code>state</code> choice called <code>started</code>\. This starts the rds cluster \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files](https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files)\)\.
* rds\_cluster \- add support for another <code>state</code> choice called <code>stopped</code>\. This stops the rds cluster \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files](https\://github\.com/ansible\-collections/amazon\.aws/pull/1647/files)\)\.
* route53 \- add a <code>wait\_id</code> return value when a change is done \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1683](https\://github\.com/ansible\-collections/amazon\.aws/pull/1683)\)\.
* route53\_health\_check \- add support for a string list parameter called <code>child\_health\_checks</code> to specify health checks that must be healthy for the calculated health check \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1631](https\://github\.com/ansible\-collections/amazon\.aws/pull/1631)\)\.
* route53\_health\_check \- add support for an integer parameter called <code>health\_threshold</code> to specify the minimum number of healthy child health checks that must be healthy for the calculated health check \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1631](https\://github\.com/ansible\-collections/amazon\.aws/pull/1631)\)\.
* route53\_health\_check \- add support for another <code>type</code> choice called <code>CALCULATED</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1631](https\://github\.com/ansible\-collections/amazon\.aws/pull/1631)\)\.
* s3\_object \- Allow recursive copy of objects in S3 bucket \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1379](https\://github\.com/ansible\-collections/amazon\.aws/issues/1379)\)\.
* s3\_object \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1802](https\://github\.com/ansible\-collections/amazon\.aws/pull/1802)\)\.
<a id="ansible-netcommon"></a>
#### ansible\.netcommon
* Add a new cliconf plugin <code>default</code> that can be used when no cliconf plugin is found for a given network\_os\. This plugin only supports <code>get\(\)</code>\. \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/569](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/569)\)
* Add new module cli\_backup that exclusively handles configuration backup\.
* httpapi \- Add additional option <code>ca\_path</code>\, <code>client\_cert</code>\, <code>client\_key</code>\, and <code>http\_agent</code> that are available in open\_url but not to httpapi\. \([https\://github\.com/ansible\-collections/ansible\.netcommon/issues/528](https\://github\.com/ansible\-collections/ansible\.netcommon/issues/528)\)
* telnet \- add crlf option to send CRLF instead of just LF \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/440](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/440)\)\.
<a id="ansible-utils-1"></a>
#### ansible\.utils
* Add ipcut filter plugin\.\([https\://github\.com/ansible\-collections/ansible\.utils/issues/251](https\://github\.com/ansible\-collections/ansible\.utils/issues/251)\)
* Add ipv6form filter plugin\.\([https\://github\.com/ansible\-collections/ansible\.utils/issues/230](https\://github\.com/ansible\-collections/ansible\.utils/issues/230)\)
<a id="ansible-windows-4"></a>
#### ansible\.windows
* win\_certificate\_store \- the private key check\, when exporting to pkcs12\, has been modified to handle the case where the <code>PrivateKey</code> property is null despite it being there
* win\_find \- Added <code>depth</code> option to control how deep to go when scanning into the target path \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/335](https\://github\.com/ansible\-collections/ansible\.windows/issues/335)
* win\_updates \- Avoid using a scheduled task to spawn the updates background job when running as become\. This provides an alternative method available to users in case the task scheduler does not work on their system \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/543](https\://github\.com/ansible\-collections/ansible\.windows/issues/543)
<a id="arista-eos-1"></a>
#### arista\.eos
* Add support for overridden operation in bgp\_global resource module\.
* arista\_config \- Relax restrictions on I\(src\) parameter so it can be used more like I\(lines\)\.
<a id="check-point-mgmt-3"></a>
#### check\_point\.mgmt
* cp\_mgmt\_vpn\_community\_star \- new fields added\.
* show command modules \- no longer return result of changed\=True\.
<a id="chocolatey-chocolatey-1"></a>
#### chocolatey\.chocolatey
* All modules \- Ensure modules are compatible with both Chocolatey CLI v2\.x and v1\.x
* win\_chocolatey \- Improve error messages when installation of Chocolatey CLI v2\.x fails due to unmet \.NET Framework 4\.8 dependency on client
<a id="cisco-aci"></a>
#### cisco\.aci
* Add 8\.0 option for dvs\_version attribute in aci\_vmm\_controller
* Add ACI HTTPAPI plugin with multi host support \(\#114\)
* Add Match Rules for aci\_route\_control\_profile modules
* Add OSPF parameters to aci\_l3out module and create the associated test case\.
* Add aci\_access\_span\_src\_group modules for access span source group support
* Add aci\_access\_span\_src\_group\_src module for access span source support
* Add aci\_access\_span\_src\_group\_src\_path module for access span source path support
* Add aci\_bgp\_timers\_policy and aci\_bgp\_best\_path\_policy modules
* Add aci\_epg\_subnet module \(\#424\)
* Add aci\_fabric\_interface\_policy\_group module
* Add aci\_fabric\_span\_dst\_group module for fabric span destination group support
* Add aci\_fabric\_span\_src\_group module for fabric span source group support
* Add aci\_fabric\_span\_src\_group\_src module for fabric span source support
* Add aci\_fabric\_span\_src\_group\_src\_node module for fabric span source node support
* Add aci\_fabric\_span\_src\_group\_src\_path module for fabric span source path support
* Add aci\_file\_remote\_path module \(\#379\)
* Add aci\_interface\_policy\_leaf\_fc\_policy\_group and aci\_interface\_policy\_spine\_policy\_group module
* Add aci\_l3out\_bgp\_protocol\_profile module
* Add aci\_match\_community\_factor module\.
* Add aci\_route\_control\_context and aci\_match\_rule modules
* Add aci\_route\_control\_profile module
* Add aci\_vrf\_leak\_internal\_subnet module \(\#449\)
* Add description parameter for aci\_l3out\_logical\_interface\_profile
* Add hmac\-sha2\-224\, hmac\-sha2\-256\, hmac\-sha2\-384\, hmac\-sha2\-512 authentication types and description to aci\_snmp\_user module
* Add ip\_data\_plane\_learning attribute to aci\_bd\_subnet and aci\_vrf modules \(\#413\)
* Add local\_as\_number\_config and local\_as\_number attributes to support bgpLocalAsnP child object in aci\_l3out\_bgp\_peer module \(\#416\)
* Add loopback interface profile as a child class for aci\_l3out\_logical\_node\.
* Add missing attributes in aci\_interface\_policy\_leaf\_policy\_group
* Add missing attributes to aci\_l3out\_extepg module
* Add missing test cases\, fix found issues and add missing attributes for aci\_fabric\_scheduler\, aci\_firmware\_group\, aci\_firmware\_group\_node\, aci\_firmware\_policy\, aci\_interface\_policy\_fc\, aci\_interface\_policy\_lldp\, aci\_interface\_policy\_mcp\, aci\_interface\_policy\_ospf\, aci\_interface\_policy\_port\_channel\, aci\_maintenance\_group\, aci\_maintenance\_group\_node\, aci\_maintenance\_policy and aci\_tenant\_ep\_retention\_policy modules \(\#453\)
* Add node\_type and remote\_leaf\_pool\_id attributes to aci\_fabric\_node
* Add source\_port\, source\_port\_start\, source\_port\_end\, tcp\_flags and match\_only\_fragments attributes to aci\_filter\_entry module \(\#426\)
* Add support for checkmode in aci\_rest module
* Add support for configuration of fabric node control with aci\_fabric\_node\_control module
* Add support for configuration of fabric pod selectors with aci\_fabric\_pod\_selector module
* Add support for configuration of system banner and alias with aci\_system\_banner module
* Add support for configuration of system endpoint controls\, ip aging\, ep loop protection and roque endpoint control with aci\_system\_endpoint\_controls module
* Add support for configuration of system fabric wide settings with aci\_fabric\_wide\_settings module
* Add support for configuration of system global aes passphrase encryption with aci\_system\_global\_aes\_passphrase\_encryption module
* Add support for global infra dhcp relay policy configuration in aci\_dhcp\_relay
* Add support for global infra dhcp relay policy configuration in aci\_dhcp\_relay\_provider
<a id="cisco-ios-4"></a>
#### cisco\.ios
* Fixe an issue with some files that doesn\'t pass the PEP8 sanity check because <em class="title-reference">type\(\<obj\>\) \=\= \<type\></em> is not allowed\. We need to use <em class="title-reference">isinstance\(\<obj\>\,\<type\>\)</em> function in place
* ios\_acls \- make remarks ordered and to be applied per ace basis\.
* ios\_acls \- remarks in replaced and overridden state to be negated once per ace\.
* ios\_config \- Relax restrictions on I\(src\) parameter so it can be used more like I\(lines\)\.
* ios\_facts \- Add CPU utilization\. \([https\://github\.com/ansible\-collections/cisco\.ios/issues/779](https\://github\.com/ansible\-collections/cisco\.ios/issues/779)\)
* ios\_interfaces \- Add template attribute to provide support for cisco ios templates\.
* ios\_service \- Create module to manage service configuration on IOS switches
* ios\_snmp\_server \- Fix an issue with cbgp2 to take in count correctly the bgp traps
* ios\_snmp\_server \- Update the module to manage correctly a lot of traps not take in count
* ios\_snmp\_user \- update the user part to compare correctly the auth and privacy parts\.
* ospfv2 \- added more tests to improve coverage for the rm\_template
* ospfv2 \- aliased passive\_interface to passive\_interfaces that supports a list of interfaces
* ospfv2 \- fix area ranges rendering
* ospfv2 \- fix passive interfaces rendering
* ospfv2 \- optimized all the regex to perform better
* ospfv2 \- optimized the config side code for quicker comparison and execution
<a id="cisco-iosxr-1"></a>
#### cisco\.iosxr
* Add iosxr\_bgp\_templates module \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/341](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/341)\)\.
* iosxr\_config \- Relax restrictions on I\(src\) parameter so it can be used more like I\(lines\)\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/343](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/343)\)\.
* iosxr\_config Add updates option in return value\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/438](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/438)\)\.
* iosxr\_facts \- Add CPU utilization\.
* iosxr\_l2\_interfaces \- fix issue in supporting multiple iosxr version\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/379](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/379)\)\.
<a id="cisco-meraki-3"></a>
#### cisco\.meraki
* administered\_identities\_me\_info \- new plugin\.
* devices \- new plugin\.
* devices\_appliance\_performance\_info \- new plugin\.
* devices\_appliance\_uplinks\_settings \- new plugin\.
* devices\_appliance\_uplinks\_settings\_info \- new plugin\.
* devices\_appliance\_vmx\_authentication\_token \- new plugin\.
* devices\_blink\_leds \- new plugin\.
* devices\_camera\_analytics\_live\_info \- new plugin\.
* devices\_camera\_custom\_analytics \- new plugin\.
* devices\_camera\_custom\_analytics\_info \- new plugin\.
* devices\_camera\_generate\_snapshot \- new plugin\.
* devices\_camera\_quality\_and\_retention \- new plugin\.
* devices\_camera\_quality\_and\_retention\_info \- new plugin\.
* devices\_camera\_sense \- new plugin\.
* devices\_camera\_sense\_info \- new plugin\.
* devices\_camera\_video\_link\_info \- new plugin\.
* devices\_camera\_video\_settings \- new plugin\.
* devices\_camera\_video\_settings\_info \- new plugin\.
* devices\_camera\_wireless\_profiles \- new plugin\.
* devices\_camera\_wireless\_profiles\_info \- new plugin\.
* devices\_cellular\_gateway\_lan \- new plugin\.
* devices\_cellular\_gateway\_lan\_info \- new plugin\.
* devices\_cellular\_gateway\_port\_forwarding\_rules \- new plugin\.
* devices\_cellular\_gateway\_port\_forwarding\_rules\_info \- new plugin\.
* devices\_cellular\_sims \- new plugin\.
* devices\_cellular\_sims\_info \- new plugin\.
* devices\_info \- new plugin\.
* devices\_live\_tools\_ping \- new plugin\.
* devices\_live\_tools\_ping\_device \- new plugin\.
* devices\_live\_tools\_ping\_device\_info \- new plugin\.
* devices\_live\_tools\_ping\_info \- new plugin\.
* devices\_lldp\_cdp\_info \- new plugin\.
* devices\_management\_interface \- new plugin\.
* devices\_management\_interface\_info \- new plugin\.
* devices\_sensor\_relationships \- new plugin\.
* devices\_sensor\_relationships\_info \- new plugin\.
* devices\_switch\_ports \- new plugin\.
* devices\_switch\_ports\_cycle \- new plugin\.
* devices\_switch\_ports\_info \- new plugin\.
* devices\_switch\_ports\_statuses\_info \- new plugin\.
* devices\_switch\_routing\_interfaces \- new plugin\.
* devices\_switch\_routing\_interfaces\_dhcp \- new plugin\.
* devices\_switch\_routing\_interfaces\_dhcp\_info \- new plugin\.
* devices\_switch\_routing\_interfaces\_info \- new plugin\.
* devices\_switch\_routing\_static\_routes \- new plugin\.
* devices\_switch\_routing\_static\_routes\_info \- new plugin\.
* devices\_switch\_warm\_spare \- new plugin\.
* devices\_switch\_warm\_spare\_info \- new plugin\.
* devices\_wireless\_bluetooth\_settings \- new plugin\.
* devices\_wireless\_bluetooth\_settings\_info \- new plugin\.
* devices\_wireless\_connection\_stats\_info \- new plugin\.
* devices\_wireless\_latency\_stats\_info \- new plugin\.
* devices\_wireless\_radio\_settings \- new plugin\.
* devices\_wireless\_radio\_settings\_info \- new plugin\.
* devices\_wireless\_status\_info \- new plugin\.
* meraki\_mx\_site\_to\_site\_firewall \- Fix updating VPN rules per issue 302\.
* networks \- new plugin\.
* networks\_alerts\_history\_info \- new plugin\.
* networks\_alerts\_settings \- new plugin\.
* networks\_alerts\_settings\_info \- new plugin\.
* networks\_appliance\_connectivity\_monitoring\_destinations \- new plugin\.
* networks\_appliance\_connectivity\_monitoring\_destinations\_info \- new plugin\.
* networks\_appliance\_content\_filtering \- new plugin\.
* networks\_appliance\_content\_filtering\_categories\_info \- new plugin\.
* networks\_appliance\_content\_filtering\_info \- new plugin\.
* networks\_appliance\_firewall\_cellular\_firewall\_rules \- new plugin\.
* networks\_appliance\_firewall\_cellular\_firewall\_rules\_info \- new plugin\.
* networks\_appliance\_firewall\_firewalled\_services \- new plugin\.
* networks\_appliance\_firewall\_firewalled\_services\_info \- new plugin\.
* networks\_appliance\_firewall\_inbound\_firewall\_rules \- new plugin\.
* networks\_appliance\_firewall\_inbound\_firewall\_rules\_info \- new plugin\.
* networks\_appliance\_firewall\_l3\_firewall\_rules \- new plugin\.
* networks\_appliance\_firewall\_l3\_firewall\_rules\_info \- new plugin\.
* networks\_appliance\_firewall\_l7\_firewall\_rules \- new plugin\.
* networks\_appliance\_firewall\_l7\_firewall\_rules\_application\_categories\_info \- new plugin\.
* networks\_appliance\_firewall\_l7\_firewall\_rules\_info \- new plugin\.
* networks\_appliance\_firewall\_one\_to\_many\_nat\_rules \- new plugin\.
* networks\_appliance\_firewall\_one\_to\_many\_nat\_rules\_info \- new plugin\.
* networks\_appliance\_firewall\_one\_to\_one\_nat\_rules \- new plugin\.
* networks\_appliance\_firewall\_one\_to\_one\_nat\_rules\_info \- new plugin\.
* networks\_appliance\_firewall\_port\_forwarding\_rules \- new plugin\.
* networks\_appliance\_firewall\_port\_forwarding\_rules\_info \- new plugin\.
* networks\_appliance\_firewall\_settings \- new plugin\.
* networks\_appliance\_firewall\_settings\_info \- new plugin\.
* networks\_appliance\_ports \- new plugin\.
* networks\_appliance\_ports\_info \- new plugin\.
* networks\_appliance\_prefixes\_delegated\_statics \- new plugin\.
* networks\_appliance\_prefixes\_delegated\_statics\_info \- new plugin\.
* networks\_appliance\_security\_intrusion \- new plugin\.
* networks\_appliance\_security\_intrusion\_info \- new plugin\.
* networks\_appliance\_security\_malware \- new plugin\.
* networks\_appliance\_security\_malware\_info \- new plugin\.
* networks\_appliance\_settings \- new plugin\.
* networks\_appliance\_settings\_info \- new plugin\.
* networks\_appliance\_single\_lan \- new plugin\.
* networks\_appliance\_single\_lan\_info \- new plugin\.
* networks\_appliance\_ssids \- new plugin\.
* networks\_appliance\_ssids\_info \- new plugin\.
* networks\_appliance\_static\_routes \- new plugin\.
* networks\_appliance\_static\_routes\_info \- new plugin\.
* networks\_appliance\_traffic\_shaping \- new plugin\.
* networks\_appliance\_traffic\_shaping\_custom\_performance\_classes \- new plugin\.
* networks\_appliance\_traffic\_shaping\_info \- new plugin\.
* networks\_appliance\_traffic\_shaping\_rules \- new plugin\.
* networks\_appliance\_traffic\_shaping\_rules\_info \- new plugin\.
* networks\_appliance\_traffic\_shaping\_uplink\_bandwidth \- new plugin\.
* networks\_appliance\_traffic\_shaping\_uplink\_bandwidth\_info \- new plugin\.
* networks\_appliance\_traffic\_shaping\_uplink\_selection \- new plugin\.
* networks\_appliance\_traffic\_shaping\_uplink\_selection\_info \- new plugin\.
* networks\_appliance\_vlans \- new plugin\.
* networks\_appliance\_vlans\_info \- new plugin\.
* networks\_appliance\_vlans\_settings \- new plugin\.
* networks\_appliance\_vlans\_settings\_info \- new plugin\.
* networks\_appliance\_vpn\_bgp \- new plugin\.
* networks\_appliance\_vpn\_bgp\_info \- new plugin\.
* networks\_appliance\_vpn\_site\_to\_site\_vpn \- new plugin\.
* networks\_appliance\_vpn\_site\_to\_site\_vpn\_info \- new plugin\.
* networks\_appliance\_warm\_spare \- new plugin\.
* networks\_appliance\_warm\_spare\_info \- new plugin\.
* networks\_appliance\_warm\_spare\_swap \- new plugin\.
* networks\_bind \- new plugin\.
* networks\_bluetooth\_clients\_info \- new plugin\.
* networks\_camera\_quality\_retention\_profiles \- new plugin\.
* networks\_camera\_quality\_retention\_profiles\_info \- new plugin\.
* networks\_camera\_wireless\_profiles \- new plugin\.
* networks\_camera\_wireless\_profiles\_info \- new plugin\.
* networks\_cellular\_gateway\_connectivity\_monitoring\_destinations \- new plugin\.
* networks\_cellular\_gateway\_connectivity\_monitoring\_destinations\_info \- new plugin\.
* networks\_cellular\_gateway\_dhcp \- new plugin\.
* networks\_cellular\_gateway\_dhcp\_info \- new plugin\.
* networks\_cellular\_gateway\_subnet\_pool \- new plugin\.
* networks\_cellular\_gateway\_subnet\_pool\_info \- new plugin\.
* networks\_cellular\_gateway\_uplink \- new plugin\.
* networks\_cellular\_gateway\_uplink\_info \- new plugin\.
* networks\_clients\_info \- new plugin\.
* networks\_clients\_overview\_info \- new plugin\.
* networks\_clients\_policy \- new plugin\.
* networks\_clients\_policy\_info \- new plugin\.
* networks\_clients\_provision \- new plugin\.
* networks\_clients\_splash\_authorization\_status \- new plugin\.
* networks\_clients\_splash\_authorization\_status\_info \- new plugin\.
* networks\_devices\_claim \- new plugin\.
* networks\_devices\_claim\_vmx \- new plugin\.
* networks\_devices\_remove \- new plugin\.
* networks\_events\_event\_types\_info \- new plugin\.
* networks\_events\_info \- new plugin\.
* networks\_firmware\_upgrades \- new plugin\.
* networks\_firmware\_upgrades\_info \- new plugin\.
* networks\_firmware\_upgrades\_rollbacks \- new plugin\.
* networks\_firmware\_upgrades\_staged\_events \- new plugin\.
* networks\_firmware\_upgrades\_staged\_events\_defer \- new plugin\.
* networks\_firmware\_upgrades\_staged\_events\_info \- new plugin\.
* networks\_firmware\_upgrades\_staged\_events\_rollbacks \- new plugin\.
* networks\_firmware\_upgrades\_staged\_groups \- new plugin\.
* networks\_firmware\_upgrades\_staged\_groups\_info \- new plugin\.
* networks\_firmware\_upgrades\_staged\_stages \- new plugin\.
* networks\_firmware\_upgrades\_staged\_stages\_info \- new plugin\.
* networks\_floor\_plans \- new plugin\.
* networks\_floor\_plans\_info \- new plugin\.
* networks\_group\_policies \- new plugin\.
* networks\_group\_policies\_info \- new plugin\.
* networks\_health\_alerts\_info \- new plugin\.
* networks\_info \- new plugin\.
* networks\_insight\_applications\_health\_by\_time\_info \- new plugin\.
* networks\_meraki\_auth\_users \- new plugin\.
* networks\_meraki\_auth\_users\_info \- new plugin\.
* networks\_mqtt\_brokers \- new plugin\.
* networks\_netflow \- new plugin\.
* networks\_netflow\_info \- new plugin\.
* networks\_pii\_pii\_keys\_info \- new plugin\.
* networks\_pii\_requests\_delete \- new plugin\.
* networks\_pii\_requests\_info \- new plugin\.
* networks\_pii\_sm\_devices\_for\_key\_info \- new plugin\.
* networks\_pii\_sm\_owners\_for\_key\_info \- new plugin\.
* networks\_policies\_by\_client\_info \- new plugin\.
* networks\_sensor\_alerts\_current\_overview\_by\_metric\_info \- new plugin\.
* networks\_sensor\_alerts\_overview\_by\_metric\_info \- new plugin\.
* networks\_sensor\_alerts\_profiles \- new plugin\.
* networks\_sensor\_alerts\_profiles\_info \- new plugin\.
* networks\_sensor\_mqtt\_brokers \- new plugin\.
* networks\_sensor\_mqtt\_brokers\_info \- new plugin\.
* networks\_sensor\_relationships\_info \- new plugin\.
* networks\_settings \- new plugin\.
* networks\_settings\_info \- new plugin\.
* networks\_sm\_bypass\_activation\_lock\_attempts \- new plugin\.
* networks\_sm\_bypass\_activation\_lock\_attempts\_info \- new plugin\.
* networks\_sm\_devices\_cellular\_usage\_history\_info \- new plugin\.
* networks\_sm\_devices\_certs\_info \- new plugin\.
* networks\_sm\_devices\_checkin \- new plugin\.
* networks\_sm\_devices\_connectivity\_info \- new plugin\.
* networks\_sm\_devices\_desktop\_logs\_info \- new plugin\.
* networks\_sm\_devices\_device\_command\_logs\_info \- new plugin\.
* networks\_sm\_devices\_device\_profiles\_info \- new plugin\.
* networks\_sm\_devices\_fields \- new plugin\.
* networks\_sm\_devices\_info \- new plugin\.
* networks\_sm\_devices\_lock \- new plugin\.
* networks\_sm\_devices\_modify\_tags \- new plugin\.
* networks\_sm\_devices\_move \- new plugin\.
* networks\_sm\_devices\_network\_adapters\_info \- new plugin\.
* networks\_sm\_devices\_performance\_history\_info \- new plugin\.
* networks\_sm\_devices\_refresh\_details \- new plugin\.
* networks\_sm\_devices\_security\_centers\_info \- new plugin\.
* networks\_sm\_devices\_unenroll \- new plugin\.
* networks\_sm\_devices\_wipe \- new plugin\.
* networks\_sm\_devices\_wlan\_lists\_info \- new plugin\.
* networks\_sm\_profiles\_info \- new plugin\.
* networks\_sm\_target\_groups \- new plugin\.
* networks\_sm\_target\_groups\_info \- new plugin\.
* networks\_sm\_trusted\_access\_configs\_info \- new plugin\.
* networks\_sm\_user\_access\_devices\_delete \- new plugin\.
* networks\_sm\_user\_access\_devices\_info \- new plugin\.
* networks\_sm\_users\_device\_profiles\_info \- new plugin\.
* networks\_sm\_users\_info \- new plugin\.
* networks\_sm\_users\_softwares\_info \- new plugin\.
* networks\_snmp \- new plugin\.
* networks\_snmp\_info \- new plugin\.
* networks\_split \- new plugin\.
* networks\_switch\_access\_control\_lists \- new plugin\.
* networks\_switch\_access\_control\_lists\_info \- new plugin\.
* networks\_switch\_access\_policies \- new plugin\.
* networks\_switch\_access\_policies\_info \- new plugin\.
* networks\_switch\_alternate\_management\_interface \- new plugin\.
* networks\_switch\_alternate\_management\_interface\_info \- new plugin\.
* networks\_switch\_dhcp\_server\_policy \- new plugin\.
* networks\_switch\_dhcp\_server\_policy\_arp\_inspection\_trusted\_servers \- new plugin\.
* networks\_switch\_dhcp\_server\_policy\_arp\_inspection\_trusted\_servers\_info \- new plugin\.
* networks\_switch\_dhcp\_server\_policy\_arp\_inspection\_warnings\_by\_device\_info \- new plugin\.
* networks\_switch\_dhcp\_server\_policy\_info \- new plugin\.
* networks\_switch\_dhcp\_v4\_servers\_seen\_info \- new plugin\.
* networks\_switch\_dscp\_to\_cos\_mappings \- new plugin\.
* networks\_switch\_dscp\_to\_cos\_mappings\_info \- new plugin\.
* networks\_switch\_link\_aggregations \- new plugin\.
* networks\_switch\_link\_aggregations\_info \- new plugin\.
* networks\_switch\_mtu \- new plugin\.
* networks\_switch\_mtu\_info \- new plugin\.
* networks\_switch\_port\_schedules \- new plugin\.
* networks\_switch\_port\_schedules\_info \- new plugin\.
* networks\_switch\_qos\_rules\_order \- new plugin\.
* networks\_switch\_qos\_rules\_order\_info \- new plugin\.
* networks\_switch\_routing\_multicast \- new plugin\.
* networks\_switch\_routing\_multicast\_info \- new plugin\.
* networks\_switch\_routing\_multicast\_rendezvous\_points \- new plugin\.
* networks\_switch\_routing\_multicast\_rendezvous\_points\_info \- new plugin\.
* networks\_switch\_routing\_ospf \- new plugin\.
* networks\_switch\_routing\_ospf\_info \- new plugin\.
* networks\_switch\_settings \- new plugin\.
* networks\_switch\_settings\_info \- new plugin\.
* networks\_switch\_stacks \- new plugin\.
* networks\_switch\_stacks\_add \- new plugin\.
* networks\_switch\_stacks\_info \- new plugin\.
* networks\_switch\_stacks\_remove \- new plugin\.
* networks\_switch\_stacks\_routing\_interfaces \- new plugin\.
* networks\_switch\_stacks\_routing\_interfaces\_dhcp \- new plugin\.
* networks\_switch\_stacks\_routing\_interfaces\_dhcp\_info \- new plugin\.
* networks\_switch\_stacks\_routing\_interfaces\_info \- new plugin\.
* networks\_switch\_stacks\_routing\_static\_routes \- new plugin\.
* networks\_switch\_stacks\_routing\_static\_routes\_info \- new plugin\.
* networks\_switch\_storm\_control \- new plugin\.
* networks\_switch\_storm\_control\_info \- new plugin\.
* networks\_switch\_stp \- new plugin\.
* networks\_switch\_stp\_info \- new plugin\.
* networks\_syslog\_servers \- new plugin\.
* networks\_syslog\_servers\_info \- new plugin\.
* networks\_topology\_link\_layer\_info \- new plugin\.
* networks\_traffic\_analysis \- new plugin\.
* networks\_traffic\_analysis\_info \- new plugin\.
* networks\_traffic\_shaping\_application\_categories\_info \- new plugin\.
* networks\_traffic\_shaping\_dscp\_tagging\_options\_info \- new plugin\.
* networks\_unbind \- new plugin\.
* networks\_webhooks\_http\_servers \- new plugin\.
* networks\_webhooks\_http\_servers\_info \- new plugin\.
* networks\_webhooks\_payload\_templates \- new plugin\.
* networks\_webhooks\_payload\_templates\_info \- new plugin\.
* networks\_webhooks\_webhook\_tests\_info \- new plugin\.
* networks\_wireless\_alternate\_management\_interface \- new plugin\.
* networks\_wireless\_alternate\_management\_interface\_info \- new plugin\.
* networks\_wireless\_billing \- new plugin\.
* networks\_wireless\_billing\_info \- new plugin\.
* networks\_wireless\_bluetooth\_settings \- new plugin\.
* networks\_wireless\_bluetooth\_settings\_info \- new plugin\.
* networks\_wireless\_channel\_utilization\_history\_info \- new plugin\.
* networks\_wireless\_client\_count\_history\_info \- new plugin\.
* networks\_wireless\_clients\_connection\_stats\_info \- new plugin\.
* networks\_wireless\_clients\_latency\_stats\_info \- new plugin\.
* networks\_wireless\_connection\_stats\_info \- new plugin\.
* networks\_wireless\_data\_rate\_history\_info \- new plugin\.
* networks\_wireless\_devices\_connection\_stats\_info \- new plugin\.
* networks\_wireless\_failed\_connections\_info \- new plugin\.
* networks\_wireless\_latency\_history\_info \- new plugin\.
* networks\_wireless\_latency\_stats\_info \- new plugin\.
* networks\_wireless\_mesh\_statuses\_info \- new plugin\.
* networks\_wireless\_rf\_profiles \- new plugin\.
* networks\_wireless\_rf\_profiles\_info \- new plugin\.
* networks\_wireless\_settings \- new plugin\.
* networks\_wireless\_settings\_info \- new plugin\.
* networks\_wireless\_signal\_quality\_history\_info \- new plugin\.
* networks\_wireless\_ssids \- new plugin\.
* networks\_wireless\_ssids\_bonjour\_forwarding \- new plugin\.
* networks\_wireless\_ssids\_bonjour\_forwarding\_info \- new plugin\.
* networks\_wireless\_ssids\_device\_type\_group\_policies \- new plugin\.
* networks\_wireless\_ssids\_device\_type\_group\_policies\_info \- new plugin\.
* networks\_wireless\_ssids\_eap\_override \- new plugin\.
* networks\_wireless\_ssids\_eap\_override\_info \- new plugin\.
* networks\_wireless\_ssids\_firewall\_l3\_firewall\_rules \- new plugin\.
* networks\_wireless\_ssids\_firewall\_l3\_firewall\_rules\_info \- new plugin\.
* networks\_wireless\_ssids\_firewall\_l7\_firewall\_rules \- new plugin\.
* networks\_wireless\_ssids\_firewall\_l7\_firewall\_rules\_info \- new plugin\.
* networks\_wireless\_ssids\_hotspot20 \- new plugin\.
* networks\_wireless\_ssids\_hotspot20\_info \- new plugin\.
* networks\_wireless\_ssids\_identity\_psks \- new plugin\.
* networks\_wireless\_ssids\_identity\_psks\_info \- new plugin\.
* networks\_wireless\_ssids\_info \- new plugin\.
* networks\_wireless\_ssids\_schedules \- new plugin\.
* networks\_wireless\_ssids\_schedules\_info \- new plugin\.
* networks\_wireless\_ssids\_splash\_settings \- new plugin\.
* networks\_wireless\_ssids\_splash\_settings\_info \- new plugin\.
* networks\_wireless\_ssids\_traffic\_shaping\_rules \- new plugin\.
* networks\_wireless\_ssids\_traffic\_shaping\_rules\_info \- new plugin\.
* networks\_wireless\_ssids\_vpn \- new plugin\.
* networks\_wireless\_ssids\_vpn\_info \- new plugin\.
* networks\_wireless\_usage\_history\_info \- new plugin\.
* organizations \- new plugin\.
* organizations\_action\_batches \- new plugin\.
* organizations\_action\_batches\_info \- new plugin\.
* organizations\_adaptive\_policy\_acls \- new plugin\.
* organizations\_adaptive\_policy\_acls\_info \- new plugin\.
* organizations\_adaptive\_policy\_groups \- new plugin\.
* organizations\_adaptive\_policy\_groups\_info \- new plugin\.
* organizations\_adaptive\_policy\_overview\_info \- new plugin\.
* organizations\_adaptive\_policy\_policies \- new plugin\.
* organizations\_adaptive\_policy\_policies\_info \- new plugin\.
* organizations\_adaptive\_policy\_settings \- new plugin\.
* organizations\_adaptive\_policy\_settings\_info \- new plugin\.
* organizations\_admins \- new plugin\.
* organizations\_admins\_info \- new plugin\.
* organizations\_alerts\_profiles \- new plugin\.
* organizations\_api\_requests\_info \- new plugin\.
* organizations\_api\_requests\_overview\_info \- new plugin\.
* organizations\_api\_requests\_overview\_response\_codes\_by\_interval\_info \- new plugin\.
* organizations\_appliance\_security\_intrusion \- new plugin\.
* organizations\_appliance\_security\_intrusion\_info \- new plugin\.
* organizations\_appliance\_vpn\_third\_party\_vpnpeers \- new plugin\.
* organizations\_appliance\_vpn\_third\_party\_vpnpeers\_info \- new plugin\.
* organizations\_appliance\_vpn\_vpn\_firewall\_rules \- new plugin\.
* organizations\_appliance\_vpn\_vpn\_firewall\_rules\_info \- new plugin\.
* organizations\_branding\_policies \- new plugin\.
* organizations\_branding\_policies\_info \- new plugin\.
* organizations\_branding\_policies\_priorities \- new plugin\.
* organizations\_branding\_policies\_priorities\_info \- new plugin\.
* organizations\_camera\_custom\_analytics\_artifacts \- new plugin\.
* organizations\_camera\_custom\_analytics\_artifacts\_info \- new plugin\.
* organizations\_cellular\_gateway\_uplink\_statuses\_info \- new plugin\.
* organizations\_claim \- new plugin\.
* organizations\_clients\_bandwidth\_usage\_history\_info \- new plugin\.
* organizations\_clients\_overview\_info \- new plugin\.
* organizations\_clients\_search\_info \- new plugin\.
* organizations\_clone \- new plugin\.
* organizations\_config\_templates \- new plugin\.
* organizations\_config\_templates\_info \- new plugin\.
* organizations\_config\_templates\_switch\_profiles\_info \- new plugin\.
* organizations\_config\_templates\_switch\_profiles\_ports \- new plugin\.
* organizations\_config\_templates\_switch\_profiles\_ports\_info \- new plugin\.
* organizations\_devices\_availabilities\_info \- new plugin\.
* organizations\_devices\_info \- new plugin\.
* organizations\_devices\_power\_modules\_statuses\_by\_device\_info \- new plugin\.
* organizations\_devices\_provisioning\_statuses\_info \- new plugin\.
* organizations\_devices\_statuses\_info \- new plugin\.
* organizations\_devices\_statuses\_overview\_info \- new plugin\.
* organizations\_devices\_uplinks\_addresses\_by\_device\_info \- new plugin\.
* organizations\_devices\_uplinks\_loss\_and\_latency\_info \- new plugin\.
* organizations\_early\_access\_features\_info \- new plugin\.
* organizations\_early\_access\_features\_opt\_ins \- new plugin\.
* organizations\_early\_access\_features\_opt\_ins\_info \- new plugin\.
* organizations\_firmware\_upgrades\_by\_device\_info \- new plugin\.
* organizations\_firmware\_upgrades\_info \- new plugin\.
* organizations\_info \- new plugin\.
* organizations\_insight\_applications\_info \- new plugin\.
* organizations\_insight\_monitored\_media\_servers \- new plugin\.
* organizations\_insight\_monitored\_media\_servers\_info \- new plugin\.
* organizations\_inventory\_claim \- new plugin\.
* organizations\_inventory\_devices\_info \- new plugin\.
* organizations\_inventory\_onboarding\_cloud\_monitoring\_export\_events \- new plugin\.
* organizations\_inventory\_onboarding\_cloud\_monitoring\_imports \- new plugin\.
* organizations\_inventory\_onboarding\_cloud\_monitoring\_imports\_info \- new plugin\.
* organizations\_inventory\_onboarding\_cloud\_monitoring\_networks\_info \- new plugin\.
* organizations\_inventory\_onboarding\_cloud\_monitoring\_prepare \- new plugin\.
* organizations\_inventory\_release \- new plugin\.
* organizations\_licenses \- new plugin\.
* organizations\_licenses\_assign\_seats \- new plugin\.
* organizations\_licenses\_info \- new plugin\.
* organizations\_licenses\_move \- new plugin\.
* organizations\_licenses\_move\_seats \- new plugin\.
* organizations\_licenses\_overview\_info \- new plugin\.
* organizations\_licenses\_renew\_seats \- new plugin\.
* organizations\_licensing\_coterm\_licenses\_info \- new plugin\.
* organizations\_licensing\_coterm\_licenses\_move \- new plugin\.
* organizations\_login\_security \- new plugin\.
* organizations\_login\_security\_info \- new plugin\.
* organizations\_networks\_combine \- new plugin\.
* organizations\_openapi\_spec\_info \- new plugin\.
* organizations\_policy\_objects \- new plugin\.
* organizations\_policy\_objects\_groups \- new plugin\.
* organizations\_policy\_objects\_groups\_info \- new plugin\.
* organizations\_policy\_objects\_info \- new plugin\.
* organizations\_saml \- new plugin\.
* organizations\_saml\_idps \- new plugin\.
* organizations\_saml\_idps\_info \- new plugin\.
* organizations\_saml\_info \- new plugin\.
* organizations\_saml\_roles \- new plugin\.
* organizations\_saml\_roles\_info \- new plugin\.
* organizations\_sensor\_readings\_history\_info \- new plugin\.
* organizations\_sensor\_readings\_latest\_info \- new plugin\.
* organizations\_sm\_apns\_cert\_info \- new plugin\.
* organizations\_sm\_vpp\_accounts\_info \- new plugin\.
* organizations\_snmp \- new plugin\.
* organizations\_snmp\_info \- new plugin\.
* organizations\_summary\_top\_appliances\_by\_utilization\_info \- new plugin\.
* organizations\_summary\_top\_clients\_by\_usage\_info \- new plugin\.
* organizations\_summary\_top\_clients\_manufacturers\_by\_usage\_info \- new plugin\.
* organizations\_summary\_top\_devices\_by\_usage\_info \- new plugin\.
* organizations\_summary\_top\_devices\_models\_by\_usage\_info \- new plugin\.
* organizations\_summary\_top\_ssids\_by\_usage\_info \- new plugin\.
* organizations\_summary\_top\_switches\_by\_energy\_usage\_info \- new plugin\.
* organizations\_switch\_devices\_clone \- new plugin\.
* organizations\_switch\_ports\_by\_switch\_info \- new plugin\.
* organizations\_uplinks\_statuses\_info \- new plugin\.
* organizations\_users \- new plugin\.
* organizations\_webhooks\_logs\_info \- new plugin\.
* organizations\_wireless\_devices\_ethernet\_statuses\_info \- new plugin\.
<a id="cisco-mso"></a>
#### cisco\.mso
* Add login domain attribute to mso httpapi connection plugin with restructure of connection parameter handling
* Add mso\_schema\_template\_anp\_epg\_useg\_attribute and mso\_schema\_site\_anp\_epg\_useg\_attribute modules to manage EPG uSeg attributes \(\#370\)
<a id="cisco-nxos-2"></a>
#### cisco\.nxos
* Add nxos\_bgp\_templates module\.
* Added new module fc\_interfaces
* bgp\_global \- support remote\-as as a route\-map \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/741](https\://github\.com/ansible\-collections/cisco\.nxos/issues/741)\)\.
* bgp\_neighbor\_address\_family \- support rewrite\-rt\-asn for ipv4 mvpn \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/741](https\://github\.com/ansible\-collections/cisco\.nxos/issues/741)\)\.
* bgp\_templates \- Add support for safi evpn \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/739](https\://github\.com/ansible\-collections/cisco\.nxos/issues/739)\)\.
* bgp\_templates \- Add support for send\_community \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/740](https\://github\.com/ansible\-collections/cisco\.nxos/issues/740)\)\.
* nxos\_facts \- add cpu utilization data to facts\.
* nxos\_user \- Add support for hashed passwords\. \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/370](https\://github\.com/ansible\-collections/cisco\.nxos/issues/370)\)\.
* nxos\_user \- Added dev\-ops role to BUILTINS \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/690](https\://github\.com/ansible\-collections/cisco\.nxos/issues/690)\)
* route\_maps \- support extcommunity rt option \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/743](https\://github\.com/ansible\-collections/cisco\.nxos/issues/743)\)\.
<a id="community-aws-2"></a>
#### community\.aws
* api\_gateway \- add support for parameters <code>name</code>\, <code>lookup</code>\, <code>tags</code> and <code>purge\_tags</code> \([https\://github\.com/ansible\-collections/community\.aws/pull/1845](https\://github\.com/ansible\-collections/community\.aws/pull/1845)\)\.
* api\_gateway \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1962](https\://github\.com/ansible\-collections/amazon\.aws/pull/1962)\)\.
* api\_gateway\_info \- use fstrings where appropriate \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1962](https\://github\.com/ansible\-collections/amazon\.aws/pull/1962)\)\.
* community\.aws collection \- apply isort code formatting to ensure consistent formatting of code \([https\://github\.com/ansible\-collections/community\.aws/pull/1962](https\://github\.com/ansible\-collections/community\.aws/pull/1962)\)
* dynamodb\_table \- added waiter when updating indexes to avoid concurrency issues \([https\://github\.com/ansible\-collections/community\.aws/pull/1866](https\://github\.com/ansible\-collections/community\.aws/pull/1866)\)\.
* dynamodb\_table \- increased default timeout based on time to update indexes in CI \([https\://github\.com/ansible\-collections/community\.aws/pull/1866](https\://github\.com/ansible\-collections/community\.aws/pull/1866)\)\.
* ec2\_vpc\_vpn \- add support for connecting VPNs to a transit gateway \([https\://github\.com/ansible\-collections/community\.aws/pull/1877](https\://github\.com/ansible\-collections/community\.aws/pull/1877)\)\.
* ecs\_taskdefinition \- Add parameter <code>runtime\_platform</code> \([https\://github\.com/ansible\-collections/community\.aws/issues/1891](https\://github\.com/ansible\-collections/community\.aws/issues/1891)\)\.
* eks\_nodegroup \- ensure wait also waits for deletion to complete when <code>wait\=\=True</code> \([https\://github\.com/ansible\-collections/community\.aws/pull/1994](https\://github\.com/ansible\-collections/community\.aws/pull/1994)\)\.
* iam\_group \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/community\.aws/pull/1848](https\://github\.com/ansible\-collections/community\.aws/pull/1848)\)\.
* iam\_role \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/community\.aws/pull/1848](https\://github\.com/ansible\-collections/community\.aws/pull/1848)\)\.
* sns\_topic \- refactored ARN validation handling \([https\://github\.com/ansible\-collections/community\.aws/pull/1848](https\://github\.com/ansible\-collections/community\.aws/pull/1848)\)\.
<a id="community-ciscosmb"></a>
#### community\.ciscosmb
* added Ansible playbook examples <code>cismosmb\_inventory\_template\.yml</code>\, <code>cismosmb\_gather\_facts\.yml</code>\, <code>cismosmb\_commands\.yml</code>
* no longer testing for ansible 2\.9 and for Python 2\.6 / 2\.7
* removed unused portion of code in cliconf/ciscosmb\.yml
* test Ansible 2\.14
<a id="community-crypto-6"></a>
#### community\.crypto
* acme\_certificate \- allow to use no challenge by providing <code>no challenge</code> for the <code>challenge</code> option\. This is needed for ACME servers where validation is done without challenges \([https\://github\.com/ansible\-collections/community\.crypto/issues/613](https\://github\.com/ansible\-collections/community\.crypto/issues/613)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/615](https\://github\.com/ansible\-collections/community\.crypto/pull/615)\)\.
* acme\_certificate \- validate and wait for challenges in parallel instead handling them one after another \([https\://github\.com/ansible\-collections/community\.crypto/pull/617](https\://github\.com/ansible\-collections/community\.crypto/pull/617)\)\.
* luks\_devices \- add new options <code>keyslot</code>\, <code>new\_keyslot</code>\, and <code>remove\_keyslot</code> to allow adding/removing keys to/from specific keyslots \([https\://github\.com/ansible\-collections/community\.crypto/pull/664](https\://github\.com/ansible\-collections/community\.crypto/pull/664)\)\.
* openssh\_keypair \- fail when comment cannot be updated \([https\://github\.com/ansible\-collections/community\.crypto/pull/646](https\://github\.com/ansible\-collections/community\.crypto/pull/646)\)\.
* x509\_certificate\_info \- added support for certificates in DER format when using <code>path</code> parameter \([https\://github\.com/ansible\-collections/community\.crypto/issues/603](https\://github\.com/ansible\-collections/community\.crypto/issues/603)\)\.
<a id="community-digitalocean-3"></a>
#### community\.digitalocean
* documentation \- use C\(true\) and C\(false\) for boolean values in documentation and examples \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/303](https\://github\.com/ansible\-collections/community\.digitalocean/issues/303)\)\.
* inventory plugin \- drop C\(api\_token\) in favor of C\(oauth\_token\) for consistency \([https\://github\.com/ansible\-collections/community\.digitalocean/issues/300](https\://github\.com/ansible\-collections/community\.digitalocean/issues/300)\)\.
* tests \- add C\(sanity\)\, C\(units\)\, and C\(psf/black\) back on merge into C\(main\) \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/311](https\://github\.com/ansible\-collections/community\.digitalocean/pull/311)\)\.
* tests \- drop Ansible 2\.9 and Ansible Core 2\.10 and 2\.11 \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\.
* tests \- remove the daily runs \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\.
* tests \- run C\(psf/black\) across all files \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\.
* tests \- test against Ansible Core 2\.12\, 2\.13\, and 2\.14 \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/310](https\://github\.com/ansible\-collections/community\.digitalocean/pull/310)\)\.
<a id="community-dns-7"></a>
#### community\.dns
* wait\_for\_txt \- add <code>servfail\_retries</code> parameter that allows retrying after SERVFAIL errors \([https\://github\.com/ansible\-collections/community\.dns/pull/159](https\://github\.com/ansible\-collections/community\.dns/pull/159)\)\.
* wait\_for\_txt\, resolver module utils \- use [EDNS](https\://en\.wikipedia\.org/wiki/Extension\_Mechanisms\_for\_DNS) \([https\://github\.com/ansible\-collections/community\.dns/pull/158](https\://github\.com/ansible\-collections/community\.dns/pull/158)\)\.
<a id="community-general-14"></a>
#### community\.general
* The collection will start using semantic markup \([https\://github\.com/ansible\-collections/community\.general/pull/6539](https\://github\.com/ansible\-collections/community\.general/pull/6539)\)\.
* VarDict module utils \- add method <code>VarDict\.as\_dict\(\)</code> to convert to a plain <code>dict</code> object \([https\://github\.com/ansible\-collections/community\.general/pull/6602](https\://github\.com/ansible\-collections/community\.general/pull/6602)\)\.
* apt\_rpm \- extract package name from local <code>\.rpm</code> path when verifying
installation success\. Allows installing packages from local <code>\.rpm</code> files
\([https\://github\.com/ansible\-collections/community\.general/pull/7396](https\://github\.com/ansible\-collections/community\.general/pull/7396)\)\.
* cargo \- add option <code>executable</code>\, which allows user to specify path to the cargo binary \([https\://github\.com/ansible\-collections/community\.general/pull/7352](https\://github\.com/ansible\-collections/community\.general/pull/7352)\)\.
* cargo \- add option <code>locked</code> which allows user to specify install the locked version of dependency instead of latest compatible version \([https\://github\.com/ansible\-collections/community\.general/pull/6134](https\://github\.com/ansible\-collections/community\.general/pull/6134)\)\.
* chroot connection plugin \- add <code>disable\_root\_check</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7099](https\://github\.com/ansible\-collections/community\.general/pull/7099)\)\.
* cloudflare\_dns \- add CAA record support \([https\://github\.com/ansible\-collections/community\.general/pull/7399](https\://github\.com/ansible\-collections/community\.general/pull/7399)\)\.
* cobbler inventory plugin \- add <code>exclude\_mgmt\_classes</code> and <code>include\_mgmt\_classes</code> options to exclude or include hosts based on management classes \([https\://github\.com/ansible\-collections/community\.general/pull/7184](https\://github\.com/ansible\-collections/community\.general/pull/7184)\)\.
* cobbler inventory plugin \- add <code>inventory\_hostname</code> option to allow using the system name for the inventory hostname \([https\://github\.com/ansible\-collections/community\.general/pull/6502](https\://github\.com/ansible\-collections/community\.general/pull/6502)\)\.
* cobbler inventory plugin \- add <code>want\_ip\_addresses</code> option to collect all interface DNS name to IP address mapping \([https\://github\.com/ansible\-collections/community\.general/pull/6711](https\://github\.com/ansible\-collections/community\.general/pull/6711)\)\.
* cobbler inventory plugin \- add primary IP addess to <code>cobbler\_ipv4\_address</code> and IPv6 address to <code>cobbler\_ipv6\_address</code> host variable \([https\://github\.com/ansible\-collections/community\.general/pull/6711](https\://github\.com/ansible\-collections/community\.general/pull/6711)\)\.
* cobbler inventory plugin \- add warning for systems with empty profiles \([https\://github\.com/ansible\-collections/community\.general/pull/6502](https\://github\.com/ansible\-collections/community\.general/pull/6502)\)\.
* cobbler inventory plugin \- convert Ansible unicode strings to native Python unicode strings before passing user/password to XMLRPC client \([https\://github\.com/ansible\-collections/community\.general/pull/6923](https\://github\.com/ansible\-collections/community\.general/pull/6923)\)\.
* consul\_session \- drops requirement for the <code>python\-consul</code> library to communicate with the Consul API\, instead relying on the existing <code>requests</code> library requirement \([https\://github\.com/ansible\-collections/community\.general/pull/6755](https\://github\.com/ansible\-collections/community\.general/pull/6755)\)\.
* copr \- respawn module to use the system python interpreter when the <code>dnf</code> python module is not available in <code>ansible\_python\_interpreter</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6522](https\://github\.com/ansible\-collections/community\.general/pull/6522)\)\.
* cpanm \- minor refactor when creating the <code>CmdRunner</code> object \([https\://github\.com/ansible\-collections/community\.general/pull/7231](https\://github\.com/ansible\-collections/community\.general/pull/7231)\)\.
* datadog\_monitor \- adds <code>notification\_preset\_name</code>\, <code>renotify\_occurrences</code> and <code>renotify\_statuses</code> parameters \([https\://github\.com/ansible\-collections/community\.general/issues/6521\,https\://github\.com/ansible\-collections/community\.general/issues/5823](https\://github\.com/ansible\-collections/community\.general/issues/6521\,https\://github\.com/ansible\-collections/community\.general/issues/5823)\)\.
* dig lookup plugin \- add TCP option to enable the use of TCP connection during DNS lookup \([https\://github\.com/ansible\-collections/community\.general/pull/7343](https\://github\.com/ansible\-collections/community\.general/pull/7343)\)\.
* ejabberd\_user \- module now using <code>CmdRunner</code> to execute external command \([https\://github\.com/ansible\-collections/community\.general/pull/7075](https\://github\.com/ansible\-collections/community\.general/pull/7075)\)\.
* filesystem \- add <code>uuid</code> parameter for UUID change feature \([https\://github\.com/ansible\-collections/community\.general/pull/6680](https\://github\.com/ansible\-collections/community\.general/pull/6680)\)\.
* gitlab\_group \- add option <code>force\_delete</code> \(default\: false\) which allows delete group even if projects exists in it \([https\://github\.com/ansible\-collections/community\.general/pull/7364](https\://github\.com/ansible\-collections/community\.general/pull/7364)\)\.
* gitlab\_group\_variable \- add support for <code>raw</code> variables suboption \([https\://github\.com/ansible\-collections/community\.general/pull/7132](https\://github\.com/ansible\-collections/community\.general/pull/7132)\)\.
* gitlab\_project\_variable \- add support for <code>raw</code> variables suboption \([https\://github\.com/ansible\-collections/community\.general/pull/7132](https\://github\.com/ansible\-collections/community\.general/pull/7132)\)\.
* gitlab\_project\_variable \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\.
* gitlab\_runner \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6927](https\://github\.com/ansible\-collections/community\.general/pull/6927)\)\.
* htpasswd \- minor code improvements in the module \([https\://github\.com/ansible\-collections/community\.general/pull/6901](https\://github\.com/ansible\-collections/community\.general/pull/6901)\)\.
* htpasswd \- the parameter <code>crypt\_scheme</code> is being renamed as <code>hash\_scheme</code> and added as an alias to it \([https\://github\.com/ansible\-collections/community\.general/pull/6841](https\://github\.com/ansible\-collections/community\.general/pull/6841)\)\.
* icinga2\_host \- the <code>ip</code> option is no longer required\, since Icinga 2 allows for an empty address attribute \([https\://github\.com/ansible\-collections/community\.general/pull/7452](https\://github\.com/ansible\-collections/community\.general/pull/7452)\)\.
* ini\_file \- add <code>ignore\_spaces</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7273](https\://github\.com/ansible\-collections/community\.general/pull/7273)\)\.
* ini\_file \- add <code>modify\_inactive\_option</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7401](https\://github\.com/ansible\-collections/community\.general/pull/7401)\)\.
* ipa\_config \- add module parameters to manage FreeIPA user and group objectclasses \([https\://github\.com/ansible\-collections/community\.general/pull/7019](https\://github\.com/ansible\-collections/community\.general/pull/7019)\)\.
* ipa\_config \- adds <code>idp</code> choice to <code>ipauserauthtype</code> parameter\'s choices \([https\://github\.com/ansible\-collections/community\.general/pull/7051](https\://github\.com/ansible\-collections/community\.general/pull/7051)\)\.
* jenkins\_build \- add new <code>detach</code> option\, which allows the module to exit successfully as long as the build is created \(default functionality is still waiting for the build to end before exiting\) \([https\://github\.com/ansible\-collections/community\.general/pull/7204](https\://github\.com/ansible\-collections/community\.general/pull/7204)\)\.
* jenkins\_build \- add new <code>time\_between\_checks</code> option\, which allows to configure the wait time between requests to the Jenkins server \([https\://github\.com/ansible\-collections/community\.general/pull/7204](https\://github\.com/ansible\-collections/community\.general/pull/7204)\)\.
* keycloak\_authentication \- added provider ID choices\, since Keycloak supports only those two specific ones \([https\://github\.com/ansible\-collections/community\.general/pull/6763](https\://github\.com/ansible\-collections/community\.general/pull/6763)\)\.
* keycloak\_client\_rolemapping \- adds support for subgroups with additional parameter <code>parents</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6687](https\://github\.com/ansible\-collections/community\.general/pull/6687)\)\.
* keycloak\_role \- add composite roles support for realm and client roles \([https\://github\.com/ansible\-collections/community\.general/pull/6469](https\://github\.com/ansible\-collections/community\.general/pull/6469)\)\.
* keyring \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6927](https\://github\.com/ansible\-collections/community\.general/pull/6927)\)\.
* ldap\_\* \- add new arguments <code>client\_cert</code> and <code>client\_key</code> to the LDAP modules in order to allow certificate authentication \([https\://github\.com/ansible\-collections/community\.general/pull/6668](https\://github\.com/ansible\-collections/community\.general/pull/6668)\)\.
* ldap\_search \- add a new <code>page\_size</code> option to enable paged searches \([https\://github\.com/ansible\-collections/community\.general/pull/6648](https\://github\.com/ansible\-collections/community\.general/pull/6648)\)\.
* locale\_gen \- module has been refactored to use <code>ModuleHelper</code> and <code>CmdRunner</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6903](https\://github\.com/ansible\-collections/community\.general/pull/6903)\)\.
* locale\_gen \- module now using <code>CmdRunner</code> to execute external commands \([https\://github\.com/ansible\-collections/community\.general/pull/6820](https\://github\.com/ansible\-collections/community\.general/pull/6820)\)\.
* lvg \- add <code>active</code> and <code>inactive</code> values to the <code>state</code> option for active state management feature \([https\://github\.com/ansible\-collections/community\.general/pull/6682](https\://github\.com/ansible\-collections/community\.general/pull/6682)\)\.
* lvg \- add <code>reset\_vg\_uuid</code>\, <code>reset\_pv\_uuid</code> options for UUID reset feature \([https\://github\.com/ansible\-collections/community\.general/pull/6682](https\://github\.com/ansible\-collections/community\.general/pull/6682)\)\.
* lxc connection plugin \- properly handle a change of the <code>remote\_addr</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7373](https\://github\.com/ansible\-collections/community\.general/pull/7373)\)\.
* lxd connection plugin \- automatically translate <code>remote\_addr</code> from FQDN to \(short\) hostname \([https\://github\.com/ansible\-collections/community\.general/pull/7360](https\://github\.com/ansible\-collections/community\.general/pull/7360)\)\.
* lxd connection plugin \- update error parsing to work with newer messages mentioning instances \([https\://github\.com/ansible\-collections/community\.general/pull/7360](https\://github\.com/ansible\-collections/community\.general/pull/7360)\)\.
* lxd inventory plugin \- add <code>server\_cert</code> option for trust anchor to use for TLS verification of server certificates \([https\://github\.com/ansible\-collections/community\.general/pull/7392](https\://github\.com/ansible\-collections/community\.general/pull/7392)\)\.
* lxd inventory plugin \- add <code>server\_check\_hostname</code> option to disable hostname verification of server certificates \([https\://github\.com/ansible\-collections/community\.general/pull/7392](https\://github\.com/ansible\-collections/community\.general/pull/7392)\)\.
* make \- add new <code>targets</code> parameter allowing multiple targets to be used with <code>make</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6882](https\://github\.com/ansible\-collections/community\.general/pull/6882)\, [https\://github\.com/ansible\-collections/community\.general/issues/4919](https\://github\.com/ansible\-collections/community\.general/issues/4919)\)\.
* make \- allows <code>params</code> to be used without value \([https\://github\.com/ansible\-collections/community\.general/pull/7180](https\://github\.com/ansible\-collections/community\.general/pull/7180)\)\.
* mas \- disable sign\-in check for macOS 12\+ as <code>mas account</code> is non\-functional \([https\://github\.com/ansible\-collections/community\.general/pull/6520](https\://github\.com/ansible\-collections/community\.general/pull/6520)\)\.
* newrelic\_deployment \- add option <code>app\_name\_exact\_match</code>\, which filters results for the exact app\_name provided \([https\://github\.com/ansible\-collections/community\.general/pull/7355](https\://github\.com/ansible\-collections/community\.general/pull/7355)\)\.
* nmap inventory plugin \- now has a <code>use\_arp\_ping</code> option to allow the user to disable the default ARP ping query for a more reliable form \([https\://github\.com/ansible\-collections/community\.general/pull/7119](https\://github\.com/ansible\-collections/community\.general/pull/7119)\)\.
* nmcli \- add support for <code>ipv4\.dns\-options</code> and <code>ipv6\.dns\-options</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6902](https\://github\.com/ansible\-collections/community\.general/pull/6902)\)\.
* nomad\_job\, nomad\_job\_info \- add <code>port</code> parameter \([https\://github\.com/ansible\-collections/community\.general/pull/7412](https\://github\.com/ansible\-collections/community\.general/pull/7412)\)\.
* npm \- minor improvement on parameter validation \([https\://github\.com/ansible\-collections/community\.general/pull/6848](https\://github\.com/ansible\-collections/community\.general/pull/6848)\)\.
* npm \- module now using <code>CmdRunner</code> to execute external commands \([https\://github\.com/ansible\-collections/community\.general/pull/6989](https\://github\.com/ansible\-collections/community\.general/pull/6989)\)\.
* onepassword lookup plugin \- add service account support \([https\://github\.com/ansible\-collections/community\.general/issues/6635](https\://github\.com/ansible\-collections/community\.general/issues/6635)\, [https\://github\.com/ansible\-collections/community\.general/pull/6660](https\://github\.com/ansible\-collections/community\.general/pull/6660)\)\.
* onepassword lookup plugin \- introduce <code>account\_id</code> option which allows specifying which account to use \([https\://github\.com/ansible\-collections/community\.general/pull/7308](https\://github\.com/ansible\-collections/community\.general/pull/7308)\)\.
* onepassword\_raw lookup plugin \- add service account support \([https\://github\.com/ansible\-collections/community\.general/issues/6635](https\://github\.com/ansible\-collections/community\.general/issues/6635)\, [https\://github\.com/ansible\-collections/community\.general/pull/6660](https\://github\.com/ansible\-collections/community\.general/pull/6660)\)\.
* onepassword\_raw lookup plugin \- introduce <code>account\_id</code> option which allows specifying which account to use \([https\://github\.com/ansible\-collections/community\.general/pull/7308](https\://github\.com/ansible\-collections/community\.general/pull/7308)\)\.
* opentelemetry callback plugin \- add span attributes in the span event \([https\://github\.com/ansible\-collections/community\.general/pull/6531](https\://github\.com/ansible\-collections/community\.general/pull/6531)\)\.
* opkg \- add <code>executable</code> parameter allowing to specify the path of the <code>opkg</code> command \([https\://github\.com/ansible\-collections/community\.general/pull/6862](https\://github\.com/ansible\-collections/community\.general/pull/6862)\)\.
* opkg \- remove default value <code>\"\"</code> for parameter <code>force</code> as it causes the same behaviour of not having that parameter \([https\://github\.com/ansible\-collections/community\.general/pull/6513](https\://github\.com/ansible\-collections/community\.general/pull/6513)\)\.
* pagerduty \- adds in option to use v2 API for creating pagerduty incidents \([https\://github\.com/ansible\-collections/community\.general/issues/6151](https\://github\.com/ansible\-collections/community\.general/issues/6151)\)
* parted \- on resize\, use <code>\-\-fix</code> option if available \([https\://github\.com/ansible\-collections/community\.general/pull/7304](https\://github\.com/ansible\-collections/community\.general/pull/7304)\)\.
* pnpm \- set correct version when state is latest or version is not mentioned\. Resolves previous idempotency problem \([https\://github\.com/ansible\-collections/community\.general/pull/7339](https\://github\.com/ansible\-collections/community\.general/pull/7339)\)\.
* pritunl module utils \- ensure <code>validate\_certs</code> parameter is honoured in all methods \([https\://github\.com/ansible\-collections/community\.general/pull/7156](https\://github\.com/ansible\-collections/community\.general/pull/7156)\)\.
* proxmox \- add <code>vmid</code> \(and <code>taskid</code> when possible\) to return values \([https\://github\.com/ansible\-collections/community\.general/pull/7263](https\://github\.com/ansible\-collections/community\.general/pull/7263)\)\.
* proxmox \- support <code>timezone</code> parameter at container creation \([https\://github\.com/ansible\-collections/community\.general/pull/6510](https\://github\.com/ansible\-collections/community\.general/pull/6510)\)\.
* proxmox inventory plugin \- add composite variables support for Proxmox nodes \([https\://github\.com/ansible\-collections/community\.general/issues/6640](https\://github\.com/ansible\-collections/community\.general/issues/6640)\)\.
* proxmox\_kvm \- added support for <code>tpmstate0</code> parameter to configure TPM \(Trusted Platform Module\) disk\. TPM is required for Windows 11 installations \([https\://github\.com/ansible\-collections/community\.general/pull/6533](https\://github\.com/ansible\-collections/community\.general/pull/6533)\)\.
* proxmox\_kvm \- enabled force restart of VM\, bringing the <code>force</code> parameter functionality in line with what is described in the docs \([https\://github\.com/ansible\-collections/community\.general/pull/6914](https\://github\.com/ansible\-collections/community\.general/pull/6914)\)\.
* proxmox\_kvm \- re\-use <code>timeout</code> module param to forcefully shutdown a virtual machine when <code>state</code> is <code>stopped</code> \([https\://github\.com/ansible\-collections/community\.general/issues/6257](https\://github\.com/ansible\-collections/community\.general/issues/6257)\)\.
* proxmox\_snap \- add <code>retention</code> parameter to delete old snapshots \([https\://github\.com/ansible\-collections/community\.general/pull/6576](https\://github\.com/ansible\-collections/community\.general/pull/6576)\)\.
* proxmox\_vm\_info \- <code>node</code> parameter is no longer required\. Information can be obtained for the whole cluster \([https\://github\.com/ansible\-collections/community\.general/pull/6976](https\://github\.com/ansible\-collections/community\.general/pull/6976)\)\.
* proxmox\_vm\_info \- non\-existing provided by name/vmid VM would return empty results instead of failing \([https\://github\.com/ansible\-collections/community\.general/pull/7049](https\://github\.com/ansible\-collections/community\.general/pull/7049)\)\.
* pubnub\_blocks \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\.
* random\_string \- added new <code>ignore\_similar\_chars</code> and <code>similar\_chars</code> option to ignore certain chars \([https\://github\.com/ansible\-collections/community\.general/pull/7242](https\://github\.com/ansible\-collections/community\.general/pull/7242)\)\.
* redfish\_command \- add <code>MultipartHTTPPushUpdate</code> command \([https\://github\.com/ansible\-collections/community\.general/issues/6471](https\://github\.com/ansible\-collections/community\.general/issues/6471)\, [https\://github\.com/ansible\-collections/community\.general/pull/6612](https\://github\.com/ansible\-collections/community\.general/pull/6612)\)\.
* redfish\_command \- add <code>account\_types</code> and <code>oem\_account\_types</code> as optional inputs to <code>AddUser</code> \([https\://github\.com/ansible\-collections/community\.general/issues/6823](https\://github\.com/ansible\-collections/community\.general/issues/6823)\, [https\://github\.com/ansible\-collections/community\.general/pull/6871](https\://github\.com/ansible\-collections/community\.general/pull/6871)\)\.
* redfish\_command \- add new option <code>update\_oem\_params</code> for the <code>MultipartHTTPPushUpdate</code> command \([https\://github\.com/ansible\-collections/community\.general/issues/7331](https\://github\.com/ansible\-collections/community\.general/issues/7331)\)\.
* redfish\_config \- add <code>CreateVolume</code> command to allow creation of volumes on servers \([https\://github\.com/ansible\-collections/community\.general/pull/6813](https\://github\.com/ansible\-collections/community\.general/pull/6813)\)\.
* redfish\_config \- add <code>DeleteAllVolumes</code> command to allow deletion of all volumes on servers \([https\://github\.com/ansible\-collections/community\.general/pull/6814](https\://github\.com/ansible\-collections/community\.general/pull/6814)\)\.
* redfish\_config \- adding <code>SetSecureBoot</code> command \([https\://github\.com/ansible\-collections/community\.general/pull/7129](https\://github\.com/ansible\-collections/community\.general/pull/7129)\)\.
* redfish\_info \- add <code>AccountTypes</code> and <code>OEMAccountTypes</code> to the output of <code>ListUsers</code> \([https\://github\.com/ansible\-collections/community\.general/issues/6823](https\://github\.com/ansible\-collections/community\.general/issues/6823)\, [https\://github\.com/ansible\-collections/community\.general/pull/6871](https\://github\.com/ansible\-collections/community\.general/pull/6871)\)\.
* redfish\_info \- add support for <code>GetBiosRegistries</code> command \([https\://github\.com/ansible\-collections/community\.general/pull/7144](https\://github\.com/ansible\-collections/community\.general/pull/7144)\)\.
* redfish\_info \- adds <code>LinkStatus</code> to NIC inventory \([https\://github\.com/ansible\-collections/community\.general/pull/7318](https\://github\.com/ansible\-collections/community\.general/pull/7318)\)\.
* redfish\_info \- adds <code>ProcessorArchitecture</code> to CPU inventory \([https\://github\.com/ansible\-collections/community\.general/pull/6864](https\://github\.com/ansible\-collections/community\.general/pull/6864)\)\.
* redfish\_info \- fix for <code>GetVolumeInventory</code>\, Controller name was getting populated incorrectly and duplicates were seen in the volumes retrieved \([https\://github\.com/ansible\-collections/community\.general/pull/6719](https\://github\.com/ansible\-collections/community\.general/pull/6719)\)\.
* redfish\_info \- report <code>Id</code> in the output of <code>GetManagerInventory</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7140](https\://github\.com/ansible\-collections/community\.general/pull/7140)\)\.
* redfish\_utils \- use <code>Controllers</code> key in redfish data to obtain Storage controllers properties \([https\://github\.com/ansible\-collections/community\.general/pull/7081](https\://github\.com/ansible\-collections/community\.general/pull/7081)\)\.
* redfish\_utils module utils \- add support for <code>PowerCycle</code> reset type for <code>redfish\_command</code> responses feature \([https\://github\.com/ansible\-collections/community\.general/issues/7083](https\://github\.com/ansible\-collections/community\.general/issues/7083)\)\.
* redfish\_utils module utils \- add support for following <code>\@odata\.nextLink</code> pagination in <code>software\_inventory</code> responses feature \([https\://github\.com/ansible\-collections/community\.general/pull/7020](https\://github\.com/ansible\-collections/community\.general/pull/7020)\)\.
* redfish\_utils module utils \- support <code>Volumes</code> in response for <code>GetDiskInventory</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6819](https\://github\.com/ansible\-collections/community\.general/pull/6819)\)\.
* redhat\_subscription \- the internal <code>RegistrationBase</code> class was folded
into the other internal <code>Rhsm</code> class\, as the separation had no purpose
anymore
\([https\://github\.com/ansible\-collections/community\.general/pull/6658](https\://github\.com/ansible\-collections/community\.general/pull/6658)\)\.
* redis\_info \- refactor the redis\_info module to use the redis module\_utils enabling to pass TLS parameters to the Redis client \([https\://github\.com/ansible\-collections/community\.general/pull/7267](https\://github\.com/ansible\-collections/community\.general/pull/7267)\)\.
* rhsm\_release \- improve/harden the way <code>subscription\-manager</code> is run\;
no behaviour change is expected
\([https\://github\.com/ansible\-collections/community\.general/pull/6669](https\://github\.com/ansible\-collections/community\.general/pull/6669)\)\.
* rhsm\_repository \- the interaction with <code>subscription\-manager</code> was
refactored by grouping things together\, removing unused bits\, and hardening
the way it is run\; also\, the parsing of <code>subscription\-manager repos \-\-list</code>
was improved and made slightly faster\; no behaviour change is expected
\([https\://github\.com/ansible\-collections/community\.general/pull/6783](https\://github\.com/ansible\-collections/community\.general/pull/6783)\,
[https\://github\.com/ansible\-collections/community\.general/pull/6837](https\://github\.com/ansible\-collections/community\.general/pull/6837)\)\.
* scaleway\_security\_group\_rule \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\.
* shutdown \- use <code>shutdown \-p \.\.\.</code> with FreeBSD to halt and power off machine \([https\://github\.com/ansible\-collections/community\.general/pull/7102](https\://github\.com/ansible\-collections/community\.general/pull/7102)\)\.
* snap \- add option <code>dangerous</code> to the module\, that will map into the command line argument <code>\-\-dangerous</code>\, allowing unsigned snap files to be installed \([https\://github\.com/ansible\-collections/community\.general/pull/6908](https\://github\.com/ansible\-collections/community\.general/pull/6908)\, [https\://github\.com/ansible\-collections/community\.general/issues/5715](https\://github\.com/ansible\-collections/community\.general/issues/5715)\)\.
* snap \- module is now aware of channel when deciding whether to install or refresh the snap \([https\://github\.com/ansible\-collections/community\.general/pull/6435](https\://github\.com/ansible\-collections/community\.general/pull/6435)\, [https\://github\.com/ansible\-collections/community\.general/issues/1606](https\://github\.com/ansible\-collections/community\.general/issues/1606)\)\.
* sorcery \- add grimoire \(repository\) management support \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\.
* sorcery \- minor refactor \([https\://github\.com/ansible\-collections/community\.general/pull/6525](https\://github\.com/ansible\-collections/community\.general/pull/6525)\)\.
* supervisorctl \- allow to stop matching running processes before removing them with <code>stop\_before\_removing\=true</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7284](https\://github\.com/ansible\-collections/community\.general/pull/7284)\)\.
* tss lookup plugin \- allow to fetch secret IDs which are in a folder based on folder ID\. Previously\, we could not fetch secrets based on folder ID but now use <code>fetch\_secret\_ids\_from\_folder</code> option to indicate to fetch secret IDs based on folder ID \([https\://github\.com/ansible\-collections/community\.general/issues/6223](https\://github\.com/ansible\-collections/community\.general/issues/6223)\)\.
* tss lookup plugin \- allow to fetch secret by path\. Previously\, we could not fetch secret by path but now use <code>secret\_path</code> option to indicate to fetch secret by secret path \([https\://github\.com/ansible\-collections/community\.general/pull/6881](https\://github\.com/ansible\-collections/community\.general/pull/6881)\)\.
* unixy callback plugin \- add support for <code>check\_mode\_markers</code> option \([https\://github\.com/ansible\-collections/community\.general/pull/7179](https\://github\.com/ansible\-collections/community\.general/pull/7179)\)\.
* vardict module utils \- added convenience methods to <code>VarDict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6647](https\://github\.com/ansible\-collections/community\.general/pull/6647)\)\.
* xenserver\_guest\_info \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\.
* xenserver\_guest\_powerstate \- minor refactor removing unnecessary code statements \([https\://github\.com/ansible\-collections/community\.general/pull/6928](https\://github\.com/ansible\-collections/community\.general/pull/6928)\)\.
* yum\_versionlock \- add support to pin specific package versions instead of only the package itself \([https\://github\.com/ansible\-collections/community\.general/pull/6861](https\://github\.com/ansible\-collections/community\.general/pull/6861)\, [https\://github\.com/ansible\-collections/community\.general/issues/4470](https\://github\.com/ansible\-collections/community\.general/issues/4470)\)\.
<a id="community-grafana-4"></a>
#### community\.grafana
* Add <em class="title-reference">grafana\_organization\_user</em> module
* Bump version of Python used in tests to 3\.10
* Enable datasource option <em class="title-reference">time\_interval</em> for prometheus
* Fix documentation url for Ansible doc website
* Now testing against Grafana 9\.5\.13\, 8\.5\.27\, 10\.2\.0
<a id="community-libvirt"></a>
#### community\.libvirt
* virt \- add <em class="title-reference">mutate\_flags</em> parameter to enable XML mutation \(add UUID\, MAC addresses from existing domain\) \([https\://github\.com/ansible\-collections/community\.libvirt/pull/142/](https\://github\.com/ansible\-collections/community\.libvirt/pull/142/)\)\.
* virt \- support <code>\-\-diff</code> for <code>define</code> command \([https\://github\.com/ansible\-collections/community\.libvirt/pull/142/](https\://github\.com/ansible\-collections/community\.libvirt/pull/142/)\)\.
<a id="community-mysql-4"></a>
#### community\.mysql
* mysql\_info \- add filter <code>users\_info</code> \([https\://github\.com/ansible\-collections/community\.mysql/pull/580](https\://github\.com/ansible\-collections/community\.mysql/pull/580)\)\.
* mysql\_role \- add <code>column\_case\_sensitive</code> option to prevent field names from being uppercased \([https\://github\.com/ansible\-collections/community\.mysql/pull/569](https\://github\.com/ansible\-collections/community\.mysql/pull/569)\)\.
* mysql\_user \- add <code>column\_case\_sensitive</code> option to prevent field names from being uppercased \([https\://github\.com/ansible\-collections/community\.mysql/pull/569](https\://github\.com/ansible\-collections/community\.mysql/pull/569)\)\.
<a id="community-postgresql-5"></a>
#### community\.postgresql
* Collection core functions \- use <code>get\_server\_version</code> in all modules \([https\://github\.com/ansible\-collections/community\.postgresql/pull/518](https\://github\.com/ansible\-collections/community\.postgresql/pull/518)\)\.\"
* Collection core functions \- use common cursor arguments in all modules \([https\://github\.com/ansible\-collections/community\.postgresql/pull/522](https\://github\.com/ansible\-collections/community\.postgresql/pull/522)\)\.\"
* postgres modules \- added support for Psycopg 3 library \([https\://github\.com/ansible\-collections/community\.postgresql/pull/517](https\://github\.com/ansible\-collections/community\.postgresql/pull/517)\)\.
* postgresql\_ext \- added idempotence always both in standard and in check mode \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\.
* postgresql\_ext \- added idempotence when version\=latest \([https\://github\.com/ansible\-collections/community\.postgresql/pull/504](https\://github\.com/ansible\-collections/community\.postgresql/pull/504)\)\.
* postgresql\_ext \- added prev\_version and version return values \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\.
* postgresql\_ext \- added queries in module output also in check mode \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\.
* postgresql\_ext \- improved error messages \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\.
* postgresql\_owner \- added support at new object types \([https\://github\.com/ansible\-collections/community\.postgresql/pull/555](https\://github\.com/ansible\-collections/community\.postgresql/pull/555)\)\.
* postgresql\_privs \- added idempotence when roles\=PUBLIC \([https\://github\.com/ansible\-collections/community\.postgresql/pull/502](https\://github\.com/ansible\-collections/community\.postgresql/pull/502)\)\.
* postgresql\_privs \- added parameters privileges support for PostgreSQL 15 or higher \([https\://github\.com/ansible\-collections/community\.postgresql/issues/481](https\://github\.com/ansible\-collections/community\.postgresql/issues/481)\)\.
* postgresql\_privs \- added support for implicit roles CURRENT\_ROLE\, CURRENT\_USER\, and SESSION\_USER \([https\://github\.com/ansible\-collections/community\.postgresql/pull/502](https\://github\.com/ansible\-collections/community\.postgresql/pull/502)\)\.
* postgresql\_tablespace \- added idempotence when dropping a non\-existing tablespace \([https\://github\.com/ansible\-collections/community\.postgresql/pull/554](https\://github\.com/ansible\-collections/community\.postgresql/pull/554)\)\.
<a id="community-routeros-5"></a>
#### community\.routeros
* api\_info \- add new <code>include\_read\_only</code> option to select behavior for read\-only values\. By default these are not returned \([https\://github\.com/ansible\-collections/community\.routeros/pull/213](https\://github\.com/ansible\-collections/community\.routeros/pull/213)\)\.
* api\_info\, api\_modify \- add path <code>caps\-man channel</code> and enable path <code>caps\-man manager interface</code> \([https\://github\.com/ansible\-collections/community\.routeros/issues/193](https\://github\.com/ansible\-collections/community\.routeros/issues/193)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/194](https\://github\.com/ansible\-collections/community\.routeros/pull/194)\)\.
* api\_info\, api\_modify \- add path <code>ip traffic\-flow target</code> \([https\://github\.com/ansible\-collections/community\.routeros/issues/191](https\://github\.com/ansible\-collections/community\.routeros/issues/191)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/192](https\://github\.com/ansible\-collections/community\.routeros/pull/192)\)\.
* api\_info\, api\_modify \- add support for <code>address\-list</code> and <code>match\-subdomain</code> introduced by RouterOS 7\.7 in the <code>ip dns static</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/197](https\://github\.com/ansible\-collections/community\.routeros/pull/197)\)\.
* api\_info\, api\_modify \- add support for <code>user</code>\, <code>time</code> and <code>gmt\-offset</code> under the <code>system clock</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/210](https\://github\.com/ansible\-collections/community\.routeros/pull/210)\)\.
* api\_info\, api\_modify \- add support for the <code>interface ppp\-client</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/199](https\://github\.com/ansible\-collections/community\.routeros/pull/199)\)\.
* api\_info\, api\_modify \- add support for the <code>interface wireless</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/195](https\://github\.com/ansible\-collections/community\.routeros/pull/195)\)\.
* api\_info\, api\_modify \- add support for the <code>iot modbus</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/205](https\://github\.com/ansible\-collections/community\.routeros/pull/205)\)\.
* api\_info\, api\_modify \- add support for the <code>ip dhcp\-server option</code> and <code>ip dhcp\-server option sets</code> paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/223](https\://github\.com/ansible\-collections/community\.routeros/pull/223)\)\.
* api\_info\, api\_modify \- add support for the <code>ip upnp interfaces</code>\, <code>tool graphing interface</code>\, <code>tool graphing resource</code> paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/227](https\://github\.com/ansible\-collections/community\.routeros/pull/227)\)\.
* api\_info\, api\_modify \- add support for the <code>ipv6 firewall nat</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/204](https\://github\.com/ansible\-collections/community\.routeros/pull/204)\)\.
* api\_info\, api\_modify \- add support for the <code>mode</code> property in <code>ip neighbor discovery\-settings</code> introduced in RouterOS 7\.7 \([https\://github\.com/ansible\-collections/community\.routeros/pull/198](https\://github\.com/ansible\-collections/community\.routeros/pull/198)\)\.
* api\_info\, api\_modify \- add support for the <code>port remote\-access</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/224](https\://github\.com/ansible\-collections/community\.routeros/pull/224)\)\.
* api\_info\, api\_modify \- add support for the <code>routing filter rule</code> and <code>routing filter select\-rule</code> paths \([https\://github\.com/ansible\-collections/community\.routeros/pull/200](https\://github\.com/ansible\-collections/community\.routeros/pull/200)\)\.
* api\_info\, api\_modify \- add support for the <code>routing table</code> path in RouterOS 7 \([https\://github\.com/ansible\-collections/community\.routeros/pull/215](https\://github\.com/ansible\-collections/community\.routeros/pull/215)\)\.
* api\_info\, api\_modify \- add support for the <code>tool netwatch</code> path in RouterOS 7 \([https\://github\.com/ansible\-collections/community\.routeros/pull/216](https\://github\.com/ansible\-collections/community\.routeros/pull/216)\)\.
* api\_info\, api\_modify \- add support for the <code>user settings</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/201](https\://github\.com/ansible\-collections/community\.routeros/pull/201)\)\.
* api\_info\, api\_modify \- add support for the <code>user</code> path \([https\://github\.com/ansible\-collections/community\.routeros/pull/211](https\://github\.com/ansible\-collections/community\.routeros/pull/211)\)\.
* api\_info\, api\_modify \- finalize fields for the <code>interface wireless security\-profiles</code> path and enable it \([https\://github\.com/ansible\-collections/community\.routeros/pull/203](https\://github\.com/ansible\-collections/community\.routeros/pull/203)\)\.
* api\_info\, api\_modify \- finalize fields for the <code>ppp profile</code> path and enable it \([https\://github\.com/ansible\-collections/community\.routeros/pull/217](https\://github\.com/ansible\-collections/community\.routeros/pull/217)\)\.
* api\_modify \- add new <code>handle\_read\_only</code> and <code>handle\_write\_only</code> options to handle the module\'s behavior for read\-only and write\-only fields \([https\://github\.com/ansible\-collections/community\.routeros/pull/213](https\://github\.com/ansible\-collections/community\.routeros/pull/213)\)\.
* api\_modify\, api\_info \- support API paths <code>routing id</code>\, <code>routing bgp connection</code> \([https\://github\.com/ansible\-collections/community\.routeros/pull/220](https\://github\.com/ansible\-collections/community\.routeros/pull/220)\)\.
<a id="community-vmware-5"></a>
#### community\.vmware
* Removed module / plugin documentation RST files from the repository \([https\://github\.com/ansible\-collections/community\.vmware/pull/1897](https\://github\.com/ansible\-collections/community\.vmware/pull/1897)\)\.
* Using semantic markup in documentation \([https\://github\.com/ansible\-collections/community\.vmware/issues/1771](https\://github\.com/ansible\-collections/community\.vmware/issues/1771)\)\.
* add moid property in the return value for the module\([https\://github\.com/ansible\-collections/community\.vmware/pull/1855](https\://github\.com/ansible\-collections/community\.vmware/pull/1855)\)\.
* add new snapshot\_id option to the vmware\_guest\_snapshot module\([https\://github\.com/ansible\-collections/community\.vmware/pull/1847](https\://github\.com/ansible\-collections/community\.vmware/pull/1847)\)\.
* autoselect\_datastore \- add support to also look at NFS mounted filesystems \(previously was just VMFS\)
* vmware\_cluster\_drs\_recommendations \- Add the Module to apply the drs recommendations \([https\://github\.com/ansible\-collections/community\.vmware/pull/1736](https\://github\.com/ansible\-collections/community\.vmware/pull/1736)\)
* vmware\_deploy\_ovf \- New parameter enable\_hidden\_properties to force OVF properties marked as <em class="title-reference">ovf\:userConfigurable\=false</em> to become user configurable \([https\://github\.com/ansible\-collections/community\.vmware/issues/802](https\://github\.com/ansible\-collections/community\.vmware/issues/802)\)\.
* vmware\_dvs\_portgroup\_info \- add moid property in the return value for the module \([https\://github\.com/ansible\-collections/community\.vmware/issues/1849](https\://github\.com/ansible\-collections/community\.vmware/issues/1849)\)\.
* vmware\_guest \- add support for configuring vMotion and FT encryption \([https\://github\.com/ansible\-collections/community\.vmware/issues/1069](https\://github\.com/ansible\-collections/community\.vmware/issues/1069)\)
* vmware\_guest\_serial\_port \- add support for proxyURI parameter to enable use of a virtual serial port concentrator \([https\://github\.com/ansible\-collections/community\.vmware/issues/1742](https\://github\.com/ansible\-collections/community\.vmware/issues/1742)\)
* vmware\_guest\_snapshot \- add new snapshot\_id option \([https\://github\.com/ansible\-collections/community\.vmware/pull/1847](https\://github\.com/ansible\-collections/community\.vmware/pull/1847)\)\.
* vmware\_host\_datastore \- added new datastore type \'vvol\' for enabling creation/deletion of vVols datastores
* vmware\_host\_datastore \- added new parameter resignature for supporting resignaturing an existing VMFS datastore on an imported/cloned LUN\.
* vmware\_host\_snmp module now can configure SNMP agent on set of hosts \(list in esxi\_hostname parameter or as cluster in cluster\_name parameter\)\. The ability to configure the host directly remains \([https\://github\.com/ansible\-collections/community\.vmware/issues/1799](https\://github\.com/ansible\-collections/community\.vmware/issues/1799)\)\.
* vmware\_vm\_info \- Add <em class="title-reference">instance\_uuid</em> to the result \([https\://github\.com/ansible\-collections/community\.vmware/issues/1805](https\://github\.com/ansible\-collections/community\.vmware/issues/1805)\)
<a id="community-windows-4"></a>
#### community\.windows
* win\_dns\_record \- Added <code>zone\_scope</code> option to manage a record in a specific zone scope
<a id="community-zabbix-4"></a>
#### community\.zabbix
* Multiple Roles \- Replaced depricated \'include\' statements with \'include\_tasks\'
* Update action\_groups variable in runtime\.yml
* all roles \- Added support for Debian 12 \(Bookworm\)
* all roles \- Delete gpg ids variable\.
* all roles \- Modified to allow a non\-root user to run the role\.
* all roles \- Updated testing to account for the correct version of Zabbix
* zabbix\_hostmacro module \- Add description property for Host macro creation/update\. Allow to set/update description of Zabbix host macros\.
* zabbix\_proxy \- Added installation of PyMySQL pip package
* zabbix\_proxy \- Modified installation of Centos 7 MySQL client
* zabbix\_proxy \- Standardized MySQL client installed on Debian and Ubuntu
* zabbix\_regexp module added
* zabbix\_settings module added
* zabbix\_token module added
<a id="containers-podman-3"></a>
#### containers\.podman
* Update docs
* podman\_container \- Add support for health\-on\-failure action
* podman\_image \-Add target support for podman build image
* podman\_play \- Add build and context\_dir option to podman\_play
* podman\_pod \- Add options for resource limits to podman\_pod
<a id="dellemc-enterprise-sonic-3"></a>
#### dellemc\.enterprise\_sonic
* galaxy\_yml \- Enable installation of Ansible Netcomon versions after 5\.0\.0 and update the enterprise\_sonic release version \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/270](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/270)\)\.
* module\_utils \- Change the location for importing remove\_empties from the obsolete Netcommon location to the offically required Ansible library location to fix sanity errors \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/172](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/172)\)\.
* sonic\_aaa \- Add replaced and overridden states support for AAA resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/237](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/237)\)\.
* sonic\_aaa \- Add unit tests for AAA resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/198](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/198)\)\.
* sonic\_aaa \- Revert breaking changes for AAA nodule \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/269](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/269)\)\.
* sonic\_api \- Add unit tests for api resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/218](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/218)\)\.
* sonic\_bfd\, sonic\_copp \- Update replaced methods \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/254](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/254)\)\.
* sonic\_bgp \- Add rt\_delay attribute to module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/244](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/244)\)\.
* sonic\_bgp \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/240](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/240)\)\.
* sonic\_bgp \- Add unit tests for BGP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/182](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/182)\)\.
* sonic\_bgp\_af \- Add several attributes to support configuration of route distinguisher and route target \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/141](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/141)\)\.
* sonic\_bgp\_af \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/246](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/246)\)\.
* sonic\_bgp\_af \- Add unit tests for BGP AF resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/183](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/183)\)\.
* sonic\_bgp\_af \- Modify BGP AF resource module unit tests to adjust for changes in the resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/191](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/191)\)\.
* sonic\_bgp\_as\_paths \- Add unit tests for BGP AS paths resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/184](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/184)\)\.
* sonic\_bgp\_communities \- Add unit tests for BGP communities resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/185](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/185)\)\.
* sonic\_bgp\_ext\_communities \- Add unit tests for BGP ext communities resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/186](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/186)\)\.
* sonic\_bgp\_neighbors \- Add unit tests for BGP neighbors resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/187](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/187)\)\.
* sonic\_bgp\_neighbors \- Enhance unit tests for BGP Neighbors resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/245](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/245)\)\.
* sonic\_bgp\_neighbors\_af \- Add unit tests for BGP neighbors AF resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/188](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/188)\)\.
* sonic\_command \- Add unit tests for command resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/219](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/219)\)\.
* sonic\_config \- Add unit tests for config resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/220](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/220)\)\.
* sonic\_dhcp\_relay \- Add a common unit tests module and unit tests for dhcp relay module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/148](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/148)\)\.
* sonic\_dhcp\_relay \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/249](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/249)\)\.
* sonic\_facts \- Add unit tests for facts resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/222](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/222)\)\.
* sonic\_interfaces \- Add speed\, auto\-negotiate\, advertised\-speed and FEC to interface resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/128](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/128)\)\.
* sonic\_interfaces \- Add unit tests for interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/197](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/197)\)\.
* sonic\_ip\_neighbor \- Add unit tests for IP neighbor resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/225](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/225)\)\.
* sonic\_ip\_neighbor \- Change the replaced function in ip\_neighbor resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/253](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/253)\)\.
* sonic\_l2\_interfaces \- Add support for parsing configuration containing the OC Yang vlan range syntax \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/124](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/124)\)\.
* sonic\_l2\_interfaces \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/221](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/221)\)\.
* sonic\_l2\_interfaces \- Add support for specifying vlan trunk ranges in Ansible playbooks \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/149](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/149)\)\.
* sonic\_l2\_interfaces \- Add unit tests for l2\_interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/200](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/200)\)\.
* sonic\_l3\_interfaces \- Add unit tests for l3\_interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/202](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/202)\)\.
* sonic\_lag\_interface \- Add replaced and overridden states support for LAG interface resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/196](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/196)\)\.
* sonic\_lag\_interfaces \- Add unit tests for lag\_interfaces resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/203](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/203)\)\.
* sonic\_logging \- Add replaced and overridden states support for logging resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/150](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/150)\)\.
* sonic\_logging \- Add unit tests for logging resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/226](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/226)\)\.
* sonic\_logging \- Change logging get facts for source\_interface naming \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/258](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/258)\)\.
* sonic\_mclag \- Add delay\_restore\, gateway\_mac\, and peer\_gateway attributes to module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/145](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/145)\)\.
* sonic\_ntp \- Add prefer attribute to NTP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/118](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/118)\)\.
* sonic\_ntp \- Add replaced and overridden states support for NTP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/151](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/151)\)\.
* sonic\_ntp \- Add unit tests for NTP resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/207](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/207)\)\.
* sonic\_ntp \- Change NTP get facts to get default parameters \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/106](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/106)\)\.
* sonic\_ntp \- Change NTP key values in NTP regression test script \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/107](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/107)\)\.
* sonic\_ntp \- Change NTP module name \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/113](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/113)\)\.
* sonic\_ntp \- Change NTP module names in NTP regression test script \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/114](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/114)\)\.
* sonic\_ntp \- Change NTP resource module to make minpoll and maxpoll be configured together \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/129](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/129)\)\.
* sonic\_port\_breakout \- Add unit tests for port breakout resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/229](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/229)\)\.
* sonic\_port\_group \- Add replaced and overridden states support for port group resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/227](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/227)\)\.
* sonic\_port\_group \- Add unit tests for port group resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/228](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/228)\)\.
* sonic\_prefix\_lists \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/255](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/255)\)\.
* sonic\_prefix\_lists \- Add unit tests for prefix lists resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/209](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/209)\)\.
* sonic\_radius\_server \- Add replaced and overridden states support for RADIUS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/239](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/239)\)\.
* sonic\_radius\_server \- Add unit tests for RADIUS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/210](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/210)\)\.
* sonic\_static\_routes \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/236](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/236)\)\.
* sonic\_static\_routes \- Add unit tests for static routes resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/212](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/212)\)\.
* sonic\_system \- Add replaced and overridden states support for system resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/159](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/159)\)\.
* sonic\_system \- Add unit tests for system resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/223](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/223)\)\.
* sonic\_tacacs\_server \- Add replaced and overridden states support for TACACS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/235](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/235)\)\.
* sonic\_tacacs\_server \- Add unit tests for TACACS server resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/208](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/208)\)\.
* sonic\_users \- Add replaced and overridden states support for users resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/242](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/242)\)\.
* sonic\_users \- Add unit tests for users resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/213](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/213)\)\.
* sonic\_vlans \- Add replaced and overridden states support for VLAN resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/217](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/217)\)\.
* sonic\_vlans \- Add unit tests for Vlans resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/214](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/214)\)\.
* sonic\_vrfs \- Add replaced and overridden states support for VRF resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/156](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/156)\)\.
* sonic\_vrfs \- Add unit tests for VRFS resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/216](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/216)\)\.
* sonic\_vxlans \- Add support for replaced and overridden states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/247](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/247)\)\.
* sonic\_vxlans \- Add unit tests for VxLans resource module \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/215](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/215)\)\.
<a id="dellemc-openmanage-8"></a>
#### dellemc\.openmanage
* All the module documentation and examples are updated to use true or false for Boolean values\.
* Module <code>idrac\_user</code> is enhanced to configure custom privileges for an user\.
* Module <code>ome\_application\_certificate</code> is enhanced to support subject alternative names\.
* Module <code>ome\_diagnostics</code> is enhanced to update changed flag status in response\.
* Module <code>ome\_discovery</code> is enhanced to add detailed job information of each IP discovered\.
* Module <code>ome\_firmware\_baseline</code> is enhanced to support the option to select only components with no reboot required\.
* Module <code>ome\_firmware\_catalog</code> is enhanced to support IPv6 address\.
* Module <code>ome\_firmware</code> is enhanced to support reboot type options\.
* Module <code>ome\_job\_info</code> is enhanced to return last execution details and execution histories\.
* Module <code>redfish\_firmware</code> is enhanced to support IPv6 address\.
* Module <code>redfish\_storage\_volume</code> is enhanced to support RAID6 and RAID60\.
* Role <code>idrac\_os\_deployment</code> is enhanced to remove the auto installation of required libraries and to support custom ISO and kickstart file as input\.
* Updated the idrac\_gather\_facts role to use jinja template filters\.
<a id="dellemc-powerflex-3"></a>
#### dellemc\.powerflex
* Added Ansible role to support creation and deletion of protection domain\, storage pool and fault set\.
* Added Ansible role to support installation and uninstallation of Active MQ\.
* Added Ansible role to support installation and uninstallation of Gateway\.
* Added Ansible role to support installation and uninstallation of LIA\.
* Added Ansible role to support installation and uninstallation of MDM\.
* Added Ansible role to support installation and uninstallation of SDC\.
* Added Ansible role to support installation and uninstallation of SDR\.
* Added Ansible role to support installation and uninstallation of SDS\.
* Added Ansible role to support installation and uninstallation of TB\.
* Added Ansible role to support installation and uninstallation of Web UI\.
* Added sample playbooks for the modules\.
* Added support for PowerFlex Denver version\(4\.5\.x\)
* Added support for SDC installation on ESXi\, Rocky Linux and Windows OS\.
* Device module is enhanced to support force addition of device to the SDS\.
* Info module is enhanced to list statistics in snapshot policies\.
* Replication consistency group module is enhanced to support failover\, restore\, reverse\, switchover\, and sync operations\.
* SDC module is enhanced to configure performance profile and to remove SDC\.
* Updated modules to adhere with ansible community guidelines\.
<a id="dellemc-unity"></a>
#### dellemc\.unity
* Added replication session module to get details\, pause\, resume\, sync\, failover\, failback and delete replication sessions\.
* Added support for Unity XT SeaHawk 5\.3
* Documentation updates for boolean values based on ansible community guidelines\.
* Patch update to fix import errors in utils file\.
<a id="f5networks-f5-modules-2"></a>
#### f5networks\.f5\_modules
* bigip\_command \- Added note to give appropriate timeout value for long running commands
* bigip\_policy\_rule \- added six more options for ssl\_extension condition
<a id="fortinet-fortimanager-5"></a>
#### fortinet\.fortimanager
* Corrected the behavior of module fmgr\_pkg\_firewall\_consolidated\_policy\_sectionvalue and fmgr\_pkg\_firewall\_securitypolicy\_sectionvalue\.
* Improve documentation\.
* Some arguments can support both list or string format input now\.
* Support newest versions for FortiManager v6\.2 \~ v7\.4
<a id="google-cloud-1"></a>
#### google\.cloud
* Add DataPlane V2 Support\.
* Add auth support for GCP access tokens \(\#574\)\.
* Add support for ip\_allocation\_policy\-\>stack\_type\.
<a id="grafana-grafana-3"></a>
#### grafana\.grafana
* Ability to configure date format in grafana server role by \@RomainMou
* Add Grafana Agent Version and CPU Arch to Downloaded ZIP in Grafana Agent Role
* Add check for Curl and failure step if Agent Version is not retrieved
* Add overrides\.conf with CAP\_NET\_BIND\_SERVICE for grafana\-server unit
* Allow alert resource provisioning in Grafana Role
* Avoid using shell for fetching latest version in Grafana Agent Role by \@gardar
* Bump cryptography from 39\.0\.2 to 41\.0\.3
* Bump cryptography from 41\.0\.3 to 41\.0\.4
* Bump semver from 5\.7\.1 to 5\.7\.2
* Bump word\-wrap from 1\.2\.3 to 1\.2\.5
* Create local dashboard directory in check mode
* Create missing notification directory in Grafana Role
* Datasource test updates and minor fixes
* Fix Deleting datasources
* Fix Grafana Dashboard Import for Grafana Role
* Fix alert\_notification\_policy failing on fresh instance
* Fix for invalid yaml with datasources list enclosed in quotes by \@elkozmon
* Fix grafana dashboard import in Grafana Role
* Make grafana\_agent Idempotent
* Making Deleting folders idempotent
* Move \_grafana\_agent\_base\_download\_url from /vars to /defaults in Grafana Agent Role
* Provisioning errors in YAML
* Remove agent installation custom check by \@VLZZZ
* Remove check\_mode from create local directory task in Grafana Role
* Remove dependency on local\-fs\.target from Grafana Agent role
* Remove explicit user creation check by \@v\-zhuravlev
* Remove trailing slash automatically from grafana\_url
* Update CI Testing
* Update Cloud Stack Module failures
* Update Download tasks in Grafana Agent Role
* Use \'ansible\_system\' env variable to detect os typ in Grafana Agent Role
* Use new standard to configure Grafana APT source for Grafana Role
* YAML Fixes
* hange grafana Agent Wal and Positions Directory in Grafana Agent Role
* indentation and Lint fixes to modules
<a id="hetzner-hcloud-4"></a>
#### hetzner\.hcloud
* Bundle hcloud python dependency inside the collection\.
* Use the collection version in the hcloud user\-agent instead of the ansible\-core version\.
* hcloud\_datacenter\_info \- Add <em class="title-reference">server\_types</em> field
* hcloud\_floating\_ip\_info \- Allow querying floating ip by name\.
* hcloud\_iso\_info \- Add deprecation field
* hcloud\_iso\_info Create hcloud\_iso\_info module
* hcloud\_load\_balancer\_info \- Add targets health status field\.
* hcloud\_load\_balancer\_network \- Allow selecting a <em class="title-reference">load\_balancer</em> or <em class="title-reference">network</em> using its ID\.
* hcloud\_load\_balancer\_service \- Allow selecting a <em class="title-reference">load\_balancer</em> using its ID\.
* hcloud\_load\_balancer\_target \- Allow selecting a <em class="title-reference">load\_balancer</em> or <em class="title-reference">server</em> using its ID\.
* hcloud\_network Add expose\_routes\_to\_vswitch field\.
* hcloud\_network\_info Return expose\_routes\_to\_vswitch for network\.
* hcloud\_primary\_ip\_info Create hcloud\_primary\_ip\_info module
* hcloud\_rdns \- Allow selecting a <em class="title-reference">server</em>\, <em class="title-reference">floating\_ip</em>\, <em class="title-reference">primary\_ip</em> or <em class="title-reference">load\_balancer</em> using its ID\.
* hcloud\_route \- Allow selecting a <em class="title-reference">network</em> using its ID\.
* hcloud\_server \- Add <em class="title-reference">created</em> field
* hcloud\_server Show warning if used server\_type is deprecated\.
* hcloud\_server\_info \- Add <em class="title-reference">created</em> field
* hcloud\_server\_network \- Allow selecting a <em class="title-reference">network</em> or <em class="title-reference">server</em> using its ID\.
* hcloud\_server\_type\_info \- Add field included\_traffic to returned server types
* hcloud\_server\_type\_info Return deprecation info for server types\.
* hcloud\_subnetwork \- Allow selecting to a <em class="title-reference">network</em> using its ID\.
* inventory \- Allow caching the hcloud inventory\.
* python\-dateutil \>\= 2\.7\.5 is now required by the collection\. If you already have the hcloud package installed\, this dependency should also be installed\.
* requests \>\= 2\.20 is now required by the collection\. If you already have the hcloud package installed\, this dependency should also be installed\.
<a id="inspur-ispim-1"></a>
#### inspur\.ispim
* Change the ansible\-test\.yml application file version\.
* Modify logical disk creation\, add MV raid card compatible\.
* The edit\_bios module adds the list field\.
<a id="junipernetworks-junos-1"></a>
#### junipernetworks\.junos
* <em class="title-reference">junos\_ospfv2</em> \- Fix the authentication config when password is configured
* <em class="title-reference">junos\_ospfv2</em> \- Rename key ospf to ospfv2 in facts\.
* <em class="title-reference">junos\_ospfv2</em> \- add area\_ranges attribute which supports list of dict attributes\.
* <em class="title-reference">junos\_ospfv2</em> \- add attributes <em class="title-reference">allow\_route\_leaking</em>\, <em class="title-reference">stub\_network</em> and <em class="title-reference">as\-external</em> to overload dict\.
* <em class="title-reference">junos\_ospfv2</em> \- add attributes <em class="title-reference">no\_ignore\_out\_externals</em> to spf\_options dict\.
* <em class="title-reference">junos\_ospfv2</em> \- fix to gather reference\_bandwidth and rfc1583compatibility\.
* add acl\_interfaces key for junos\_facts output\.
* add overridden state opperation support\.
<a id="lowlydba-sqlserver-3"></a>
#### lowlydba\.sqlserver
* Add refresh workaround for agent schedule bug where properties returned are stale\. \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/185](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/185)\)
* Added SID as an optional parameter to the login module \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/189](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/189)\)
* Added only\_accessible as an optional parameter to the database module \([https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/198](https\://github\.com/lowlydba/lowlydba\.sqlserver/pull/198)\)
* Fixes error handling for Remove\-DbaDatabase when joined to AvailabilityGroup\, exception was not being thrown so we have to parse Status
<a id="microsoft-ad-4"></a>
#### microsoft\.ad
* AD objects will no longer be moved to the default AD path for their type if no <code>path</code> was specified\. Use the value <code>microsoft\.ad\.default\_path</code> to explicitly set the path to the default path if that behaviour is desired\.
* microsoft\.ad\.debug\_ldap\_client \- Add <code>dpapi\_ng</code> to list of packages checked
* microsoft\.ad\.ldap \- Add support for decrypting LAPS encrypted password
* microsoft\.ad\.ldap \- Added the option <code>filter\_without\_computer</code> to not add the AND clause <code>objectClass\=computer</code> to the final filter used \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/55](https\://github\.com/ansible\-collections/microsoft\.ad/issues/55)
* microsoft\.ad\.ldap \- Allow setting LDAP connection and authentication options through environment variables \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/34](https\://github\.com/ansible\-collections/microsoft\.ad/issues/34)
<a id="netapp-ontap-6"></a>
#### netapp\.ontap
* na\_ontap\_broadcast\_domain \- changed documentation for ipspace as it is required while using REST\.
* na\_ontap\_cg\_snapshot \- added REST support to the cg snapshot module\, requires ONTAP 9\.10\.1 or later\.
* na\_ontap\_cifs\_server \- new option <em class="title-reference">default\_site</em> added in REST\, requires ONTAP 9\.13\.1 or later\.
* na\_ontap\_ems\_destination \- new option <code>certificate</code>\, <code>ca</code> added\.
* na\_ontap\_kerberos\_realm \- add REST support for <em class="title-reference">admin\_server\_ip</em>\, <em class="title-reference">admin\_server\_port</em>\, <em class="title-reference">pw\_server\_ip</em>\, <em class="title-reference">pw\_server\_port</em> and <em class="title-reference">clock\_skew</em> from ONTAP 9\.13\.1 or later
* na\_ontap\_lun \- new option <em class="title-reference">qtree\_name</em> added in REST\.
* na\_ontap\_name\_mappings \- added choices <code>s3\_win</code> and <code>s3\_unix</code> to <code>direction</code>\, requires ONTAP 9\.12\.1 or later\.
* na\_ontap\_net\_ifgrp \- return <em class="title-reference">name</em> and other details of a newly created interface group in module output in REST\.
* na\_ontap\_qos\_policy\_group \- added new REST only options <em class="title-reference">expected\_iops\_allocation</em> and <em class="title-reference">peak\_iops\_allocation</em>\, requires ONTAP 9\.10\.1 or later\.
* na\_ontap\_rest\_info \- new option <em class="title-reference">hal\_linking</em> added to enable or disable HAL links\.
* na\_ontap\_restit \- returns changed as False for GET method\.
* na\_ontap\_s3\_buckets \- new option <code>nas\_path</code> added\, requires ONTAP 9\.12\.1 or later\.
* na\_ontap\_snmp \- added REST support for snmpv3 user\.
* na\_ontap\_user \- Added warning message when password is not changed\.
* na\_ontap\_volume \- added REST support for <em class="title-reference">atime\_update</em> requires ONTAP 9\.8 or later\, <em class="title-reference">snapdir\_access</em> and <em class="title-reference">snapshot\_auto\_delete</em> requires ONTAP 9\.13\.1 or later\.
* na\_ontap\_volume \- added new REST only options <em class="title-reference">vol\_nearly\_full\_threshold\_percent</em> and <em class="title-reference">vol\_full\_threshold\_percent</em>\, requires ONTAP 9\.9 or later\.
<a id="netbox-netbox-5"></a>
#### netbox\.netbox
* API \- Add possibility to use Bearer token \[\#1023\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1023](https\://github\.com/netbox\-community/ansible\_modules/pull/1023)\)
* custom fields \- Add datetime as an custom field option \[\#1019\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1019](https\://github\.com/netbox\-community/ansible\_modules/pull/1019)\)
* netbox\_cable \- Add tenant \[\#1027\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1027](https\://github\.com/netbox\-community/ansible\_modules/pull/1027)\)
* netbox\_circuit\_type\, netbox\_device\_interface \- Add missing options \[\#1025\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1025](https\://github\.com/netbox\-community/ansible\_modules/pull/1025)\)
* netbox\_config\_template \- New module \[\#1090\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1090](https\://github\.com/netbox\-community/ansible\_modules/pull/1090)\)
* netbox\_custom\_field \- Add hidden\-ifunset option \[\#1048\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1048](https\://github\.com/netbox\-community/ansible\_modules/pull/1048)\)
* netbox\_device \- Add oob\_ip to device \[\#1085\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1085](https\://github\.com/netbox\-community/ansible\_modules/pull/1085)\)
* netbox\_device\_type \- Add default\_platform \[\#1092\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1092](https\://github\.com/netbox\-community/ansible\_modules/pull/1092)\)
* netbox\_inventory\_item \- Add role to module \[\#1050\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1050](https\://github\.com/netbox\-community/ansible\_modules/pull/1050)\)
* netbox\_power\_port \- Add missing power port option \[\#1049\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1049](https\://github\.com/netbox\-community/ansible\_modules/pull/1049)\)
<a id="ovirt-ovirt"></a>
#### ovirt\.ovirt
* ovirt\_vm \- Add tpm\_enabled \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/722](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/722)\)\.
* storage\_error\_resume\_behaviour \- Support VM storage error resume behaviour \"auto\_resume\"\, \"kill\"\, \"leave\_paused\"\. \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/721](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/721)\)
* vm\_infra \- Support boot disk renaming and resizing\. \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/705](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/705)\)
<a id="purestorage-flasharray-7"></a>
#### purestorage\.flasharray
* purefa\_eradication \- Added support for disabled and enabled timers from Purity//FA 6\.4\.10
* purefa\_info \- Add <em class="title-reference">port\_connectivity</em> information for hosts
* purefa\_info \- Add array subscription data
* purefa\_info \- Add promotion status information for volumes
* purefa\_info \- Added <em class="title-reference">nfs\_version</em> to policies and rules from Purity//FA 6\.4\.10
* purefa\_info \- Added <em class="title-reference">total\_used</em> to multiple sections from Purity//FA 6\.4\.10
* purefa\_info \- Added support for autodir policies
* purefa\_info \- Prive array timezone from Purity//FA 6\.4\.10
* purefa\_info \- Report NTP Symmetric key presence from Purity//FA 6\.4\.10
* purefa\_network \- Add support for creating/modifying VIF and LACP\_BOND interfaces
* purefa\_network \- <em class="title-reference">enabled</em> option added\. This must now be used instead of state\=absent to disable a physical interface as state\=absent can now fully delete a non\-physical interface
* purefa\_ntp \- Added support for NTP Symmetric Key from Purity//FA 6\.4\.10s
* purefa\_offload \- Added a new profile parameter\.
* purefa\_pgsched \- Change <em class="title-reference">snap\_at</em> and <em class="title-reference">replicate\_at</em> to be AM or PM hourly
* purefa\_pgsnap \- Add protection group snapshot rename functionality
* purefa\_pgsnap \- Added new parameter to support snapshot throttling
* purefa\_policy \- Added support for autodir policies
* purefa\_policy \- Added support for multiple NFS versions from Purity//FA 6\.4\.10
* purefa\_proxy \- Add new protocol parameter\, defaults to https
* purefa\_snap \- Added new parameter to support snapshot throttling
* purefa\_vg \- Add rename parameter
<a id="purestorage-flashblade-5"></a>
#### purestorage\.flashblade
* purefb\_bucket\_replica \- Added support for cascading replica links
* purefb\_fs \- Added support for SMB client and share policies
* purefb\_fs\_replica \- Added support to delete filesystem replica links from REST 2\.10
* purefb\_info \- Add drive type in drives subset for //S and //E platforms\. Only available from REST 2\.9\.
* purefb\_info \- Added support for SMB client and share policies
* purefb\_info \- New fields to display free space \(remaining quota\) for Accounts and Buckets\. Space used by destroyed buckets is split out from virtual field to new destroyed\_virtual field
* purefb\_info \- Report encryption state in SMB client policy rules
* purefb\_info \- Report more detailed space data from Purity//FB 4\.3\.0
* purefb\_policy \- Add deny effect for object store policy rules\. Requires Purity//FB 4\.3\.0\+
* purefb\_policy \- Add new and updated policy access rights
* purefb\_policy \- Added parameter to define object store policy description
* purefb\_policy \- Added support for SMB client and share policies
* purefb\_s3acc \- Allow human readable quota sizes\; eg\. 1T\, 230K\, etc
* purefb\_s3user \- Add new boolean parameter I\(multiple\_keys\) to limit access keys for a user to a single key\.
<a id="purestorage-fusion-1"></a>
#### purestorage\.fusion
* FUSION\_API\_HOST \&\& FUSION\_HOST \- changed logic\, now this variables require host name without path
* Fusion authentication \- add \'access\_token\' module\'s parameter and \'FUSION\_ACCESS\_TOKEN\' environment variable\, as an alternative way of the authentication\.
* all modules \- return resource\'s id parameter on update and create\.
* fusion \- added private key password\, which is used to decrypt private key files
* fusion\_array \- added <em class="title-reference">apartment\_id</em> argument\, which can be used when creating an array\.
* fusion\_info \- <em class="title-reference">array</em> is None if missing in <em class="title-reference">volume</em>
* fusion\_info \- <em class="title-reference">hardware\_types</em> is None if missing in <em class="title-reference">storage\_service</em>
* fusion\_info \- <em class="title-reference">network\_interface\_groups</em> is None if missing in <em class="title-reference">iscsi\_interfaces</em> in <em class="title-reference">storage\_endpoint</em>
* fusion\_info \- introduce \'availability\_zones\' subset option
* fusion\_info \- introduce \'host\_access\_policies\' subset option
* fusion\_info \- introduce \'network\_interfaces\' subset option
* fusion\_info \- introduce \'regions\' subset option
* fusion\_info \- rename \'appliances\' in default dict to \'arrays\' for consistency
* fusion\_info \- rename \'hosts\' dict to \'host\_access\_policies\' for consistency
* fusion\_info \- rename \'interfaces\' dict to \'network\_interfaces\' for consistency
* fusion\_info \- rename \'placements\_groups\' in default dict to \'placement\_groups\' for consistency
* fusion\_info \- rename \'zones\' dict to \'availability\_zones\' for consistency
* fusion\_info \- rename hardware to hardware\_types in response for consistency
* fusion\_info \- rename storageclass to storage\_classes in response for consistency
* fusion\_pg \- introduced <em class="title-reference">destroy\_snapshots\_on\_delete</em> which\, if set to true\, ensures that before deleting placement group\, snapshots within the placement group will be deleted\.
* fusion\_pp \- \'local\_rpo\' duration parsing documented\, \'local\_retention\' minimum value fixed
* fusion\_pp \- Allow leading zeros in duration strings
* fusion\_pp \- Change the minimum value of the protection policy local retention from 1 to 10
* fusion\_pp \- duration parsing improved\. Supports combination of time units \(E\.g 5H5M\)
* fusion\_pp \- introduced <em class="title-reference">destroy\_snapshots\_on\_delete</em> which\, if set to true\, ensures that before deleting protection policy\, snapshots within the protection policy will be deleted\.
* fusion\_ra \- added <em class="title-reference">api\_client\_key</em> argument\, which can be used instead of <em class="title-reference">user</em> and <em class="title-reference">principal</em> argument
* fusion\_ra \- added <em class="title-reference">principal</em> argument\, which is an ID of either API client or User and can be used instead of <em class="title-reference">user</em> argument
* fusion\_se \- add support for CBS Storage Endpoint
* fusion\_volume \- Allow creating a new volume from already existing volume or volume snapshot
<a id="sensu-sensu-go"></a>
#### sensu\.sensu\_go
* Added Docker file configurations for Ubuntu 20\.04 and 22\.04
* Added aditional parameters for Postgres resource to datastore module
* Added bcrypt check to user module
* Added docs for backends and package\_name filter
* Added symlink for AlmaLinux\.yml for alma linux 9 support
<a id="t-systems-mms-icinga-director"></a>
#### t\_systems\_mms\.icinga\_director
* Add Icinga Deploy handler and module \([https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/205](https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/205)\)
<a id="theforeman-foreman-2"></a>
#### theforeman\.foreman
* compute\_resource \- add support for OpenStack
* content\_view\_filter \- add deb filter type
* content\_view\_filter\_rule \- add spec for deb filter rules
* content\_view\_promote role \- also accept all parameters of the <em class="title-reference">content\_view\_version</em> module \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1591](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1591)\)
* content\_view\_version \- include information about the published version in the return value of the module
* job\-invocation \- add <code>recurrence purpose</code> and <code>description\_format</code> parameters
* locations role \- New role to manage locations
* organizations role \- accept <code>parameters</code> and <code>ignore\_types</code> like the module does
* repositories role \- allow disabling/removing of repositories by setting the <code>state</code> parameter
<a id="vultr-cloud-4"></a>
#### vultr\.cloud
* instance \- Implemented a new <code>state</code> equal <code>reinstalled</code> to reinstall an existing instance \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/66](https\://github\.com/vultr/ansible\-collection\-vultr/pull/66)\)\.
* inventory \- Added VPC/VPC 2\.0 support by adding <code>internal\_ip</code> to the attributes \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/86](https\://github\.com/vultr/ansible\-collection\-vultr/issues/86)\)\.
* inventory \- Bare metal support has been implemented \([https\://github\.com/vultr/ansible\-collection\-vultr/pull/63](https\://github\.com/vultr/ansible\-collection\-vultr/pull/63)\)\.
<a id="vyos-vyos"></a>
#### vyos\.vyos
* vyos\-l3\_interface\_support \- Add support for Tunnel\, Bridge and Dummy interfaces\. \([https\://github\.com/ansible\-collections/vyos\.vyos/issues/265](https\://github\.com/ansible\-collections/vyos\.vyos/issues/265)\)
<a id="breaking-changes--porting-guide-1"></a>
### Breaking Changes / Porting Guide
<a id="ansible-core-15"></a>
#### Ansible\-core
* Any plugin using the config system and the <em class="title-reference">cli</em> entry to use the <em class="title-reference">timeout</em> from the command line\, will see the value change if the use had configured it in any of the lower precedence methods\. If relying on this behaviour to consume the global/generic timeout from the DEFAULT\_TIMEOUT constant\, please consult the documentation on plugin configuration to add the overlaping entries\.
* ansible\-test \- Test plugins that rely on containers no longer support reusing running containers\. The previous behavior was an undocumented\, untested feature\.
* service module will not permanently configure variables/flags for openbsd when doing enable/disable operation anymore\, this module was never meant to do this type of work\, just to manage the service state itself\. A rcctl\_config or similar module should be created and used instead\.
<a id="amazon-aws-9"></a>
#### amazon\.aws
* The amazon\.aws collection has dropped support for <code>botocore\<1\.29\.0</code> and <code>boto3\<1\.26\.0</code>\. Most modules will continue to work with older versions of the AWS SDK\, however compatability with older versions of the SDK is not guaranteed and will not be tested\. When using older versions of the SDK a warning will be emitted by Ansible \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\.
* amazon\.aws collection \- due to the AWS SDKs announcing the end of support for Python less than 3\.7 \([https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/](https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/)\) support for Python less than 3\.7 by this collection wss been deprecated in release 6\.0\.0 and removed in release 7\.0\.0\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\.
* module\_utils \- <code>module\_utils\.urls</code> was previously deprecated and has been removed \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1540](https\://github\.com/ansible\-collections/amazon\.aws/pull/1540)\)\.
* module\_utils\.\_version \- vendored copy of distutils\.version has been dropped \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1587](https\://github\.com/ansible\-collections/amazon\.aws/pull/1587)\)\.
<a id="community-aws-3"></a>
#### community\.aws
* The community\.aws collection has dropped support for <code>botocore\<1\.29\.0</code> and <code>boto3\<1\.26\.0</code>\. Most modules will continue to work with older versions of the AWS SDK\, however compatability with older versions of the SDK is not guaranteed and will not be tested\. When using older versions of the SDK a warning will be emitted by Ansible \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\.
* aws\_region\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.aws\_region\_info</code>\.
* aws\_s3\_bucket\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.aws\_s3\_bucket\_info</code>\.
* community\.aws collection \- due to the AWS SDKs announcing the end of support for Python less than 3\.7 \([https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/](https\://aws\.amazon\.com/blogs/developer/python\-support\-policy\-updates\-for\-aws\-sdks\-and\-tools/)\) support for Python less than 3\.7 by this collection wss been deprecated in release 6\.0\.0 and removed in release 7\.0\.0\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1763](https\://github\.com/ansible\-collections/amazon\.aws/pull/1763)\)\.
* iam\_access\_key \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_access\_key</code>\.
* iam\_access\_key\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_access\_key\_info</code>\.
* iam\_group \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_group</code> \([https\://github\.com/ansible\-collections/community\.aws/pull/1945](https\://github\.com/ansible\-collections/community\.aws/pull/1945)\)\.
* iam\_managed\_policy \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_managed\_policy</code> \([https\://github\.com/ansible\-collections/community\.aws/pull/1954](https\://github\.com/ansible\-collections/community\.aws/pull/1954)\)\.
* iam\_mfa\_device\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_mfa\_device\_info</code> \([https\://github\.com/ansible\-collections/community\.aws/pull/1953](https\://github\.com/ansible\-collections/community\.aws/pull/1953)\)\.
* iam\_password\_policy \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_password\_policy</code>\.
* iam\_role \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_role</code> \([https\://github\.com/ansible\-collections/community\.aws/pull/1948](https\://github\.com/ansible\-collections/community\.aws/pull/1948)\)\.
* iam\_role\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.iam\_role\_info</code> \([https\://github\.com/ansible\-collections/community\.aws/pull/1948](https\://github\.com/ansible\-collections/community\.aws/pull/1948)\)\.
* s3\_bucket\_info \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.s3\_bucket\_info</code>\.
* sts\_assume\_role \- The module has been migrated from the <code>community\.aws</code> collection\. Playbooks using the Fully Qualified Collection Name for this module should be updated to use <code>amazon\.aws\.sts\_assume\_role</code>\.
<a id="community-general-15"></a>
#### community\.general
* collection\_version lookup plugin \- remove compatibility code for ansible\-base 2\.10 and ansible\-core 2\.11 \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\.
* gitlab\_project \- add <code>default\_branch</code> support for project update\. If you used the module so far with <code>default\_branch</code> to update a project\, the value of <code>default\_branch</code> was ignored\. Make sure that you either do not pass a value if you are not sure whether it is the one you want to have to avoid unexpected breaking changes \([https\://github\.com/ansible\-collections/community\.general/pull/7158](https\://github\.com/ansible\-collections/community\.general/pull/7158)\)\.
* selective callback plugin \- remove compatibility code for Ansible 2\.9 and ansible\-core 2\.10 \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\.
* vardict module utils \- <code>VarDict</code> will no longer accept variables named <code>\_var</code>\, <code>get\_meta</code>\, and <code>as\_dict</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6647](https\://github\.com/ansible\-collections/community\.general/pull/6647)\)\.
* version module util \- remove fallback for ansible\-core 2\.11\. All modules and plugins that do version collections no longer work with ansible\-core 2\.11 \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\.
<a id="community-hashi-vault-3"></a>
#### community\.hashi\_vault
* The minimum required version of <code>hvac</code> is now <code>1\.2\.1</code> \([https\://docs\.ansible\.com/ansible/devel/collections/community/hashi\_vault/docsite/user\_guide\.html\#hvac\-version\-specifics](https\://docs\.ansible\.com/ansible/devel/collections/community/hashi\_vault/docsite/user\_guide\.html\#hvac\-version\-specifics)\)\.
<a id="community-vmware-6"></a>
#### community\.vmware
* Removed support for ansible\-core version \< 2\.15\.0\.
* vmware\_dvs\_host \- removed defaults for <em class="title-reference">vmnics</em> and <em class="title-reference">lag\_uplinks</em> \([https\://github\.com/ansible\-collections/community\.vmware/issues/1516](https\://github\.com/ansible\-collections/community\.vmware/issues/1516)\)\.
* vmware\_host\_acceptance \- removed <em class="title-reference">acceptance\_level</em> and used its options in <em class="title-reference">state</em>\. This also means there will be no state <em class="title-reference">list</em> anymore\. In order to get information about the current acceptance level\, use the new module <em class="title-reference">vmware\_host\_acceptance\_info</em> \([https\://github\.com/ansible\-collections/community\.vmware/issues/1872](https\://github\.com/ansible\-collections/community\.vmware/issues/1872)\)\.
* vmware\_vm\_info \- added prefix length to IP addresses in vm\_network\, so they now show up as for example 10\.76\.33\.228/24 instead of just 10\.76\.33\.228 \([https\://github\.com/ansible\-collections/community\.vmware/issues/1761](https\://github\.com/ansible\-collections/community\.vmware/issues/1761)\)\.
<a id="dellemc-enterprise-sonic-4"></a>
#### dellemc\.enterprise\_sonic
* sonic\_aaa \- Add default\_auth attribute to the argspec to replace the deleted group and local attributes\. This change allows for ordered login authentication\. \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/195](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/195)\)\.
<a id="hetzner-hcloud-5"></a>
#### hetzner\.hcloud
* Drop support for ansible\-core 2\.12
* Drop support for python 3\.7
* hcloud\-python 1\.20\.0 is now required for full compatibility
* inventory plugin \- Don\'t set the server image variables \(<em class="title-reference">image\_id</em>\, <em class="title-reference">image\_os\_flavor</em> and <em class="title-reference">image\_name</em>\) when the server image is not defined\.
<a id="deprecated-features-3"></a>
### Deprecated Features
* The <code>community\.azure</code> collection is officially unmaintained and has been archived\. Therefore\, it will be removed from Ansible 10\. There is already a successor collection <code>azure\.azcollection</code> in the community package which should cover the same functionality \([https\://github\.com/ansible\-community/community\-topics/issues/263](https\://github\.com/ansible\-community/community\-topics/issues/263)\)\.
* The <code>hpe\.nimble</code> collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/254](https\://github\.com/ansible\-community/community\-topics/issues/254)\)\.
* The collection <code>community\.sap</code> has been renamed to <code>community\.sap\_libs</code>\. For now both collections are included in Ansible\. The content in <code>community\.sap</code> has deprecated redirects to the new collection in Ansible 9\.0\.0\, and the collection will be removed from Ansible 10 completely\. Please update your FQCNs for <code>community\.sap</code>\.
* The collection <code>ibm\.spectrum\_virtualize</code> has been renamed to <code>ibm\.storage\_virtualize</code>\. For now\, both collections are included in Ansible\. The content in <code>ibm\.spectrum\_virtualize</code> will be replaced with deprecated redirects to the new collection in Ansible 10\.0\.0\, and these redirects will eventually be removed from Ansible\. Please update your FQCNs for <code>ibm\.spectrum\_virtualize</code>\.
* The collection <code>t\_systems\_mms\.icinga\_director</code> has been renamed to <code>telekom\_mms\.icinga\_director</code>\. For now both collections are included in Ansible\. The content in <code>t\_systems\_mms\.icinga\_director</code> has been replaced with deprecated redirects to the new collection in Ansible 9\.0\.0\, and these redirects will be removed from Ansible 11\. Please update your FQCNs for <code>t\_systems\_mms\.icinga\_director</code>\.
* The netapp\.azure collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/234](https\://github\.com/ansible\-community/community\-topics/issues/234)\)\.
* The netapp\.elementsw collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/235](https\://github\.com/ansible\-community/community\-topics/issues/235)\)\.
* The netapp\.um\_info collection is considered unmaintained and will be removed from Ansible 10 if no one starts maintaining it again before Ansible 10\. See [the removal process for details on how this works](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#cancelling\-removal\-of\-an\-unmaintained\-collection) \([https\://github\.com/ansible\-community/community\-topics/issues/244](https\://github\.com/ansible\-community/community\-topics/issues/244)\)\.
<a id="ansible-core-16"></a>
#### Ansible\-core
* Deprecated ini config option <code>collections\_paths</code>\, use the singular form <code>collections\_path</code> instead
* Deprecated the env var <code>ANSIBLE\_COLLECTIONS\_PATHS</code>\, use the singular form <code>ANSIBLE\_COLLECTIONS\_PATH</code> instead
* Old style vars plugins which use the entrypoints <em class="title-reference">get\_host\_vars</em> or <em class="title-reference">get\_group\_vars</em> are deprecated\. The plugin should be updated to inherit from <em class="title-reference">BaseVarsPlugin</em> and define a <em class="title-reference">get\_vars</em> method as the entrypoint\.
* Support for Windows Server 2012 and 2012 R2 has been removed as the support end of life from Microsoft is October 10th 2023\. These versions of Windows will no longer be tested in this Ansible release and it cannot be guaranteed that they will continue to work going forward\.
* <code>STRING\_CONVERSION\_ACTION</code> config option is deprecated as it is no longer used in the Ansible Core code base\.
* the \'smart\' option for setting a connection plugin is being removed as its main purpose \(choosing between ssh and paramiko\) is now irrelevant\.
* vault and unfault filters \- the undocumented <code>vaultid</code> parameter is deprecated and will be removed in ansible\-core 2\.20\. Use <code>vault\_id</code> instead\.
* yum\_repository \- deprecated parameter \'keepcache\' \([https\://github\.com/ansible/ansible/issues/78693](https\://github\.com/ansible/ansible/issues/78693)\)\.
<a id="amazon-aws-10"></a>
#### amazon\.aws
* ec2\_instance \- deprecation of <code>tenancy</code> and <code>placement\_group</code> in favor of <code>placement</code> attribute \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1825](https\://github\.com/ansible\-collections/amazon\.aws/pull/1825)\)\.
* s3\_object \- support for passing object keys with a leading <code>/</code> has been deprecated and will be removed in a release after 2025\-12\-01 \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1549](https\://github\.com/ansible\-collections/amazon\.aws/pull/1549)\)\.
<a id="ansible-netcommon-1"></a>
#### ansible\.netcommon
* libssh \- the ssh\_\*\_args options are now marked that they will be removed after 2026\-01\-01\.
<a id="ansible-windows-5"></a>
#### ansible\.windows
* Add warning when using Server 2012 or 2012 R2 with the <code>setup</code> module\. These OS\' are nearing the End of Life and will not be tested in CI when that time is reached\.
* win\_domain \- Module is deprecated in favour of the <code>microsoft\.ad\.domain</code> module\, the <code>ansible\.windows\.win\_domain</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
* win\_domain\_controller \- Module is deprecated in favour of the <code>microsoft\.ad\.domain\_controller</code> module\, the <code>ansible\.windows\.win\_domain\_controller</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
* win\_domain\_membership \- Module is deprecated in favour of the <code>microsoft\.ad\.membership</code> module\, the <code>ansible\.windows\.win\_domain\_membership</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
<a id="cisco-ios-5"></a>
#### cisco\.ios
* ios\_snmp\_server \- deprecate traps\.envmon\.fan with traps\.envmon\.fan\_enable
* ios\_snmp\_server \- deprecate traps\.mpls\_vpn with traps\.mpls
* ospfv2 \- removed passive\_interface to passive\_interfaces that supports a list of interfaces
<a id="cisco-iosxr-2"></a>
#### cisco\.iosxr
* Deprecated iosxr\_bgp module in favor of iosxr\_bgp\_global\,iosxr\_bgp\_neighbor\_address\_family and iosxr\_bgp\_address\_family\.
* iosxr\_l2\_interfaces \- deprecate q\_vlan with qvlan which allows vlans in str format e\.g \"any\"
<a id="community-ciscosmb-1"></a>
#### community\.ciscosmb
* support for Python 2\.6 nad 2\.7
* support for ansible 2\.9
<a id="community-crypto-7"></a>
#### community\.crypto
* get\_certificate \- the default <code>false</code> of the <code>asn1\_base64</code> option is deprecated and will change to <code>true</code> in community\.crypto 3\.0\.0 \([https\://github\.com/ansible\-collections/community\.crypto/pull/600](https\://github\.com/ansible\-collections/community\.crypto/pull/600)\)\.
<a id="community-general-16"></a>
#### community\.general
* CmdRunner module utils \- deprecate <code>cmd\_runner\_fmt\.as\_default\_type\(\)</code> formatter \([https\://github\.com/ansible\-collections/community\.general/pull/6601](https\://github\.com/ansible\-collections/community\.general/pull/6601)\)\.
* MH VarsMixin module utils \- deprecates <code>VarsMixin</code> and supporting classes in favor of plain <code>vardict</code> module util \([https\://github\.com/ansible\-collections/community\.general/pull/6649](https\://github\.com/ansible\-collections/community\.general/pull/6649)\)\.
* The next major release\, community\.general 8\.0\.0\, will drop support for ansible\-core 2\.11 and 2\.12\, which have been End of Life for some time now\. This means that this collection no longer supports Python 2\.6 on the target\. Individual content might still work with unsupported ansible\-core versions\, but that can change at any time\. Also please note that from now on\, for every new major community\.general release\, we will drop support for all ansible\-core versions that have been End of Life for more than a few weeks on the date of the major release \([https\://github\.com/ansible\-community/community\-topics/discussions/271](https\://github\.com/ansible\-community/community\-topics/discussions/271)\, [https\://github\.com/ansible\-collections/community\.general/pull/7259](https\://github\.com/ansible\-collections/community\.general/pull/7259)\)\.
* ansible\_galaxy\_install \- the <code>ack\_ansible29</code> and <code>ack\_min\_ansiblecore211</code> options have been deprecated and will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* consul \- the <code>ack\_params\_state\_absent</code> option has been deprecated and will be removed in community\.general 10\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* cpanm \- value <code>compatibility</code> is deprecated as default for parameter <code>mode</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6512](https\://github\.com/ansible\-collections/community\.general/pull/6512)\)\.
* ejabberd\_user \- deprecate the parameter <code>logging</code> in favour of producing more detailed information in the module output \([https\://github\.com/ansible\-collections/community\.general/pull/7043](https\://github\.com/ansible\-collections/community\.general/pull/7043)\)\.
* flowdock \- module relies entirely on no longer responsive API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6930](https\://github\.com/ansible\-collections/community\.general/pull/6930)\)\.
* proxmox \- old feature flag <code>proxmox\_default\_behavior</code> will be removed in community\.general 10\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6836](https\://github\.com/ansible\-collections/community\.general/pull/6836)\)\.
* proxmox\_kvm \- deprecate the option <code>proxmox\_default\_behavior</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7377](https\://github\.com/ansible\-collections/community\.general/pull/7377)\)\.
* redfish\_info\, redfish\_config\, redfish\_command \- the default value <code>10</code> for the <code>timeout</code> option is deprecated and will change to <code>60</code> in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/7295](https\://github\.com/ansible\-collections/community\.general/pull/7295)\)\.
* redhat module utils \- the <code>module\_utils\.redhat</code> module is deprecated\, as
effectively unused\: the <code>Rhsm</code>\, <code>RhsmPool</code>\, and <code>RhsmPools</code> classes
will be removed in community\.general 9\.0\.0\; the <code>RegistrationBase</code> class
will be removed in community\.general 10\.0\.0 together with the
<code>rhn\_register</code> module\, as it is the only user of this class\; this means
that the whole <code>module\_utils\.redhat</code> module will be dropped in
community\.general 10\.0\.0\, so importing it without even using anything of it
will fail
\([https\://github\.com/ansible\-collections/community\.general/pull/6663](https\://github\.com/ansible\-collections/community\.general/pull/6663)\)\.
* redhat\_subscription \- the <code>autosubscribe</code> alias for the <code>auto\_attach</code> option has been
deprecated for many years\, although only in the documentation\. Officially mark this alias
as deprecated\, and it will be removed in community\.general 9\.0\.0
\([https\://github\.com/ansible\-collections/community\.general/pull/6646](https\://github\.com/ansible\-collections/community\.general/pull/6646)\)\.
* redhat\_subscription \- the <code>pool</code> option is deprecated in favour of the
more precise and flexible <code>pool\_ids</code> option
\([https\://github\.com/ansible\-collections/community\.general/pull/6650](https\://github\.com/ansible\-collections/community\.general/pull/6650)\)\.
* rhsm\_repository \- <code>state\=present</code> has not been working as expected for many years\,
and it seems it was not noticed so far\; also\, \"presence\" is not really a valid concept
for subscription repositories\, which can only be enabled or disabled\. Hence\, mark the
<code>present</code> and <code>absent</code> values of the <code>state</code> option as deprecated\, slating them
for removal in community\.general 10\.0\.0
\([https\://github\.com/ansible\-collections/community\.general/pull/6673](https\://github\.com/ansible\-collections/community\.general/pull/6673)\)\.
* stackdriver \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6887](https\://github\.com/ansible\-collections/community\.general/pull/6887)\)\.
* webfaction\_app \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\.
* webfaction\_db \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\.
* webfaction\_domain \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\.
* webfaction\_mailbox \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\.
* webfaction\_site \- module relies entirely on no longer existent API endpoints\, and it will be removed in community\.general 9\.0\.0 \([https\://github\.com/ansible\-collections/community\.general/pull/6909](https\://github\.com/ansible\-collections/community\.general/pull/6909)\)\.
<a id="community-postgresql-6"></a>
#### community\.postgresql
* postgresql\_lang \- the module has been deprecated and will be removed in <code>community\.postgresql 4\.0\.0</code>\. Please use the <code>postgresql\_ext</code> module instead \([https\://github\.com/ansible\-collections/community\.postgresql/issues/559](https\://github\.com/ansible\-collections/community\.postgresql/issues/559)\)\.
<a id="community-sap-1"></a>
#### community\.sap
* community\.sap\.hana\_query \- is deprecated in favor of community\.sap\_libs\.sap\_hdbsql
* community\.sap\.sap\_company \- is deprecated in favor of community\.sap\_libs\.sap\_company
* community\.sap\.sap\_snote \- is deprecated in favor of community\.sap\_libs\.sap\_snote
* community\.sap\.sap\_task\_list\_execute \- is deprecated in favor of community\.sap\_libs\.sap\_task\_list\_execute
* community\.sap\.sap\_user \- is deprecated in favor of community\.sap\_libs\.sap\_user
* community\.sap\.sapcar\_extract \- is deprecated in favor of community\.sap\_libs\.sapcar\_extract
<a id="community-windows-5"></a>
#### community\.windows
* win\_domain\_computer \- Module is deprecated in favour of the <code>microsoft\.ad\.computer</code> module\, the <code>community\.windows\.win\_domain\_computer</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
* win\_domain\_group \- Module is deprecated in favour of the <code>microsoft\.ad\.group</code> module\, the <code>community\.windows\.win\_domain\_group</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
* win\_domain\_group\_membership \- Module is deprecated in favour of the <code>microsoft\.ad\.group</code> module\, the <code>community\.windows\.win\_domain\_group\_membership</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
* win\_domain\_object\_info \- Module is deprecated in favour of the <code>microsoft\.ad\.object\_info</code> module\, the <code>community\.windows\.win\_domain\_object\_info</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
* win\_domain\_ou \- Module is deprecated in favour of the <code>microsoft\.ad\.ou</code> module\, the <code>community\.windows\.win\_domain\_ou</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
* win\_domain\_user \- Module is deprecated in favour of the <code>microsoft\.ad\.user</code> module\, the <code>community\.windows\.win\_domain\_user</code> module will be removed in the <code>3\.0\.0</code> release of this collection\.
<a id="junipernetworks-junos-2"></a>
#### junipernetworks\.junos
* <em class="title-reference">junos\_ospfv2</em> \- add deprecate warning for area\_range\.
* add deprecate warning for junos\_acl\_interfaces key for junos facts results\.
<a id="microsoft-ad-5"></a>
#### microsoft\.ad
* Deprecating support for Server 2012 and Server 2012 R2\. These OS versions are reaching End of Life status from Microsoft and support for using them in Ansible are nearing its end\.
<a id="purestorage-fusion-2"></a>
#### purestorage\.fusion
* fusion\_api\_client \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_array \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_az \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_hap \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_hap \- parameters <em class="title-reference">nqn</em>\, <em class="title-reference">wwns</em>\, <em class="title-reference">host\_password</em>\, <em class="title-reference">host\_user</em>\, <em class="title-reference">target\_password\`and \`target\_user</em> were deprecated
* fusion\_hw \- FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_info \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_info \- \'hosts\' subset is deprecated in favor of \'host\_access\_policies\' and will be removed in the version 2\.0\.0
* fusion\_info \- \'interfaces\' subset is deprecated in favor of \'network\_interfaces\' and will be removed in the version 2\.0\.0
* fusion\_info \- \'zones\' subset is deprecated in favor of \'availability\_zones\' and will be removed in the version 2\.0\.0
* fusion\_ni \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_nig \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_pg \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_pp \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_ra \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_region \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_sc \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_se \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_se \- <em class="title-reference">endpoint\_type</em> parameter is now deprecated and will be removed in version 2\.0\.0
* fusion\_ss \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_tenant \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_tn \- FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_ts \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
* fusion\_volume \- \'app\_id\' and \'key\_file\' parameters are deprecated in favor of \'issuer\_id\' and \'private\_key\_file\' parameters and will be removed in the version 2\.0\.0\, FUSION\_APP\_ID and FUSION\_HOST env variables are deprecated in favor of FUSION\_ISSUER\_ID and FUSION\_HOST and will be removed in the version 2\.0\.0
<a id="t-systems-mms-icinga-director-1"></a>
#### t\_systems\_mms\.icinga\_director
* All modules and plugins are moved to the new namespace telekom\_mms\. Please update your code accordingly\.
<a id="removed-features-previously-deprecated"></a>
### Removed Features \(previously deprecated\)
* The deprecated servicenow\.servicenow collection has been removed from Ansible 7\, but accidentally re\-added to Ansible 8\. It has been removed again from Ansible 9 \([https\://github\.com/ansible\-community/community\-topics/issues/246](https\://github\.com/ansible\-community/community\-topics/issues/246)\)\.
* The ngine\_io\.vultr collection has been removed from Ansible 9\, because it is officially unmaintained and has been archived\. The successor collection <code>vultr\.cloud</code> \(using the recent v2 Vultr API\) covers the same functionality but might not have compatible syntax \([https\://github\.com/ansible\-community/community\-topics/issues/257](https\://github\.com/ansible\-community/community\-topics/issues/257)\)\.
* <code>cisco\.nso</code> was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with <code>ansible\-galaxy collection install cisco\.nso</code>\.
* <code>community\.fortios</code> was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with <code>ansible\-galaxy collection install community\.fortios</code>\.
* <code>community\.google</code> was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with <code>ansible\-galaxy collection install community\.google</code>\.
* <code>community\.skydive</code> was considered unmaintained and removed from Ansible 9 as per the [removal from Ansible process](https\://github\.com/ansible\-collections/overview/blob/main/removal\_from\_ansible\.rst\#unmaintained\-collections)\. Users can still install this collection with <code>ansible\-galaxy collection install community\.skydive</code>\.
<a id="ansible-core-17"></a>
#### Ansible\-core
* ActionBase \- remove deprecated <code>\_remote\_checksum</code> method
* PlayIterator \- remove deprecated <code>cache\_block\_tasks</code> and <code>get\_original\_task</code> methods
* Remove deprecated <code>FileLock</code> class
* Removed Python 3\.9 as a supported version on the controller\. Python 3\.10 or newer is required\.
* Removed <code>include</code> which has been deprecated in Ansible 2\.12\. Use <code>include\_tasks</code> or <code>import\_tasks</code> instead\.
* <code>Templar</code> \- remove deprecated <code>shared\_loader\_obj</code> parameter of <code>\_\_init\_\_</code>
* <code>fetch\_url</code> \- remove auto disabling <code>decompress</code> when gzip is not available
* <code>get\_action\_args\_with\_defaults</code> \- remove deprecated <code>redirected\_names</code> method parameter
* ansible\-test \- Removed support for the remote Windows targets 2012 and 2012\-R2
* inventory\_cache \- remove deprecated <code>default\.fact\_caching\_prefix</code> ini configuration option\, use <code>defaults\.fact\_caching\_prefix</code> instead\.
* module\_utils/basic\.py \- Removed Python 3\.5 as a supported remote version\. Python 2\.7 or Python 3\.6\+ is now required\.
* stat \- removed unused <em class="title-reference">get\_md5</em> parameter\.
<a id="ansible-windows-6"></a>
#### ansible\.windows
* win\_get\_url \- Removed the deprecated option alias <code>passwordd</code>\, use <code>url\_password</code> instead\.
* win\_get\_url \- Removed the deprecated option alias <code>user</code> and <code>username</code>\, use <code>url\_username</code> instead\.
* win\_package \- Removed deprecated module option <code>ensure</code>\, use <code>state</code> instead\.
* win\_package \- Removed deprecated module option <code>productid</code>\, use <code>product\_id</code> instead\.
* win\_package \- Removed deprecated module option <code>username</code>\, <code>user\_name</code>\, <code>password</code>\, and <code>user\_password</code>\. Use <code>become</code> with <code>become\_flags\: logon\_type\=new\_credentials logon\_flags\=netcredentials\_only</code> on the task instead to replicate the same functionality instead\.
* win\_reboot \- Removed backwards compatibility check where <code>ignore\_errors\: true</code> will be treated like <code>ignore\_unreachable\: true</code>\. Going forward <code>ignore\_errors\: true</code> will only ignore errors the plugin encountered and not an unreachable host\. Use <code>ignore\_unreachable\: true</code> to ignore that error like any other module\.
* win\_regedit \- Removed support for using a <code>path</code> with forward slashes as a key separator\. Using a forward slash has been deprecated since Ansible 2\.9\. If using forward slashes in the <code>win\_regedit</code> <code>path</code> value\, make sure to change the forward slash <code>/</code> to a backslash <code>\\</code>\. If enclosed in double quotes the backslash will have to be doubled up\.
* win\_updates \- Removed deprecated alias <code>blacklist</code>\, use <code>reject\_list</code> instead\.
* win\_updates \- Removed deprecated alias <code>whitelist</code>\, use <code>accept\_list</code> instead\.
* win\_updates \- Removed deprecated module option <code>use\_scheduled\_task</code>\. This option did not change any functionality in the module and can be safely removed from the task entry\.
* win\_uri \- Removed the deprecated option alias <code>password</code>\, use <code>url\_password</code> instead\.
* win\_uri \- Removed the deprecated option alias <code>user</code> and <code>username</code>\, use <code>url\_username</code> instead\.
<a id="cisco-ios-6"></a>
#### cisco\.ios
* Deprecated ios\_logging module in favor of ios\_logging\_global\.
* Deprecated next\_hop\_self attribute for bgp\_address\_family with nexthop\_self\.
<a id="cisco-nxos-3"></a>
#### cisco\.nxos
* The nxos\_bgp module has been removed with this release\.
* The nxos\_bgp\_af module has been removed with this release\.
* The nxos\_bgp\_neighbor module has been removed with this release\.
* The nxos\_bgp\_neighbor\_af module has been removed with this release\.
<a id="community-ciscosmb-2"></a>
#### community\.ciscosmb
* remove testing for Python 2\.6 nad 2\.7
* remove testing for ansible 2\.9
<a id="community-general-17"></a>
#### community\.general
* The collection no longer supports ansible\-core 2\.11 and ansible\-core 2\.12\. Parts of the collection might still work on these ansible\-core versions\, but others might not \([https\://github\.com/ansible\-collections/community\.general/pull/7269](https\://github\.com/ansible\-collections/community\.general/pull/7269)\)\.
* ansible\_galaxy\_install \- support for Ansible 2\.9 and ansible\-base 2\.10 has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* consul \- when <code>state\=absent</code>\, the options <code>script</code>\, <code>ttl</code>\, <code>tcp</code>\, <code>http</code>\, and <code>interval</code> can no longer be specified \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* gconftool2 \- <code>state\=get</code> has been removed\. Use the module <code>community\.general\.gconftool2\_info</code> instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* gitlab\_runner \- remove the default value for the <code>access\_level</code> option\. To restore the previous behavior\, explicitly set it to <code>ref\_protected</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* htpasswd \- removed code for passlib \<1\.6 \([https\://github\.com/ansible\-collections/community\.general/pull/6901](https\://github\.com/ansible\-collections/community\.general/pull/6901)\)\.
* manageiq\_polices \- <code>state\=list</code> has been removed\. Use the module <code>community\.general\.manageiq\_policies\_info</code> instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* manageiq\_tags \- <code>state\=list</code> has been removed\. Use the module <code>community\.general\.manageiq\_tags\_info</code> instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* mh\.mixins\.cmd module utils \- the <code>ArgFormat</code> class has been removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* mh\.mixins\.cmd module utils \- the <code>CmdMixin</code> mixin has been removed\. Use <code>community\.general\.plugins\.module\_utils\.cmd\_runner\.CmdRunner</code> instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* mh\.mixins\.cmd module utils \- the mh\.mixins\.cmd module utils has been removed after all its contents were removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* mh\.module\_helper module utils \- the <code>CmdModuleHelper</code> and <code>CmdStateModuleHelper</code> classes have been removed\. Use <code>community\.general\.plugins\.module\_utils\.cmd\_runner\.CmdRunner</code> instead \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
* proxmox module utils \- removed unused imports \([https\://github\.com/ansible\-collections/community\.general/pull/6873](https\://github\.com/ansible\-collections/community\.general/pull/6873)\)\.
* xfconf \- the deprecated <code>disable\_facts</code> option was removed \([https\://github\.com/ansible\-collections/community\.general/pull/7358](https\://github\.com/ansible\-collections/community\.general/pull/7358)\)\.
<a id="community-hashi-vault-4"></a>
#### community\.hashi\_vault
* The minimum supported version of <code>ansible\-core</code> is now <code>2\.14</code>\, support for <code>2\.13</code> has been dropped \([https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/403](https\://github\.com/ansible\-collections/community\.hashi\_vault/pull/403)\)\.
<a id="community-vmware-7"></a>
#### community\.vmware
* Removed module util <em class="title-reference">version</em> \([https\://github\.com/ansible\-collections/community\.vmware/issues/1639](https\://github\.com/ansible\-collections/community\.vmware/issues/1639)\)\.
* vmware\_guest \- removed specifying CDROM configuration as a dict\, instead use a list \([https\://github\.com/ansible\-collections/community\.vmware/issues/1472](https\://github\.com/ansible\-collections/community\.vmware/issues/1472)\)\.
* vmware\_host\_lockdown \- removed deprecated states <em class="title-reference">absent</em> and <em class="title-reference">present</em> \([https\://github\.com/ansible\-collections/community\.vmware/issues/1517](https\://github\.com/ansible\-collections/community\.vmware/issues/1517)\)\.
* vmware\_rest\_client \- removed deprecated method <em class="title-reference">get\_tag\_by\_category\(\)</em> \([https\://github\.com/ansible\-collections/community\.vmware/issues/1898](https\://github\.com/ansible\-collections/community\.vmware/issues/1898)\)\.
<a id="community-windows-6"></a>
#### community\.windows
* Removed testing for Server 2012 and Server 2012 R2 as they are reaching End of Life status from Microsoft\. These OS versions may continue to work but will not be tested in CI\.
* win\_nssm \- Removed the deprecated module option <code>app\_parameters</code>\, use <code>arguments</code> instead\.
* win\_psmodule \- Removed the deprecated module option <code>url</code>\, use <code>community\.windows\.win\_psrepository</code> to manage repositories instead
* win\_psmodule \- Will no longer remove the <code>repository</code> specified when <code>state\: absent</code>\, use <code>community\.windows\.win\_psrepository</code> to manage repositories instead
* win\_scheduled\_tasks \- Removed support for a trigger <code>repetition</code> to be defined as a list of dictionary entries\. Specify the <code>repetition</code> as a dictionary value rather than a list of dictionaries\.
<a id="dellemc-openmanage-9"></a>
#### dellemc\.openmanage
* The <code>dellemc\_get\_firmware\_inventory</code> module is removed and replaced with the module <code>idrac\_firmware\_info</code>\.
* The <code>dellemc\_get\_system\_inventory</code> module is removed and replaced with the module <code>idrac\_system\_info</code>\.
<a id="hetzner-hcloud-6"></a>
#### hetzner\.hcloud
* hcloud\_datacenter\_facts Removed deprecated facts module
* hcloud\_floating\_ip\_facts Removed deprecated facts module
* hcloud\_image\_facts Removed deprecated facts module
* hcloud\_location\_facts Removed deprecated facts module
* hcloud\_server\_facts Removed deprecated facts module
* hcloud\_server\_type\_facts Removed deprecated facts module
* hcloud\_ssh\_key\_facts Removed deprecated facts module
* hcloud\_volume\_facts Removed deprecated facts module
<a id="security-fixes-3"></a>
### Security Fixes
<a id="ansible-core-18"></a>
#### Ansible\-core
* ansible\-galaxy \- Prevent roles from using symlinks to overwrite files outside of the installation directory \(CVE\-2023\-5115\)
<a id="bugfixes-5"></a>
### Bugfixes
<a id="ansible-core-19"></a>
#### Ansible\-core
* Allow for searching handler subdir for included task via include\_role \([https\://github\.com/ansible/ansible/issues/81722](https\://github\.com/ansible/ansible/issues/81722)\)
* AnsibleModule\.run\_command \- Only use selectors when needed\, and rely on Python stdlib subprocess for the simple task of collecting stdout/stderr when prompt matching is not required\.
* Cache host\_group\_vars after instantiating it once and limit the amount of repetitive work it needs to do every time it runs\.
* Call PluginLoader\.all\(\) once for vars plugins\, and load vars plugins that run automatically or are enabled specifically by name subsequently\.
* Display \- Defensively configure writing to stdout and stderr with a custom encoding error handler that will replace invalid characters while providing a deprecation warning that non\-utf8 text will result in an error in a future version\.
* Exclude internal options from man pages and docs\.
* Fix <code>ansible\-config init</code> man page option indentation\.
* Fix <code>ast</code> deprecation warnings for <code>Str</code> and <code>value\.s</code> when using Python 3\.12\.
* Fix <code>run\_once</code> being incorrectly interpreted on handlers \([https\://github\.com/ansible/ansible/issues/81666](https\://github\.com/ansible/ansible/issues/81666)\)
* Fix exceptions caused by various inputs when performing arg splitting or parsing key/value pairs\. Resolves issue [https\://github\.com/ansible/ansible/issues/46379](https\://github\.com/ansible/ansible/issues/46379) and issue [https\://github\.com/ansible/ansible/issues/61497](https\://github\.com/ansible/ansible/issues/61497)
* Fix incorrect parsing of multi\-line Jinja2 blocks when performing arg splitting or parsing key/value pairs\.
* Fix post\-validating looped task fields so the strategy uses the correct values after task execution\.
* Fixed <em class="title-reference">pip</em> module failure in case of usage quotes for <em class="title-reference">virtualenv\_command</em> option for the venv command\. \([https\://github\.com/ansible/ansible/issues/76372](https\://github\.com/ansible/ansible/issues/76372)\)
* From issue [https\://github\.com/ansible/ansible/issues/80880](https\://github\.com/ansible/ansible/issues/80880)\, when notifying a handler from another handler\, handler notifications must be registered immediately as the flush\_handler call is not recursive\.
* Import <code>FILE\_ATTRIBUTES</code> from <code>ansible\.module\_utils\.common\.file</code> in <code>ansible\.module\_utils\.basic</code> instead of defining it twice\.
* Inventory scripts parser not treat exception when getting hostsvar \([https\://github\.com/ansible/ansible/issues/81103](https\://github\.com/ansible/ansible/issues/81103)\)
* On Python 3 use datetime methods <code>fromtimestamp</code> and <code>now</code> with UTC timezone instead of <code>utcfromtimestamp</code> and <code>utcnow</code>\, which are deprecated in Python 3\.12\.
* PluginLoader \- fix Jinja plugin performance issues \([https\://github\.com/ansible/ansible/issues/79652](https\://github\.com/ansible/ansible/issues/79652)\)
* PowerShell \- Remove some code which is no longer valid for dotnet 5\+
* Prevent running same handler multiple times when included via <code>include\_role</code> \([https\://github\.com/ansible/ansible/issues/73643](https\://github\.com/ansible/ansible/issues/73643)\)
* Prompting \- add a short sleep between polling for user input to reduce CPU consumption \([https\://github\.com/ansible/ansible/issues/81516](https\://github\.com/ansible/ansible/issues/81516)\)\.
* Properly disable <code>jinja2\_native</code> in the template module when jinja2 override is used in the template \([https\://github\.com/ansible/ansible/issues/80605](https\://github\.com/ansible/ansible/issues/80605)\)
* Properly template tags in parent blocks \([https\://github\.com/ansible/ansible/issues/81053](https\://github\.com/ansible/ansible/issues/81053)\)
* Remove unreachable parser error for removed <code>static</code> parameter of <code>include\_role</code>
* Replace uses of <code>configparser\.ConfigParser\.readfp\(\)</code> which was removed in Python 3\.12 with <code>configparser\.ConfigParser\.read\_file\(\)</code> \([https\://github\.com/ansible/ansible/issues/81656](https\://github\.com/ansible/ansible/issues/81656)\)
* Set filters <code>intersect</code>\, <code>difference</code>\, <code>symmetric\_difference</code> and <code>union</code> now always return a <code>list</code>\, never a <code>set</code>\. Previously\, a <code>set</code> would be returned if the inputs were a hashable type such as <code>str</code>\, instead of a collection\, such as a <code>list</code> or <code>tuple</code>\.
* Set filters <code>intersect</code>\, <code>difference</code>\, <code>symmetric\_difference</code> and <code>union</code> now use set operations when the given items are hashable\. Previously\, list operations were performed unless the inputs were a hashable type such as <code>str</code>\, instead of a collection\, such as a <code>list</code> or <code>tuple</code>\.
* Switch result queue from a <code>multiprocessing\.queues\.Queue\` to \`\`multiprocessing\.queues\.SimpleQueue</code>\, primarily to allow properly handling pickling errors\, to prevent an infinite hang waiting for task results
* The <code>ansible\-config init</code> command now has a documentation description\.
* The <code>ansible\-galaxy collection download</code> command now has a documentation description\.
* The <code>ansible\-galaxy collection install</code> command documentation is now visible \(previously hidden by a decorator\)\.
* The <code>ansible\-galaxy collection verify</code> command now has a documentation description\.
* The <code>ansible\-galaxy role install</code> command documentation is now visible \(previously hidden by a decorator\)\.
* The <code>ansible\-inventory</code> command command now has a documentation description \(previously used as the epilog\)\.
* The <code>hostname</code> module now also updates both current and permanent hostname on OpenBSD\. Before it only updated the permanent hostname \([https\://github\.com/ansible/ansible/issues/80520](https\://github\.com/ansible/ansible/issues/80520)\)\.
* Update module\_utils\.urls unit test to work with cryptography \>\= 41\.0\.0\.
* When generating man pages\, use <code>func</code> to find the command function instead of looking it up by the command name\.
* <code>StrategyBase\.\_process\_pending\_results</code> \- create a <code>Templar</code> on demand for templating <code>changed\_when</code>/<code>failed\_when</code>\.
* <code>ansible\-galaxy</code> now considers all collection paths when identifying which collection requirements are already installed\. Use the <code>COLLECTIONS\_PATHS</code> and <code>COLLECTIONS\_SCAN\_SYS\_PATHS</code> config options to modify these\. Previously only the install path was considered when resolving the candidates\. The install path will remain the only one potentially modified\. \([https\://github\.com/ansible/ansible/issues/79767](https\://github\.com/ansible/ansible/issues/79767)\, [https\://github\.com/ansible/ansible/issues/81163](https\://github\.com/ansible/ansible/issues/81163)\)
* <code>ansible\.module\_utils\.service</code> \- ensure binary data transmission in <code>daemonize\(\)</code>
* <code>ansible\.module\_utils\.service</code> \- fix inter\-process communication in <code>daemonize\(\)</code>
* <code>import\_role</code> reverts to previous behavior of exporting vars at compile time\.
* <code>pkg\_mgr</code> \- fix the default dnf version detection
* ansiballz \- Prevent issue where the time on the control host could change part way through building the ansiballz file\, potentially causing a pre\-1980 date to be used during ansiballz unpacking leading to a zip file error \([https\://github\.com/ansible/ansible/issues/80089](https\://github\.com/ansible/ansible/issues/80089)\)
* ansible terminal color settings were incorrectly limited to 16 options via \'choices\'\, removing so all 256 can be accessed\.
* ansible\-console \- fix filtering by collection names when a collection search path was set \([https\://github\.com/ansible/ansible/pull/81450](https\://github\.com/ansible/ansible/pull/81450)\)\.
* ansible\-galaxy \- Enabled the <code>data</code> tarfile filter during role installation for Python versions that support it\. A probing mechanism is used to avoid Python versions with a broken implementation\.
* ansible\-galaxy \- Fix issue installing collections containing directories with more than 100 characters on python versions before 3\.10\.6
* ansible\-galaxy \- Fix variable type error when installing subdir collections \([https\://github\.com/ansible/ansible/issues/80943](https\://github\.com/ansible/ansible/issues/80943)\)
* ansible\-galaxy \- Provide a better error message when using a requirements file with an invalid format \- [https\://github\.com/ansible/ansible/issues/81901](https\://github\.com/ansible/ansible/issues/81901)
* ansible\-galaxy \- fix installing collections from directories that have a trailing path separator \([https\://github\.com/ansible/ansible/issues/77803](https\://github\.com/ansible/ansible/issues/77803)\)\.
* ansible\-galaxy \- fix installing signed collections \([https\://github\.com/ansible/ansible/issues/80648](https\://github\.com/ansible/ansible/issues/80648)\)\.
* ansible\-galaxy \- reduce API calls to servers by fetching signatures only for final candidates\.
* ansible\-galaxy \- started allowing the use of pre\-releases for collections that do not have any stable versions published\. \([https\://github\.com/ansible/ansible/pull/81606](https\://github\.com/ansible/ansible/pull/81606)\)
* ansible\-galaxy \- started allowing the use of pre\-releases for dependencies on any level of the dependency tree that specifically demand exact pre\-release versions of collections and not version ranges\. \([https\://github\.com/ansible/ansible/pull/81606](https\://github\.com/ansible/ansible/pull/81606)\)
* ansible\-galaxy collection verify \- fix verifying signed collections when the keyring is not configured\.
* ansible\-galaxy info \- fix reporting no role found when lookup\_role\_by\_name returns None\.
* ansible\-inventory \- index available\_hosts for major performance boost when dumping large inventories
* ansible\-test \- Add a <code>pylint</code> plugin to work around a known issue on Python 3\.12\.
* ansible\-test \- Add support for <code>argcomplete</code> version 3\.
* ansible\-test \- All containers created by ansible\-test now include the current test session ID in their name\. This avoids conflicts between concurrent ansible\-test invocations using the same container host\.
* ansible\-test \- Always use ansible\-test managed entry points for ansible\-core CLI tools when not running from source\. This fixes issues where CLI entry points created during install are not compatible with ansible\-test\.
* ansible\-test \- Fix a traceback that occurs when attempting to test Ansible source using a different ansible\-test\. A clear error message is now given when this scenario occurs\.
* ansible\-test \- Fix handling of timeouts exceeding one day\.
* ansible\-test \- Fix parsing of cgroup entries which contain a <code>\:</code> in the path \([https\://github\.com/ansible/ansible/issues/81977](https\://github\.com/ansible/ansible/issues/81977)\)\.
* ansible\-test \- Fix several possible tracebacks when using the <code>\-e</code> option with sanity tests\.
* ansible\-test \- Fix various cases where the test timeout could expire without terminating the tests\.
* ansible\-test \- Include missing <code>pylint</code> requirements for Python 3\.10\.
* ansible\-test \- Pre\-build a PyYAML wheel before installing requirements to avoid a potential Cython build failure\.
* ansible\-test \- Remove redundant warning about missing programs before attempting to execute them\.
* ansible\-test \- The <code>import</code> sanity test now checks the collection loader for remote\-only Python support when testing ansible\-core\.
* ansible\-test \- Unit tests now report warnings generated during test runs\. Previously only warnings generated during test collection were reported\.
* ansible\-test \- Update <code>pylint</code> to 2\.17\.2 to resolve several possible false positives\.
* ansible\-test \- Update <code>pylint</code> to 2\.17\.3 to resolve several possible false positives\.
* ansible\-test \- Update <code>pylint</code> to version 3\.0\.1\.
* ansible\-test \- Use <code>raise \.\.\. from \.\.\.</code> when raising exceptions from within an exception handler\.
* ansible\-test \- When bootstrapping remote FreeBSD instances\, use the OS packaged <code>setuptools</code> instead of installing the latest version from PyPI\.
* ansible\-test local change detection \- use <code>git merge\-base \<branch\> HEAD</code> instead of <code>git merge\-base \-\-fork\-point \<branch\></code> \([https\://github\.com/ansible/ansible/pull/79734](https\://github\.com/ansible/ansible/pull/79734)\)\.
* ansible\-vault \- fail when the destination file location is not writable before performing encryption \([https\://github\.com/ansible/ansible/issues/81455](https\://github\.com/ansible/ansible/issues/81455)\)\.
* apt \- ignore fail\_on\_autoremove and allow\_downgrade parameters when using aptitude \([https\://github\.com/ansible/ansible/issues/77868](https\://github\.com/ansible/ansible/issues/77868)\)\.
* blockinfile \- avoid crash with Python 3 if creating the directory fails when <code>create\=true</code> \([https\://github\.com/ansible/ansible/pull/81662](https\://github\.com/ansible/ansible/pull/81662)\)\.
* connection timeouts defined in ansible\.cfg will now be properly used\, the \-\-timeout cli option was obscuring them by always being set\.
* copy \- print correct destination filename when using <em class="title-reference">content</em> and <em class="title-reference">\-\-diff</em> \([https\://github\.com/ansible/ansible/issues/79749](https\://github\.com/ansible/ansible/issues/79749)\)\.
* copy unit tests \- Fixing \"dir all perms\" documentation and formatting for easier reading\.
* core will now also look at the connection plugin to force \'local\' interpreter for networking path compatibility as just ansible\_network\_os could be misleading\.
* deb822\_repository \- use http\-agent for receiving content \([https\://github\.com/ansible/ansible/issues/80809](https\://github\.com/ansible/ansible/issues/80809)\)\.
* debconf \- idempotency in questions with type \'password\' \([https\://github\.com/ansible/ansible/issues/47676](https\://github\.com/ansible/ansible/issues/47676)\)\.
* distribution facts \- fix Source Mage family mapping
* dnf \- fix a failure when a package from URI was specified and <code>update\_only</code> was set \([https\://github\.com/ansible/ansible/issues/81376](https\://github\.com/ansible/ansible/issues/81376)\)\.
* dnf5 \- Update dnf5 module to handle API change for setting the download directory \([https\://github\.com/ansible/ansible/issues/80887](https\://github\.com/ansible/ansible/issues/80887)\)
* dnf5 \- Use <code>transaction\.check\_gpg\_signatures</code> API call to check package signatures AND possibly to recover from when keys are missing\.
* dnf5 \- fix module and package names in the message following failed module respawn attempt
* dnf5 \- use the logs API to determine transaction problems
* dpkg\_selections \- check if the package exists before performing the selection operation \([https\://github\.com/ansible/ansible/issues/81404](https\://github\.com/ansible/ansible/issues/81404)\)\.
* encrypt \- deprecate passlib\_or\_crypt API \([https\://github\.com/ansible/ansible/issues/55839](https\://github\.com/ansible/ansible/issues/55839)\)\.
* fetch \- Handle unreachable errors properly \([https\://github\.com/ansible/ansible/issues/27816](https\://github\.com/ansible/ansible/issues/27816)\)
* file modules \- Make symbolic modes with X use the computed permission\, not original file \([https\://github\.com/ansible/ansible/issues/80128](https\://github\.com/ansible/ansible/issues/80128)\)
* file modules \- fix validating invalid symbolic modes\.
* first found lookup has been updated to use the normalized argument parsing \(pythonic\) matching the documented examples\.
* first found lookup\, fixed an issue with subsequent items clobbering information from previous ones\.
* first\_found lookup now gets \'untemplated\' loop entries and handles templating itself as task\_executor was removing even \'templatable\' entries and breaking functionality\. [https\://github\.com/ansible/ansible/issues/70772](https\://github\.com/ansible/ansible/issues/70772)
* galaxy \- check if the target for symlink exists \([https\://github\.com/ansible/ansible/pull/81586](https\://github\.com/ansible/ansible/pull/81586)\)\.
* galaxy \- cross check the collection type and collection source \([https\://github\.com/ansible/ansible/issues/79463](https\://github\.com/ansible/ansible/issues/79463)\)\.
* gather\_facts parallel option was doing the reverse of what was stated\, now it does run modules in parallel when True and serially when False\.
* handlers \- fix <code>v2\_playbook\_on\_notify</code> callback not being called when notifying handlers
* handlers \- the <code>listen</code> keyword can affect only one handler with the same name\, the last one defined as it is a case with the <code>notify</code> keyword \([https\://github\.com/ansible/ansible/issues/81013](https\://github\.com/ansible/ansible/issues/81013)\)
* include\_role \- expose variables from parent roles to role\'s handlers \([https\://github\.com/ansible/ansible/issues/80459](https\://github\.com/ansible/ansible/issues/80459)\)
* inventory\_ini \- handle SyntaxWarning while parsing ini file in inventory \([https\://github\.com/ansible/ansible/issues/81457](https\://github\.com/ansible/ansible/issues/81457)\)\.
* iptables \- remove default rule creation when creating iptables chain to be more similar to the command line utility \([https\://github\.com/ansible/ansible/issues/80256](https\://github\.com/ansible/ansible/issues/80256)\)\.
* lib/ansible/utils/encrypt\.py \- remove unused private <code>\_LOCK</code> \([https\://github\.com/ansible/ansible/issues/81613](https\://github\.com/ansible/ansible/issues/81613)\)
* lookup/url\.py \- Fix incorrect var/env/ini entry for <em class="title-reference">force\_basic\_auth</em>
* man page build \- Remove the dependency on the <code>docs</code> directory for building man pages\.
* man page build \- Sub commands of <code>ansible\-galaxy role</code> and <code>ansible\-galaxy collection</code> are now documented\.
* module responses \- Ensure that module responses are utf\-8 adhereing to JSON RFC and expectations of the core code\.
* module/role argument spec \- validate the type for options that are None when the option is required or has a non\-None default \([https\://github\.com/ansible/ansible/issues/79656](https\://github\.com/ansible/ansible/issues/79656)\)\.
* modules/user\.py \- Add check for valid directory when creating new user homedir \(allows /dev/null as skeleton\) \([https\://github\.com/ansible/ansible/issues/75063](https\://github\.com/ansible/ansible/issues/75063)\)
* paramiko\_ssh\, psrp\, and ssh connection plugins \- ensure that all values for options that should be strings are actually converted to strings \([https\://github\.com/ansible/ansible/pull/81029](https\://github\.com/ansible/ansible/pull/81029)\)\.
* password\_hash \- fix salt format for <code>crypt</code> \(only used if <code>passlib</code> is not installed\) for the <code>bcrypt</code> algorithm\.
* pep517 build backend \- Copy symlinks when copying the source tree\. This avoids tracebacks in various scenarios\, such as when a venv is present in the source tree\.
* pep517 build backend \- Use the documented <code>import\_module</code> import from <code>importlib</code>\.
* pip module \- Update module to prefer use of the python <code>packaging</code> and <code>importlib\.metadata</code> modules due to <code>pkg\_resources</code> being deprecated \([https\://github\.com/ansible/ansible/issues/80488](https\://github\.com/ansible/ansible/issues/80488)\)
* pkg\_mgr\.py \- Fix <em class="title-reference">ansible\_pkg\_mgr</em> incorrect in TencentOS Server Linux
* pkg\_mgr\.py \- Fix <em class="title-reference">ansible\_pkg\_mgr</em> is unknown in Kylin Linux \([https\://github\.com/ansible/ansible/issues/81332](https\://github\.com/ansible/ansible/issues/81332)\)
* powershell modules \- Only set an rc of 1 if the PowerShell pipeline signaled an error occurred AND there are error records present\. Previously it would do so only if the error signal was present without checking the error count\.
* replace \- handle exception when bad escape character is provided in replace \([https\://github\.com/ansible/ansible/issues/79364](https\://github\.com/ansible/ansible/issues/79364)\)\.
* role deduplication \- don\'t deduplicate before a role has had a task run for that particular host \([https\://github\.com/ansible/ansible/issues/81486](https\://github\.com/ansible/ansible/issues/81486)\)\.
* service module\, does not permanently configure flags flags on Openbsd when enabling/disabling a service\.
* service module\, enable/disable is not a exclusive action in checkmode anymore\.
* setup gather\_timeout \- Fix timeout in get\_mounts\_facts for linux\.
* setup module \(fact gathering\) will now try to be smarter about different versions of facter emitting error when \-\-puppet flag is used w/o puppet\.
* syntax check \- Limit <code>\-\-syntax\-check</code> to <code>ansible\-playbook</code> only\, as that is the only CLI affected by this argument \([https\://github\.com/ansible/ansible/issues/80506](https\://github\.com/ansible/ansible/issues/80506)\)
* tarfile \- handle data filter deprecation warning message for extract and extractall \([https\://github\.com/ansible/ansible/issues/80832](https\://github\.com/ansible/ansible/issues/80832)\)\.
* template \- Fix for formatting issues when a template path contains valid jinja/strftime pattern \(especially line break one\) and using the template path in ansible\_managed \([https\://github\.com/ansible/ansible/pull/79129](https\://github\.com/ansible/ansible/pull/79129)\)
* templating \- In the template action and lookup\, use local jinja2 environment overlay overrides instead of mutating the templars environment
* templating \- prevent setting arbitrary attributes on Jinja2 environments via Jinja2 overrides in templates
* templating escape and single var optimization now use correct delimiters when custom ones are provided either via task or template header\.
* unarchive \- fix unarchiving sources that are copied to the remote node using a relative temporory directory path \([https\://github\.com/ansible/ansible/issues/80710](https\://github\.com/ansible/ansible/issues/80710)\)\.
* uri \- fix search for JSON type to include complex strings containing \'\+\'
* uri/urls \- Add compat function to handle the ability to parse the filename from a Content\-Disposition header \([https\://github\.com/ansible/ansible/issues/81806](https\://github\.com/ansible/ansible/issues/81806)\)
* urls\.py \- fixed cert\_file and key\_file parameters when running on Python 3\.12 \- [https\://github\.com/ansible/ansible/issues/80490](https\://github\.com/ansible/ansible/issues/80490)
* user \- set expiration value correctly when unable to retrieve the current value from the system \([https\://github\.com/ansible/ansible/issues/71916](https\://github\.com/ansible/ansible/issues/71916)\)
* validate\-modules sanity test \- replace semantic markup parsing and validating code with the code from [antsibull\-docs\-parser 0\.2\.0](https\://github\.com/ansible\-community/antsibull\-docs\-parser/releases/tag/0\.2\.0) \([https\://github\.com/ansible/ansible/pull/80406](https\://github\.com/ansible/ansible/pull/80406)\)\.
* vars\_prompt \- internally convert the <code>unsafe</code> value to <code>bool</code>
* vault and unvault filters now properly take <code>vault\_id</code> parameter\.
* win\_fetch \- Add support for using file with wildcards in file name\. \([https\://github\.com/ansible/ansible/issues/73128](https\://github\.com/ansible/ansible/issues/73128)\)
* winrm \- Better handle send input failures when communicating with hosts under load
<a id="amazon-aws-11"></a>
#### amazon\.aws
* autoscaling\_group \- fix ValidationError when describing an autoscaling group that has more than 20 target groups attached to it by breaking the request into chunks \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1593](https\://github\.com/ansible\-collections/amazon\.aws/pull/1593)\)\.
* autoscaling\_group\_info \- fix ValidationError when describing an autoscaling group that has more than 20 target groups attached to it by breaking the request into chunks \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1593](https\://github\.com/ansible\-collections/amazon\.aws/pull/1593)\)\.
* aws\_ec2 inventory plugin \- fix <code>NoRegionError</code> when no regions are provided and region isn\'t specified \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1551](https\://github\.com/ansible\-collections/amazon\.aws/issues/1551)\)\.
* backup\_plan \- Use existing <code>scrub\_none\_values</code> function from module\_utils to remove None values from nested dicts in supplied params\. Nested None values were being retained and causing an error when sent through to the boto3 client operation \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1611](https\://github\.com/ansible\-collections/amazon\.aws/pull/1611)\)\.
* backup\_selection \- ensures that updating an existing selection will add new <code>Conditions</code> if there previously were not any \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1701](https\://github\.com/ansible\-collections/amazon\.aws/pull/1701)\)\.
* backup\_vault \- fix error when updating tags on a backup vault by using the correct boto3 client methods for tagging and untagging backup resources \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1610](https\://github\.com/ansible\-collections/amazon\.aws/pull/1610)\)\.
* cloudwatchevent\_rule \- Fixes changed status to report False when no change has been made\. The module had incorrectly always reported a change\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1589](https\://github\.com/ansible\-collections/amazon\.aws/pull/1589)\)
* ec2\_instance \- fix check\_mode issue when adding network interfaces \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1403](https\://github\.com/ansible\-collections/amazon\.aws/issues/1403)\)\.
* ec2\_instance \- retry API call if we get <code>InvalidInstanceID\.NotFound</code> error \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1650](https\://github\.com/ansible\-collections/amazon\.aws/pull/1650)\)\.
* ec2\_metadata\_facts \- Handle decompression when EC2 instance user\-data is gzip compressed\. The fetch\_url method from ansible\.module\_utils\.urls does not decompress the user\-data unless the header explicitly contains <code>Content\-Encoding\: gzip</code> \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1575](https\://github\.com/ansible\-collections/amazon\.aws/pull/1575)\)\.
* ec2\_vpc\_nat\_gateway \- adding a boolean parameter called <code>default\_create</code> to allow users to have the option to choose whether they want to display an error message or create a NAT gateway when an EIP address is not found\. The module \(ec2\_vpc\_nat\_gateway\) had incorrectly failed silently if EIP didn\'t exist \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1295](https\://github\.com/ansible\-collections/amazon\.aws/issues/1295)\)\.
* ec2\_vpc\_nat\_gateway \- fixes to nat gateway so that when the user creates a private NAT gateway\, an Elastic IP address should not be allocated\. The module had inncorrectly always allocate elastic IP address when creating private nat gateway \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1632](https\://github\.com/ansible\-collections/amazon\.aws/pull/1632)\)\.
* ec2\_vpc\_route\_table\_info \- default filters to empty dictionary \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1668](https\://github\.com/ansible\-collections/amazon\.aws/issues/1668)\)\.
* elb\_application\_lb \- fix missing attributes on creation of ALB\. The <code>create\_or\_update\_alb\(\)</code> was including ALB\-specific attributes when updating an existing ALB but not when creating a new ALB \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1510](https\://github\.com/ansible\-collections/amazon\.aws/issues/1510)\)\.
* elb\_application\_lb\_info \- ensure all API queries use the retry decorator \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1767](https\://github\.com/ansible\-collections/amazon\.aws/issues/1767)\)\.
* lambda\_execute \- Fixes to the stack trace output\, where it does not contain spaces between each character\. The module had incorrectly always outputted extra spaces between each character\. \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1615](https\://github\.com/ansible\-collections/amazon\.aws/pull/1615)\)
* module\_utils\.acm \- fixes list\_certificates returning only RSA\_2048 certificates \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1567](https\://github\.com/ansible\-collections/amazon\.aws/issues/1567)\)\.
* module\_utils\.backup \- get\_selection\_details fix empty list returned when multiple backup selections exist \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1633](https\://github\.com/ansible\-collections/amazon\.aws/pull/1633)\)\.
* rds\_cluster \- Add <code>AllocatedStorage</code>\, <code>DBClusterInstanceClass</code>\, <code>StorageType</code>\, <code>Iops</code>\, and <code>EngineMode</code> to the list of parameters that can be passed when creating or modifying a Multi\-AZ RDS cluster \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1657](https\://github\.com/ansible\-collections/amazon\.aws/pull/1657)\)\.
* rds\_cluster \- Allow to pass GlobalClusterIdentifier to rds cluster on creation \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1663](https\://github\.com/ansible\-collections/amazon\.aws/pull/1663)\)\.
* rds\_instance \- add support for CACertificateIdentifier to create/update rds instance \([https\://github\.com/ansible\-collections/amazon\.aws/pull/1459](https\://github\.com/ansible\-collections/amazon\.aws/pull/1459)\)\.
* s3\_bucket \- fixes issue when deleting a bucket with unversioned objects \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1533](https\://github\.com/ansible\-collections/amazon\.aws/issues/1533)\)\.
* s3\_object \- fixed <code>NoSuchTagSet</code> error when S3 endpoint doesn\'t support tags \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1607](https\://github\.com/ansible\-collections/amazon\.aws/issues/1607)\)\.
* s3\_object \- fixes regression related to objects with a leading <code>/</code> \([https\://github\.com/ansible\-collections/amazon\.aws/issues/1548](https\://github\.com/ansible\-collections/amazon\.aws/issues/1548)\)\.
<a id="ansible-netcommon-2"></a>
#### ansible\.netcommon
* Ensure that all connection plugin options that should be strings are actually strings \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/549](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/549)\)\.
* Fix attribute types from string to str in filter plugins\.
* Vendor telnetlib from cpython \([https\://github\.com/ansible\-collections/ansible\.netcommon/pull/546](https\://github\.com/ansible\-collections/ansible\.netcommon/pull/546)\)
<a id="ansible-utils-2"></a>
#### ansible\.utils
* Validate input for ipv4\_hex\([https\://github\.com/ansible\-collections/ansible\.utils/issues/281](https\://github\.com/ansible\-collections/ansible\.utils/issues/281)\)
<a id="ansible-windows-7"></a>
#### ansible\.windows
* Remove some code which is no longer valid for dotnet 5\+
* win\_async \- Set maximum data size allowed when deserializing async output \- [https\://github\.com/ansible\-collections/ansible\.windows/pull/520](https\://github\.com/ansible\-collections/ansible\.windows/pull/520)
* win\_group\_membership \- Return accurate results when using check\_mode \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/532](https\://github\.com/ansible\-collections/ansible\.windows/issues/532)
* win\_updates \- Add retry mechanism when polling output in case file is locked by another process like an Anti Virus \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/490](https\://github\.com/ansible\-collections/ansible\.windows/issues/490)
* win\_updates \- Add special handling for KB2267602 in case it fails \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/530](https\://github\.com/ansible\-collections/ansible\.windows/issues/530)
* win\_updates \- Fix up endless retries when an update failed to install more than once \- [https\://github\.com/ansible\-collections/ansible\.windows/issues/343](https\://github\.com/ansible\-collections/ansible\.windows/issues/343)
<a id="arista-eos-2"></a>
#### arista\.eos
* Fix command generated for local\-interface with in ntp server attribute\.
* Fix command generation for source\_interface attribute\.
* Fix secondary ip address parsing\.
* Skip compile testing for python \<3\.6\.
* fix line attribute fact generation and placement in ACE\, when ACE is not fully parsed\.
* fix sanity issues w\.r\.t python27
<a id="check-point-mgmt-4"></a>
#### check\_point\.mgmt
* cp\_mgmt\_access\_rules \- split vpn param that can accept either a String or list of objects to two
* module\_utils/checkpoint\.py \- fixed compile issue \(Syntax Error\) on python 2\.7
<a id="chocolatey-chocolatey-2"></a>
#### chocolatey\.chocolatey
* win\-chocolatey \- unable to install packages if a license is already installed and chocolatey\.extension is not installed
<a id="cisco-aci-1"></a>
#### cisco\.aci
* Change input of prefix\_suppression to type string to allow enable\, disable and inherit options for aci\_interface\_policy\_ospf
* Fixed issue with default values for ssl\, proxy\, timeout in aci\.py and the display of host in the url when the plugin httpapi is used
* Modified aci\_rest and aci\_config\_snapshot modules to display the correct URL output string \(\#487\)
<a id="cisco-ios-7"></a>
#### cisco\.ios
* Fix invalid password length not being recognized by the error parser\.
* The regex looking for errors in the terminal output was matching anything with \'S\+ Error\:\'\. Caused issues with \'show runnning\-config\' if this string appeared in the output\. Updated the regex to require the \% anchor\.
* bgp\_address\_family \- fix deleted string with int concat issue in bgp\_address\_family\.
* ios\_acls \- Fix protocol\_options rendering corrects processing of overridden/ replaced state\.
* ios\_acls \- Fix standard acls rendering\.
* ios\_bgp\_address\_family \- fix rendering of remote\_as configuration with period\.
* ios\_facts \- Fix facts gathering when memory statistics head is not hexadecimal\. \([https\://github\.com/ansible\-collections/cisco\.ios/issues/776](https\://github\.com/ansible\-collections/cisco\.ios/issues/776)\)
* ios\_facts \- fix calculation of memory from bytes to megabytes\; grab correct output element for free memory \([https\://github\.com/ansible\-collections/cisco\.ios/issues/763](https\://github\.com/ansible\-collections/cisco\.ios/issues/763)\)
* ios\_l3\_interfaces \- account for secondary/primary when comparing ipv4 addresses\. \([https\://github\.com/ansible\-collections/cisco\.ios/issues/826](https\://github\.com/ansible\-collections/cisco\.ios/issues/826)\)
* ios\_lag\_interfaces \- Fix empty facts to be a list\.
* ios\_logging\_global \- fix configuration order to configure discriminator before buffer\.
* ios\_ospf\_interface \- Fix configuration rendering for ipv4 and ipv6 configurations\.
* ios\_ospf\_interface \- Fix replaced and overridden state\, action to negate superfluous configuration\.
* ios\_prefix\_lists \- fix deleted state to remove exisiting prefix lists from configuration\.
* ios\_service \- Put condition to add <em class="title-reference">private\_config\_encryption</em> in default services
* ios\_snmp\_server \- Add default versions to version 3 users\.
* ios\_snmp\_server \- Fixes error handling for snmp user when snmp agent is not enabled
* ios\_static\_routes \- Fix non vlan entries to have unique group identifier\.
* ios\_static\_routes \- Fix parsers to parse interface attribute correctly\.
* ospfv2 \- Fixed rendering of capability command with vrf\_lite\.
* ospfv3 \- Fixed rendering of capability command with vrf\_lite\.
* snmp\_server \- update module to get snmp\_server user configuration\.
<a id="cisco-iosxr-3"></a>
#### cisco\.iosxr
* Add support to delete specific static route entry\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/375](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/375)\)
* Fix issue in deletion of ospf\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/425](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/425)\)
* Fix issue in facts gathering for Interfaces RM\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/417](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/417)\)
* Fix issue in lacp and lldp\_global of local variable commands\.
* Fixing Bundle\-Ether/\-POS recognition for resource modules\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/369](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/369)\)
* Support overridden state in bgp\_global\,lacp and lldp\_global module\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/386](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/386)\)
* acls \- Fix issue in <code>replaced</code> state of not replacing ace entries with remark action\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/332](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/332)\)
* l2\_interfaces Fix issue in qvlan parsing\.\([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/403](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/403)\)
* l3\_interfaces \- Fix issue in <code>gather</code> state of not gathering management interface\. \([https\://github\.com/ansible\-collections/cisco\.iosxr/issues/381](https\://github\.com/ansible\-collections/cisco\.iosxr/issues/381)\)
<a id="cisco-ise-4"></a>
#### cisco\.ise
* Cannot get cisco\.ise\.active\_directory\_groups\_by\_domain\_info to work\.
* Cannot get cisco\.ise\.rest\_id\_store to work fixed\.
* System Certificate Update does not work but always reports Object already present temporary solution\.
* cisco\.ise\.mnt\_session\_active\_count\_info ise\_reponse is null fixed\.
* node\_deployment tasks fail because of timeout\, adding new collection param\.
* system\_certificate \- added support for none value in the used\_by param\.
* system\_certificate \- fixed get\_object\_by\_id response\.
<a id="cisco-meraki-4"></a>
#### cisco\.meraki
* Adding condition to avoid error on exists on devices\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_appliance\_traffic\_shaping\_custom\_performance\_classes</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_appliance\_warm\_spare\_swap</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_bind</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_clients\_provision</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_devices\_remove</em> and <em class="title-reference">networks\_devices\_claim\_vmx</em>
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_firmware\_upgrades\_rollbacks</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_firmware\_upgrades\_staged\_events\_rollbacks</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_mqtt\_brokers</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_pii\_requests\_delete</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_checkin</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_fields</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_lock</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_modify\_tags</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_move</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_refresh\_details</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_unenroll</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_devices\_wipe</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_sm\_user\_access\_devices\_delete</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_split</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_switch\_stacks\_add</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_switch\_stacks\_remove</em>\.
* Bad naming <em class="title-reference">networkId</em> parameter in <em class="title-reference">networks\_unbind</em>\.
* Devices module documentation fixed\.
* Meraki Compare Equality 2 added\.
* New condition added to Meraki Compare Equality\.
* Removing ignores\.
* Resolved the issue with link negotation at meraki\_ms\_switchport
* Returning requires\_ansible to 2\.9\.10
* Returning requires\_ansible to \>\=2\.14\.0
* Sanity fixes\.
* Updating collection docs link\.
* Updating documentation\, yml fixes \- Documentation Broken\.
* cisco\.meraki\.networks\_devices\_claim \- got an unexpected keyword argument \'network\_id\'\, bug with parameter naming\.
* cisco\.meraki\.organizations\_login\_security module will not update org api authentication \- fixing for look at organizations\_login\_security\.
* meraki\_devices \- Fix endpoints due to breaking change in Meraki API v1\.33
* runtime updated requires\_ansible from 2\.9\.10 to \'\>\=2\.14\.0\'\.
<a id="cisco-mso-1"></a>
#### cisco\.mso
* Fix mso\_tenant\_site \"site not found\" issue on absent \(\#368\)
<a id="cisco-nxos-4"></a>
#### cisco\.nxos
* acls \- Fix parsing error when ACE has a source port range \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/713](https\://github\.com/ansible\-collections/cisco\.nxos/issues/713)\)\.
* interfaces \- Re\-apply existing non\-default MTU when changing mode to L2 \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/730](https\://github\.com/ansible\-collections/cisco\.nxos/issues/730)\)\.
* l3\_interfaces \- Append tag when updating IP address with state replaced \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/678](https\://github\.com/ansible\-collections/cisco\.nxos/issues/678)\)\.
* lag\_interfaces \- Allow force option to be idempotent \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/742](https\://github\.com/ansible\-collections/cisco\.nxos/issues/742)\)\.
* ntp\_global \- Fix incorrect handling of prefer option \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/670](https\://github\.com/ansible\-collections/cisco\.nxos/issues/670)\)\.
* nxos\_acls \- fix parsing of ACE with named source/dest port range \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/763](https\://github\.com/ansible\-collections/cisco\.nxos/issues/763)\)\.
* nxos\_banner \- Add support for a custom multiline delimiter
* nxos\_facts \- Fix missing SVI facts \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/440](https\://github\.com/ansible\-collections/cisco\.nxos/issues/440)\)\.
* nxos\_static\_routes \- Prevent action states to generate terminal configuration command\.
* nxos\_static\_routes \- Update the delete operation of static routes to be similar to other platforms\. \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/666](https\://github\.com/ansible\-collections/cisco\.nxos/issues/666)\)
* snmp\_server \- fix host delete when authentication options are present \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/439](https\://github\.com/ansible\-collections/cisco\.nxos/issues/439)\)\.
* terminal \- attempt privilege escalation only when prompt does not end with \#
* vtp\_version \- allow VTP version 3 to be configured \([https\://github\.com/ansible\-collections/cisco\.nxos/issues/704](https\://github\.com/ansible\-collections/cisco\.nxos/issues/704)\)\.
<a id="cloud-common"></a>
#### cloud\.common
* Ensure result is always defined in lookup plugins \([https\://github\.com/ansible\-collections/cloud\.common/pull/116/files](https\://github\.com/ansible\-collections/cloud\.common/pull/116/files)\)\.
* Fix lookup modules failing on Ansible 2\.15 \([https\://github\.com/ansible\-collections/cloud\.common/pull/130](https\://github\.com/ansible\-collections/cloud\.common/pull/130)\)\.
<a id="cloudscale-ch-cloud-1"></a>
#### cloudscale\_ch\.cloud
* Add missing modules to the \"cloudscale\_ch\.cloud\.cloudscale\" action group\.
* Remove outdated Ansible version requirement from the README\.
<a id="community-aws-4"></a>
#### community\.aws
* Remove <code>apigateway</code> and <code>apigateway\_deployment</code> from meta/runtime\.yml \([https\://github\.com/ansible\-collections/community\.aws/pull/1905](https\://github\.com/ansible\-collections/community\.aws/pull/1905)\)\.
* batch\_compute\_environment \- fixed incorrect handling of Gov Cloud ARNs in <code>compute\_environment\_name</code> parameter \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\.
* cloudfront\_distribution \- The origins recognises the s3 domains with region part now \([https\://github\.com/ansible\-collections/community\.aws/issues/1819](https\://github\.com/ansible\-collections/community\.aws/issues/1819)\)\.
* cloudfront\_distribution \- no longer crashes when waiting for completion of creation \([https\://github\.com/ansible\-collections/community\.aws/issues/255](https\://github\.com/ansible\-collections/community\.aws/issues/255)\)\.
* cloudfront\_distribution \- now honours the <code>enabled</code> setting \([https\://github\.com/ansible\-collections/community\.aws/issues/1823](https\://github\.com/ansible\-collections/community\.aws/issues/1823)\)\.
* dynamodb\_table \- secondary indexes are now created \([https\://github\.com/ansible\-collections/community\.aws/issues/1825](https\://github\.com/ansible\-collections/community\.aws/issues/1825)\)\.
* ec2\_launch\_template \- fixed incorrect handling of Gov Cloud ARNs in <code>compute\_environment\_name</code> parameter \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\.
* elasticache\_info \- remove hard coded use of <code>aws</code> partition \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\.
* iam\_role \- fixed incorrect rejection of Gov Cloud ARNs in <code>boundary</code> parameter \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\.
* mq\_broker \- ensure broker is created with <code>tags</code> when passed \([https\://github\.com/ansible\-collections/community\.aws/issues/1832](https\://github\.com/ansible\-collections/community\.aws/issues/1832)\)\.
* msk\_cluster \- remove hard coded use of <code>aws</code> partition \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\.
* opensearch \- Don\'t try to read a non existing key from the domain config \([https\://github\.com/ansible\-collections/community\.aws/pull/1910](https\://github\.com/ansible\-collections/community\.aws/pull/1910)\)\.
* redshift \- fixed hard coded use of <code>aws</code> partition \([https\://github\.com/ansible\-collections/community\.aws/issues/1846](https\://github\.com/ansible\-collections/community\.aws/issues/1846)\)\.
<a id="community-ciscosmb-3"></a>
#### community\.ciscosmb
* added Cisco device config guide to address issue
* added extra \"n\" to sending commands to address issue
<a id="community-crypto-8"></a>
#### community\.crypto
* Fix PEM detection/identification to also accept random other lines before the line starting with <code>\-\-\-\-\-BEGIN</code> \([https\://github\.com/ansible\-collections/community\.crypto/issues/627](https\://github\.com/ansible\-collections/community\.crypto/issues/627)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/628](https\://github\.com/ansible\-collections/community\.crypto/pull/628)\)\.
* acme\_\* modules \- correctly handle error documents without <code>type</code> \([https\://github\.com/ansible\-collections/community\.crypto/issues/651](https\://github\.com/ansible\-collections/community\.crypto/issues/651)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/652](https\://github\.com/ansible\-collections/community\.crypto/pull/652)\)\.
* openssh\_cert\, openssh\_keypair \- the modules ignored return codes of <code>ssh</code> and <code>ssh\-keygen</code> in some cases \([https\://github\.com/ansible\-collections/community\.crypto/issues/645](https\://github\.com/ansible\-collections/community\.crypto/issues/645)\, [https\://github\.com/ansible\-collections/community\.crypto/pull/646](https\://github\.com/ansible\-collections/community\.crypto/pull/646)\)\.
* openssh\_keypair \- fix comment updating for OpenSSH before 6\.5 \([https\://github\.com/ansible\-collections/community\.crypto/pull/646](https\://github\.com/ansible\-collections/community\.crypto/pull/646)\)\.
* openssl\_pkcs12 \- modify autodetect to not detect pyOpenSSL \>\= 23\.3\.0\, which removed PKCS\#12 support \([https\://github\.com/ansible\-collections/community\.crypto/pull/666](https\://github\.com/ansible\-collections/community\.crypto/pull/666)\)\.
<a id="community-digitalocean-4"></a>
#### community\.digitalocean
* digital\_ocean\_domain \- fix <code>all\_domains</code> by using <code>get\_paginated\_data</code> to retrieve all of the domains in the account from the paginated domains api endpoint \([https\://github\.com/ansible\-collections/community\.digitalocean/pull/307](https\://github\.com/ansible\-collections/community\.digitalocean/pull/307)\)\.
<a id="community-dns-8"></a>
#### community\.dns
* HTTP module utils \- make compatible with ansible\-core 2\.17 \([https\://github\.com/ansible\-collections/community\.dns/pull/165](https\://github\.com/ansible\-collections/community\.dns/pull/165)\)\.
* Update Public Suffix List\.
* wait\_for\_txt\, resolver module utils \- improve error handling \([https\://github\.com/ansible\-collections/community\.dns/pull/158](https\://github\.com/ansible\-collections/community\.dns/pull/158)\)\.
<a id="community-docker-9"></a>
#### community\.docker
* docker\_swarm \- make init and join operations work again with Docker SDK for Python before 4\.0\.0 \([https\://github\.com/ansible\-collections/community\.docker/issues/695](https\://github\.com/ansible\-collections/community\.docker/issues/695)\, [https\://github\.com/ansible\-collections/community\.docker/pull/696](https\://github\.com/ansible\-collections/community\.docker/pull/696)\)\.
* docker\_swarm\_info \- if <code>service\=true</code> is used\, do not crash when a service without an endpoint spec is encountered \([https\://github\.com/ansible\-collections/community\.docker/issues/636](https\://github\.com/ansible\-collections/community\.docker/issues/636)\, [https\://github\.com/ansible\-collections/community\.docker/pull/637](https\://github\.com/ansible\-collections/community\.docker/pull/637)\)\.
* docker\_volume \- fix crash caused by accessing an empty dictionary\. The <code>has\_different\_config\(\)</code> was raising an <code>AttributeError</code> because the <code>self\.existing\_volume\[\"Labels\"\]</code> dictionary was <code>None</code> \([https\://github\.com/ansible\-collections/community\.docker/pull/702](https\://github\.com/ansible\-collections/community\.docker/pull/702)\)\.
* vendored Docker SDK for Python code \- cherry\-pick changes from the Docker SDK for Python code to align code\. These changes should not affect the parts used by the collection\'s code \([https\://github\.com/ansible\-collections/community\.docker/pull/694](https\://github\.com/ansible\-collections/community\.docker/pull/694)\)\.
<a id="community-general-18"></a>
#### community\.general
* CmdRunner module utils \- does not attempt to resolve path if executable is a relative or absolute path \([https\://github\.com/ansible\-collections/community\.general/pull/7200](https\://github\.com/ansible\-collections/community\.general/pull/7200)\)\.
* MH DependencyMixin module utils \- deprecation notice was popping up for modules not using dependencies \([https\://github\.com/ansible\-collections/community\.general/pull/6644](https\://github\.com/ansible\-collections/community\.general/pull/6644)\, [https\://github\.com/ansible\-collections/community\.general/issues/6639](https\://github\.com/ansible\-collections/community\.general/issues/6639)\)\.
* bitwarden lookup plugin \- the plugin made assumptions about the structure of a Bitwarden JSON object which may have been broken by an update in the Bitwarden API\. Remove assumptions\, and allow queries for general fields such as <code>notes</code> \([https\://github\.com/ansible\-collections/community\.general/pull/7061](https\://github\.com/ansible\-collections/community\.general/pull/7061)\)\.
* cmd\_runner module utils \- when a parameter in <code>argument\_spec</code> has no type\, meaning it is implicitly a <code>str</code>\, <code>CmdRunner</code> would fail trying to find the <code>type</code> key in that dictionary \([https\://github\.com/ansible\-collections/community\.general/pull/6968](https\://github\.com/ansible\-collections/community\.general/pull/6968)\)\.
* cobbler inventory plugin \- fix calculation of cobbler\_ipv4/6\_address \([https\://github\.com/ansible\-collections/community\.general/pull/6925](https\://github\.com/ansible\-collections/community\.general/pull/6925)\)\.
* composer \- fix impossible to run <code>working\_dir</code> dependent commands\. The module was throwing an error when trying to run a <code>working\_dir</code> dependent command\, because it tried to get the command help without passing the <code>working\_dir</code> \([https\://github\.com/ansible\-collections/community\.general/issues/3787](https\://github\.com/ansible\-collections/community\.general/issues/3787)\)\.
* csv module utils \- detects and remove unicode BOM markers from incoming CSV content \([https\://github\.com/ansible\-collections/community\.general/pull/6662](https\://github\.com/ansible\-collections/community\.general/pull/6662)\)\.
* datadog\_downtime \- presence of <code>rrule</code> param lead to the Datadog API returning Bad Request due to a missing recurrence type \([https\://github\.com/ansible\-collections/community\.general/pull/6811](https\://github\.com/ansible\-collections/community\.general/pull/6811)\)\.
* ejabberd\_user \- module was failing to detect whether user was already created and/or password was changed \([https\://github\.com/ansible\-collections/community\.general/pull/7033](https\://github\.com/ansible\-collections/community\.general/pull/7033)\)\.
* ejabberd\_user \- provide meaningful error message when the <code>ejabberdctl</code> command is not found \([https\://github\.com/ansible\-collections/community\.general/pull/7028](https\://github\.com/ansible\-collections/community\.general/pull/7028)\, [https\://github\.com/ansible\-collections/community\.general/issues/6949](https\://github\.com/ansible\-collections/community\.general/issues/6949)\)\.
* github\_deploy\_key \- fix pagination behaviour causing a crash when only a single page of deploy keys exist \([https\://github\.com/ansible\-collections/community\.general/pull/7375](https\://github\.com/ansible\-collections/community\.general/pull/7375)\)\.
* gitlab\_group \- the module passed parameters to the API call even when not set\. The module is now filtering out <code>None</code> values to remediate this \([https\://github\.com/ansible\-collections/community\.general/pull/6712](https\://github\.com/ansible\-collections/community\.general/pull/6712)\)\.
* gitlab\_group\_members \- fix gitlab constants call in <code>gitlab\_group\_members</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
* gitlab\_group\_variable \- deleted all variables when used with <code>purge\=true</code> due to missing <code>raw</code> property in KNOWN attributes \([https\://github\.com/ansible\-collections/community\.general/issues/7250](https\://github\.com/ansible\-collections/community\.general/issues/7250)\)\.
* gitlab\_project\_members \- fix gitlab constants call in <code>gitlab\_project\_members</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
* gitlab\_project\_variable \- deleted all variables when used with <code>purge\=true</code> due to missing <code>raw</code> property in KNOWN attributes \([https\://github\.com/ansible\-collections/community\.general/issues/7250](https\://github\.com/ansible\-collections/community\.general/issues/7250)\)\.
* gitlab\_protected\_branches \- fix gitlab constants call in <code>gitlab\_protected\_branches</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
* gitlab\_user \- fix gitlab constants call in <code>gitlab\_user</code> module \([https\://github\.com/ansible\-collections/community\.general/issues/7467](https\://github\.com/ansible\-collections/community\.general/issues/7467)\)\.
* icinga2\_host \- fix a key error when updating an existing host \([https\://github\.com/ansible\-collections/community\.general/pull/6748](https\://github\.com/ansible\-collections/community\.general/pull/6748)\)\.
* ini\_file \- add the <code>follow</code> paramter to follow the symlinks instead of replacing them \([https\://github\.com/ansible\-collections/community\.general/pull/6546](https\://github\.com/ansible\-collections/community\.general/pull/6546)\)\.
* ini\_file \- fix a bug where the inactive options were not used when possible \([https\://github\.com/ansible\-collections/community\.general/pull/6575](https\://github\.com/ansible\-collections/community\.general/pull/6575)\)\.
* ipa\_dnszone \- fix \'idnsallowsyncptr\' key error for reverse zone \([https\://github\.com/ansible\-collections/community\.general/pull/6906](https\://github\.com/ansible\-collections/community\.general/pull/6906)\, [https\://github\.com/ansible\-collections/community\.general/issues/6905](https\://github\.com/ansible\-collections/community\.general/issues/6905)\)\.
* kernel\_blacklist \- simplified the mechanism to update the file\, fixing the error \([https\://github\.com/ansible\-collections/community\.general/pull/7382](https\://github\.com/ansible\-collections/community\.general/pull/7382)\, [https\://github\.com/ansible\-collections/community\.general/issues/7362](https\://github\.com/ansible\-collections/community\.general/issues/7362)\)\.
* keycloak module util \- fix missing <code>http\_agent</code>\, <code>timeout</code>\, and <code>validate\_certs</code> <code>open\_url\(\)</code> parameters \([https\://github\.com/ansible\-collections/community\.general/pull/7067](https\://github\.com/ansible\-collections/community\.general/pull/7067)\)\.
* keycloak module utils \- fix <code>is\_struct\_included</code> handling of lists of lists/dictionaries \([https\://github\.com/ansible\-collections/community\.general/pull/6688](https\://github\.com/ansible\-collections/community\.general/pull/6688)\)\.
* keycloak module utils \- the function <code>get\_user\_by\_username</code> now return the user representation or <code>None</code> as stated in the documentation \([https\://github\.com/ansible\-collections/community\.general/pull/6758](https\://github\.com/ansible\-collections/community\.general/pull/6758)\)\.
* keycloak\_authentication \- fix Keycloak authentication flow \(step or sub\-flow\) indexing during update\, if not specified by the user \([https\://github\.com/ansible\-collections/community\.general/pull/6734](https\://github\.com/ansible\-collections/community\.general/pull/6734)\)\.
* keycloak\_client inventory plugin \- fix missing client secret \([https\://github\.com/ansible\-collections/community\.general/pull/6931](https\://github\.com/ansible\-collections/community\.general/pull/6931)\)\.
* ldap\_search \- fix string normalization and the <code>base64\_attributes</code> option on Python 3 \([https\://github\.com/ansible\-collections/community\.general/issues/5704](https\://github\.com/ansible\-collections/community\.general/issues/5704)\, [https\://github\.com/ansible\-collections/community\.general/pull/7264](https\://github\.com/ansible\-collections/community\.general/pull/7264)\)\.
* locale\_gen \- now works for locales without the underscore character such as <code>C\.UTF\-8</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6774](https\://github\.com/ansible\-collections/community\.general/pull/6774)\, [https\://github\.com/ansible\-collections/community\.general/issues/5142](https\://github\.com/ansible\-collections/community\.general/issues/5142)\, [https\://github\.com/ansible\-collections/community\.general/issues/4305](https\://github\.com/ansible\-collections/community\.general/issues/4305)\)\.
* lvol \- add support for percentage of origin size specification when creating snapshot volumes \([https\://github\.com/ansible\-collections/community\.general/issues/1630](https\://github\.com/ansible\-collections/community\.general/issues/1630)\, [https\://github\.com/ansible\-collections/community\.general/pull/7053](https\://github\.com/ansible\-collections/community\.general/pull/7053)\)\.
* lxc connection plugin \- now handles <code>remote\_addr</code> defaulting to <code>inventory\_hostname</code> correctly \([https\://github\.com/ansible\-collections/community\.general/pull/7104](https\://github\.com/ansible\-collections/community\.general/pull/7104)\)\.
* lxc connection plugin \- properly evaluate options \([https\://github\.com/ansible\-collections/community\.general/pull/7369](https\://github\.com/ansible\-collections/community\.general/pull/7369)\)\.
* machinectl become plugin \- mark plugin as <code>require\_tty</code> to automatically disable pipelining\, with which this plugin is not compatible \([https\://github\.com/ansible\-collections/community\.general/issues/6932](https\://github\.com/ansible\-collections/community\.general/issues/6932)\, [https\://github\.com/ansible\-collections/community\.general/pull/6935](https\://github\.com/ansible\-collections/community\.general/pull/6935)\)\.
* mail \- skip headers containing equals characters due to missing <code>maxsplit</code> on header key/value parsing \([https\://github\.com/ansible\-collections/community\.general/pull/7303](https\://github\.com/ansible\-collections/community\.general/pull/7303)\)\.
* memset module utils \- make compatible with ansible\-core 2\.17 \([https\://github\.com/ansible\-collections/community\.general/pull/7379](https\://github\.com/ansible\-collections/community\.general/pull/7379)\)\.
* nmap inventory plugin \- fix <code>get\_option</code> calls \([https\://github\.com/ansible\-collections/community\.general/pull/7323](https\://github\.com/ansible\-collections/community\.general/pull/7323)\)\.
* nmap inventory plugin \- now uses <code>get\_option</code> in all cases to get its configuration information \([https\://github\.com/ansible\-collections/community\.general/pull/7119](https\://github\.com/ansible\-collections/community\.general/pull/7119)\)\.
* nmcli \- fix bond option <code>xmit\_hash\_policy</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6527](https\://github\.com/ansible\-collections/community\.general/pull/6527)\)\.
* nmcli \- fix support for empty list \(in compare and scrape\) \([https\://github\.com/ansible\-collections/community\.general/pull/6769](https\://github\.com/ansible\-collections/community\.general/pull/6769)\)\.
* nsupdate \- fix a possible <code>list index out of range</code> exception \([https\://github\.com/ansible\-collections/community\.general/issues/836](https\://github\.com/ansible\-collections/community\.general/issues/836)\)\.
* ocapi\_utils\, oci\_utils\, redfish\_utils module utils \- replace <code>type\(\)</code> calls with <code>isinstance\(\)</code> calls \([https\://github\.com/ansible\-collections/community\.general/pull/7501](https\://github\.com/ansible\-collections/community\.general/pull/7501)\)\.
* oci\_utils module util \- fix inappropriate logical comparison expressions and makes them simpler\. The previous checks had logical short circuits \([https\://github\.com/ansible\-collections/community\.general/pull/7125](https\://github\.com/ansible\-collections/community\.general/pull/7125)\)\.
* oci\_utils module utils \- avoid direct type comparisons \([https\://github\.com/ansible\-collections/community\.general/pull/7085](https\://github\.com/ansible\-collections/community\.general/pull/7085)\)\.
* onepassword \- fix KeyError exception when trying to access value of a field that is not filled out in OnePassword item \([https\://github\.com/ansible\-collections/community\.general/pull/7241](https\://github\.com/ansible\-collections/community\.general/pull/7241)\)\.
* openbsd\_pkg \- the pkg\_info\(1\) behavior has changed in OpenBSD \>7\.3\. The error message <code>Can\'t find</code> should not lead to an error case \([https\://github\.com/ansible\-collections/community\.general/pull/6785](https\://github\.com/ansible\-collections/community\.general/pull/6785)\)\.
* pacman \- module recognizes the output of <code>yay</code> running as <code>root</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6713](https\://github\.com/ansible\-collections/community\.general/pull/6713)\)\.
* pipx module utils \- change the CLI argument formatter for the <code>pip\_args</code> parameter \([https\://github\.com/ansible\-collections/community\.general/issues/7497](https\://github\.com/ansible\-collections/community\.general/issues/7497)\, [https\://github\.com/ansible\-collections/community\.general/pull/7506](https\://github\.com/ansible\-collections/community\.general/pull/7506)\)\.
* portage \- fix <code>changed\_use</code> and <code>newuse</code> not triggering rebuilds \([https\://github\.com/ansible\-collections/community\.general/issues/6008](https\://github\.com/ansible\-collections/community\.general/issues/6008)\, [https\://github\.com/ansible\-collections/community\.general/pull/6548](https\://github\.com/ansible\-collections/community\.general/pull/6548)\)\.
* pritunl module utils \- fix incorrect URL parameter for orgnization add method \([https\://github\.com/ansible\-collections/community\.general/pull/7161](https\://github\.com/ansible\-collections/community\.general/pull/7161)\)\.
* proxmox \- fix error when a configuration had no <code>template</code> field \([https\://github\.com/ansible\-collections/community\.general/pull/6838](https\://github\.com/ansible\-collections/community\.general/pull/6838)\, [https\://github\.com/ansible\-collections/community\.general/issues/5372](https\://github\.com/ansible\-collections/community\.general/issues/5372)\)\.
* proxmox module utils \- add logic to detect whether an old Promoxer complains about the <code>token\_name</code> and <code>token\_value</code> parameters and provide a better error message when that happens \([https\://github\.com/ansible\-collections/community\.general/pull/6839](https\://github\.com/ansible\-collections/community\.general/pull/6839)\, [https\://github\.com/ansible\-collections/community\.general/issues/5371](https\://github\.com/ansible\-collections/community\.general/issues/5371)\)\.
* proxmox module utils \- fix proxmoxer library version check \([https\://github\.com/ansible\-collections/community\.general/issues/6974](https\://github\.com/ansible\-collections/community\.general/issues/6974)\, [https\://github\.com/ansible\-collections/community\.general/issues/6975](https\://github\.com/ansible\-collections/community\.general/issues/6975)\, [https\://github\.com/ansible\-collections/community\.general/pull/6980](https\://github\.com/ansible\-collections/community\.general/pull/6980)\)\.
* proxmox\_disk \- fix unable to create <code>cdrom</code> media due to <code>size</code> always being appended \([https\://github\.com/ansible\-collections/community\.general/pull/6770](https\://github\.com/ansible\-collections/community\.general/pull/6770)\)\.
* proxmox\_kvm \- <code>absent</code> state with <code>force</code> specified failed to stop the VM due to the <code>timeout</code> value not being passed to <code>stop\_vm</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6827](https\://github\.com/ansible\-collections/community\.general/pull/6827)\)\.
* proxmox\_kvm \- <code>restarted</code> state did not actually restart a VM in some VM configurations\. The state now uses the Proxmox reboot endpoint instead of calling the <code>stop\_vm</code> and <code>start\_vm</code> functions \([https\://github\.com/ansible\-collections/community\.general/pull/6773](https\://github\.com/ansible\-collections/community\.general/pull/6773)\)\.
* proxmox\_kvm \- allow creation of VM with existing name but new vmid \([https\://github\.com/ansible\-collections/community\.general/issues/6155](https\://github\.com/ansible\-collections/community\.general/issues/6155)\, [https\://github\.com/ansible\-collections/community\.general/pull/6709](https\://github\.com/ansible\-collections/community\.general/pull/6709)\)\.
* proxmox\_kvm \- when <code>name</code> option is provided without <code>vmid</code> and VM with that name already exists then no new VM will be created \([https\://github\.com/ansible\-collections/community\.general/issues/6911](https\://github\.com/ansible\-collections/community\.general/issues/6911)\, [https\://github\.com/ansible\-collections/community\.general/pull/6981](https\://github\.com/ansible\-collections/community\.general/pull/6981)\)\.
* proxmox\_pool\_member \- absent state for type VM did not delete VMs from the pools \([https\://github\.com/ansible\-collections/community\.general/pull/7464](https\://github\.com/ansible\-collections/community\.general/pull/7464)\)\.
* proxmox\_tasks\_info \- remove <code>api\_user</code> \+ <code>api\_password</code> constraint from <code>required\_together</code> as it causes to require <code>api\_password</code> even when API token param is used \([https\://github\.com/ansible\-collections/community\.general/issues/6201](https\://github\.com/ansible\-collections/community\.general/issues/6201)\)\.
* proxmox\_template \- require <code>requests\_toolbelt</code> module to fix issue with uploading large templates \([https\://github\.com/ansible\-collections/community\.general/issues/5579](https\://github\.com/ansible\-collections/community\.general/issues/5579)\, [https\://github\.com/ansible\-collections/community\.general/pull/6757](https\://github\.com/ansible\-collections/community\.general/pull/6757)\)\.
* proxmox\_user\_info \- avoid direct type comparisons \([https\://github\.com/ansible\-collections/community\.general/pull/7085](https\://github\.com/ansible\-collections/community\.general/pull/7085)\)\.
* redfish\_command \- fix usage of message parsing in <code>SimpleUpdate</code> and <code>MultipartHTTPPushUpdate</code> commands to treat the lack of a <code>MessageId</code> as no message \([https\://github\.com/ansible\-collections/community\.general/issues/7465](https\://github\.com/ansible\-collections/community\.general/issues/7465)\, [https\://github\.com/ansible\-collections/community\.general/pull/7471](https\://github\.com/ansible\-collections/community\.general/pull/7471)\)\.
* redfish\_info \- fix <code>ListUsers</code> to not show empty account slots \([https\://github\.com/ansible\-collections/community\.general/issues/6771](https\://github\.com/ansible\-collections/community\.general/issues/6771)\, [https\://github\.com/ansible\-collections/community\.general/pull/6772](https\://github\.com/ansible\-collections/community\.general/pull/6772)\)\.
* redhat\_subscription \- use the right D\-Bus options for the consumer type when
registering a RHEL system older than 9 or a RHEL 9 system older than 9\.2
and using <code>consumer\_type</code>
\([https\://github\.com/ansible\-collections/community\.general/pull/7378](https\://github\.com/ansible\-collections/community\.general/pull/7378)\)\.
* refish\_utils module utils \- changing variable names to avoid issues occuring when fetching Volumes data \([https\://github\.com/ansible\-collections/community\.general/pull/6883](https\://github\.com/ansible\-collections/community\.general/pull/6883)\)\.
* rhsm\_repository \- when using the <code>purge</code> option\, the <code>repositories</code>
dictionary element in the returned JSON is now properly updated according
to the pruning operation
\([https\://github\.com/ansible\-collections/community\.general/pull/6676](https\://github\.com/ansible\-collections/community\.general/pull/6676)\)\.
* rundeck \- fix <code>TypeError</code> on 404 API response \([https\://github\.com/ansible\-collections/community\.general/pull/6983](https\://github\.com/ansible\-collections/community\.general/pull/6983)\)\.
* selective callback plugin \- fix length of task name lines in output always being 3 characters longer than desired \([https\://github\.com/ansible\-collections/community\.general/pull/7374](https\://github\.com/ansible\-collections/community\.general/pull/7374)\)\.
* snap \- an exception was being raised when snap list was empty \([https\://github\.com/ansible\-collections/community\.general/pull/7124](https\://github\.com/ansible\-collections/community\.general/pull/7124)\, [https\://github\.com/ansible\-collections/community\.general/issues/7120](https\://github\.com/ansible\-collections/community\.general/issues/7120)\)\.
* snap \- assume default track <code>latest</code> in parameter <code>channel</code> when not specified \([https\://github\.com/ansible\-collections/community\.general/pull/6835](https\://github\.com/ansible\-collections/community\.general/pull/6835)\, [https\://github\.com/ansible\-collections/community\.general/issues/6821](https\://github\.com/ansible\-collections/community\.general/issues/6821)\)\.
* snap \- change the change detection mechanism from \"parsing installation\" to \"comparing end state with initial state\" \([https\://github\.com/ansible\-collections/community\.general/pull/7340](https\://github\.com/ansible\-collections/community\.general/pull/7340)\, [https\://github\.com/ansible\-collections/community\.general/issues/7265](https\://github\.com/ansible\-collections/community\.general/issues/7265)\)\.
* snap \- fix crash when multiple snaps are specified and one has <code>\-\-\-</code> in its description \([https\://github\.com/ansible\-collections/community\.general/pull/7046](https\://github\.com/ansible\-collections/community\.general/pull/7046)\)\.
* snap \- fix the processing of the commands\' output\, stripping spaces and newlines from it \([https\://github\.com/ansible\-collections/community\.general/pull/6826](https\://github\.com/ansible\-collections/community\.general/pull/6826)\, [https\://github\.com/ansible\-collections/community\.general/issues/6803](https\://github\.com/ansible\-collections/community\.general/issues/6803)\)\.
* sorcery \- fix interruption of the multi\-stage process \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\.
* sorcery \- fix queue generation before the whole system rebuild \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\.
* sorcery \- latest state no longer triggers update\_cache \([https\://github\.com/ansible\-collections/community\.general/pull/7012](https\://github\.com/ansible\-collections/community\.general/pull/7012)\)\.
* terraform \- prevents <code>\-backend\-config</code> option double encapsulating with <code>shlex\_quote</code> function\. \([https\://github\.com/ansible\-collections/community\.general/pull/7301](https\://github\.com/ansible\-collections/community\.general/pull/7301)\)\.
* tss lookup plugin \- fix multiple issues when using <code>fetch\_attachments\=true</code> \([https\://github\.com/ansible\-collections/community\.general/pull/6720](https\://github\.com/ansible\-collections/community\.general/pull/6720)\)\.
* zypper \- added handling of zypper exitcode 102\. Changed state is set correctly now and rc 102 is still preserved to be evaluated by the playbook \([https\://github\.com/ansible\-collections/community\.general/pull/6534](https\://github\.com/ansible\-collections/community\.general/pull/6534)\)\.
<a id="community-grafana-5"></a>
#### community\.grafana
* Fix error with datasources configured without basicAuth
* grafana\_folder\, fix an issue during delete \(starting Grafana 9\.3\)
<a id="community-hashi-vault-5"></a>
#### community\.hashi\_vault
* vault\_write \- the <code>vault\_write</code> lookup and module were not able to write data containing keys named <code>path</code> or <code>wrap\_ttl</code> due to a bug in the <code>hvac</code> library\. These plugins have now been updated to take advantage of fixes in <code>hvac\>\=1\.2</code> to address this \([https\://github\.com/ansible\-collections/community\.hashi\_vault/issues/389](https\://github\.com/ansible\-collections/community\.hashi\_vault/issues/389)\)\.
<a id="community-hrobot-3"></a>
#### community\.hrobot
* Show more information \(if available\) from error messages \([https\://github\.com/ansible\-collections/community\.hrobot/pull/89](https\://github\.com/ansible\-collections/community\.hrobot/pull/89)\)\.
<a id="community-libvirt-1"></a>
#### community\.libvirt
* libvirt\_qemu \- connection plugin threw a warning about an improperly configured remote target\. Fix adds <em class="title-reference">inventory\_hostname</em> to <em class="title-reference">options\.remote\_addr\.vars</em> \([https\://github\.com/ansible\-collections/community\.libvirt/pull/147](https\://github\.com/ansible\-collections/community\.libvirt/pull/147)\)\.
* libvirt\_qemu \- fix encoding errors on Windows guests for non\-ASCII return values \([https\://github\.com/ansible\-collections/community\.libvirt/pull/157](https\://github\.com/ansible\-collections/community\.libvirt/pull/157)\)
* virt \- fix virt module to undefine a domain with nvram\, managed\_save\, snapshot\_metadata or checkpoints\_metadata \([https\://github\.com/ansible\-collections/community\.libvirt/issues/40](https\://github\.com/ansible\-collections/community\.libvirt/issues/40)\)\.
* virt\_pool \- replace discouraged function <code>listAllVolumes</code> with <code>listAllVolumes</code> to fix potential race conditions \([https\://github\.com/ansible\-collections/community\.libvirt/pull/135](https\://github\.com/ansible\-collections/community\.libvirt/pull/135)\)\.
* virt\_pool \- replace discouraged functions <code>listStoragePools</code> and <code>listDefinedStoragePools</code> with <code>listAllStoragePools</code> to fix potential race conditions \([https\://github\.com/ansible\-collections/community\.libvirt/pull/134](https\://github\.com/ansible\-collections/community\.libvirt/pull/134)\)\.
<a id="community-mysql-5"></a>
#### community\.mysql
* mysql module utils \- use the connection arguments <code>db</code> instead of <code>database</code> and <code>passwd</code> instead of <code>password</code> when running with MySQLdb \< 2\.0\.0 \([https\://github\.com/ansible\-collections/community\.mysql/pull/553](https\://github\.com/ansible\-collections/community\.mysql/pull/553)\)\.
<a id="community-network"></a>
#### community\.network
* cnos\_l3\_interface \- fix import errors \([https\://github\.com/ansible\-collections/community\.network/pull/531](https\://github\.com/ansible\-collections/community\.network/pull/531)\)\.
* exos\_config \- missing whitespace in command with <code>defaults\: True</code>\. It happened because the command is <code>show configurationdetail</code> instead of <code>show configuration detail</code> \([https\://github\.com/ansible\-collections/community\.network/pull/516](https\://github\.com/ansible\-collections/community\.network/pull/516)\)\.
* exos\_facts \- returns timeout error when we use connection type <code>network\_cli</code>\. It happened because we send command without <code>no\-refresh</code> and script <code>cli2json\.py</code> stuck in loop while reading console output \([https\://github\.com/ansible\-collections/community\.network/pull/517](https\://github\.com/ansible\-collections/community\.network/pull/517)\)\.
* icx\_l3\_interface \- fix import errors \([https\://github\.com/ansible\-collections/community\.network/pull/531](https\://github\.com/ansible\-collections/community\.network/pull/531)\)\.
* slxos\_l3\_interface \- fix import errors \([https\://github\.com/ansible\-collections/community\.network/pull/531](https\://github\.com/ansible\-collections/community\.network/pull/531)\)\.
<a id="community-postgresql-7"></a>
#### community\.postgresql
* postgresql\_db \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\.
* postgresql\_ext \- fixed queries return value name in documentation \([https\://github\.com/ansible\-collections/community\.postgresql/pull/545](https\://github\.com/ansible\-collections/community\.postgresql/pull/545)\)\.
* postgresql\_info \- fix SQL syntax issue \([https\://github\.com/ansible\-collections/community\.postgresql/issues/570](https\://github\.com/ansible\-collections/community\.postgresql/issues/570)\)\.
* postgresql\_info \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\.
* postgresql\_ping \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\.
* postgresql\_privs \- fixed error message and documentation \([https\://github\.com/ansible\-collections/community\.postgresql/pull/510](https\://github\.com/ansible\-collections/community\.postgresql/pull/510)\)\.
* postgresql\_privs \- when the task is completed successfully\, close the database connection \([https\://github\.com/ansible\-collections/community\.postgresql/issues/465](https\://github\.com/ansible\-collections/community\.postgresql/issues/465)\)\.
* postgresql\_set \- fixed GUC\_LIST\_QUOTE parameters \([https\://github\.com/ansible\-collections/community\.postgresql/pull/521](https\://github\.com/ansible\-collections/community\.postgresql/pull/521)\)\.
* postgresql\_set \- fixed error message in param\_set function \([https\://github\.com/ansible\-collections/community\.postgresql/pull/505](https\://github\.com/ansible\-collections/community\.postgresql/pull/505)\)\.
<a id="community-routeros-6"></a>
#### community\.routeros
* api\_info\, api\_modify \- in the <code>snmp</code> path\, ensure that <code>engine\-id\-suffix</code> is only available on RouterOS 7\.10\+\, and that <code>engine\-id</code> is read\-only on RouterOS 7\.10\+ \([https\://github\.com/ansible\-collections/community\.routeros/issues/208](https\://github\.com/ansible\-collections/community\.routeros/issues/208)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/218](https\://github\.com/ansible\-collections/community\.routeros/pull/218)\)\.
* api\_modify\, api\_info \- add missing parameter <code>engine\-id\-suffix</code> for the <code>snmp</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/189](https\://github\.com/ansible\-collections/community\.routeros/issues/189)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/190](https\://github\.com/ansible\-collections/community\.routeros/pull/190)\)\.
* api\_modify\, api\_info \- add missing parameter <code>tls</code> for the <code>tool e\-mail</code> path \([https\://github\.com/ansible\-collections/community\.routeros/issues/179](https\://github\.com/ansible\-collections/community\.routeros/issues/179)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/180](https\://github\.com/ansible\-collections/community\.routeros/pull/180)\)\.
* facts \- do not crash in CLI output preprocessing in unexpected situations during line unwrapping \([https\://github\.com/ansible\-collections/community\.routeros/issues/170](https\://github\.com/ansible\-collections/community\.routeros/issues/170)\, [https\://github\.com/ansible\-collections/community\.routeros/pull/177](https\://github\.com/ansible\-collections/community\.routeros/pull/177)\)\.
<a id="community-sops"></a>
#### community\.sops
* Avoid pre\-releases when picking the latest version when using the GitHub API method \([https\://github\.com/ansible\-collections/community\.sops/pull/159](https\://github\.com/ansible\-collections/community\.sops/pull/159)\)\.
* Fix RPM URL for the 3\.8\.0 release \([https\://github\.com/ansible\-collections/community\.sops/pull/161](https\://github\.com/ansible\-collections/community\.sops/pull/161)\)\.
* Fix changed DEB and RPM URLs for 3\.8\.0 and its prerelease\(s\) \([https\://github\.com/ansible\-collections/community\.sops/pull/159](https\://github\.com/ansible\-collections/community\.sops/pull/159)\)\.
* install role \- fix <code>sops\_github\_latest\_detection\=latest\-release</code>\, which broke due to sops moving to another GitHub organization \([https\://github\.com/ansible\-collections/community\.sops/pull/151](https\://github\.com/ansible\-collections/community\.sops/pull/151)\)\.
* install role \- make sure that the <code>pkg\_mgr</code> fact is definitely available when installing on <code>localhost</code>\. This can improve error messages in some cases \([https\://github\.com/ansible\-collections/community\.sops/issues/145](https\://github\.com/ansible\-collections/community\.sops/issues/145)\, [https\://github\.com/ansible\-collections/community\.sops/pull/146](https\://github\.com/ansible\-collections/community\.sops/pull/146)\)\.
* sops\_encrypt \- ensure that output\-type is set to <code>yaml</code> when the file extension <code>\.yml</code> is used\. Now both <code>\.yaml</code> and <code>\.yml</code> files use the SOPS <code>\-\-output\-type\=yaml</code> formatting \([https\://github\.com/ansible\-collections/community\.sops/issues/164](https\://github\.com/ansible\-collections/community\.sops/issues/164)\)\.
<a id="community-vmware-8"></a>
#### community\.vmware
* Add missing modules to runtime\.yml \([https\://github\.com/ansible\-collections/community\.vmware/pull/1764](https\://github\.com/ansible\-collections/community\.vmware/pull/1764)\)\.
* fix problem when module try apply non global or non VM type custom attribute to VM object \([https\://github\.com/ansible\-collections/community\.vmware/issues/1772](https\://github\.com/ansible\-collections/community\.vmware/issues/1772)\)
* vmware\_deploy\_ovf \- Fix an issue with networks that are available on more than one cluster \([https\://github\.com/ansible\-collections/community\.vmware/issues/1590](https\://github\.com/ansible\-collections/community\.vmware/issues/1590)\)\.
* vmware\_deploy\_ovf \- fix error in finding networks part of code \([https\://github\.com/ansible\-collections/community\.vmware/issues/1853](https\://github\.com/ansible\-collections/community\.vmware/issues/1853)\)\.
* vmware\_deploy\_ovf\: fix error in finding networks part of code [https\://github\.com/ansible\-collections/community\.vmware/issues/1853](https\://github\.com/ansible\-collections/community\.vmware/issues/1853)
* vmware\_guest\_custom\_attributes \- fix problem when module try apply non global or non VM type custom attribute to VM object \([https\://github\.com/ansible\-collections/community\.vmware/issues/1772](https\://github\.com/ansible\-collections/community\.vmware/issues/1772)\)\.
* vmware\_guest\_disk \- Fix idempotency for <em class="title-reference">absent</em> disks \([https\://github\.com/ansible\-collections/community\.vmware/issues/1765](https\://github\.com/ansible\-collections/community\.vmware/issues/1765)\)\.
* vmware\_vm\_info \- Add missing show\_folder parameter \([https\://github\.com/ansible\-collections/community\.vmware/issues/1709](https\://github\.com/ansible\-collections/community\.vmware/issues/1709)\)\.
<a id="community-windows-7"></a>
#### community\.windows
* win\_psmodule \- fix requireLicenseAcceptance test so that it is no longer always true
<a id="community-zabbix-5"></a>
#### community\.zabbix
* Proxy and Agent Roles \- Added <em class="title-reference">zabbix\_api\_use\_ssl</em> variable to allow secure API connections
* Web Role \- Added defaults and documentation for <em class="title-reference">zabbix\_apache\_custom\_includes</em>
* agent \- Handled undefined variable error for Windows default versions
* agent role \- Added missing become statement to allow run to role as nonroot
* all roles \- Added option to selectively disable a repo on Redhat installs
* zabbix\_host module \- fix updating hosts that were discovered via LLD
* zabbix\_proxy role \- failed at version validation\. Fix adds cast of zabbix\_proxy\_version to float\, similarly to the other roles\.
* zabbix\_proxy role \- undefined vars at updating proxy definition\. Fix adds null defaults for zabbix\_proxy\_tlsaccept and zabbix\_proxy\_tlsconnect\.
* zabbix\_web role \- removed \'ssl on\;\' nginx configuration\, which is no longer supported since nginx version 1\.25\.1\.
<a id="containers-podman-4"></a>
#### containers\.podman
* Add hooks\-dir parameter for containers
* Add idempotency for restart\-policy for containers
* Add missing options to podman network
* Add more explanation about cmd\_args command usage
* Add stdout to podman build and push actions
* Added support for \"userns\" parameter to \"play\" module
* CI \- fix pip installation of the collection
* CI \- fix podman play job for 4\.4\.x versions
* Change yes/no to true/false in the modules
* Convert str to json format before evaluating length\.
* Fix CI for newest Ansible branch 2\.16
* Fix common file for Python 2\.7
* Fix idempotency for pods with uidmap and gidmap
* Fix idempotency lowercase for devices
* Fix network tests for Podman v4
* Fix podman logout tests for v4
* Fix pylint issues for CI ansible\-test
* Fix undesirable splitting of IPv6 host addresses
* Improved documentation of <em class="title-reference">podman\_generate\_systemd</em> module
* Prepare CI for Podman v3 backward compatibility
* Support SHA256 tag for podman images
* Update podman\_image to specify CPU arch when pulling image
* added podman\_prune module
* become plugin podman\_unshare become\_user default
* fix for buildah improper remote target
* for pod kube recreate
* pod \- Support passing multiple networks with params
* podman\-login \- fix FIPS md5 issue and registry requirement
* podman\-pod \- Fix idempotency for pods in 4\.4\.x versions
* podman\_container \- Add diff and change detection to systemd generation
* podman\_container \- Add example with quotes in command to docs
* podman\_container \- Fix healthcheck issue where defined in image
* podman\_container \- Fix idempoency issue with PID of container
* podman\_container \- Fix idempotency for RestartPolicy when MaximumRetryCount
* podman\_container \- Fix idempotency for devices
* podman\_container \- Fixed idempotency with cpus parameter
* podman\_container \- Improve docs about container env\_file on remote machine
* podman\_container \- added cpu\_quota parameter to podman\_container
* podman\_export\,podman\_import \- Adding volume import and export option
* podman\_generate\_systemd \- Add a force field to podman\_generate\_systemd
* podman\_image \- Add restart\-sec and other options to systemd generation
* podman\_image \- Fix pulling short image name
* podman\_network \- Do not force network removal by default
* podman\_network \- Fix network DNS enable idempotency issue
* podman\_pod \- Fix idempotency when running inside Podman container
* podman\_systemd \- Ignore header when comparing systemd files content
<a id="dellemc-enterprise-sonic-5"></a>
#### dellemc\.enterprise\_sonic
* Fix regression test bugs in multiple modules \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/180](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/180)\)\.
* Fix sanity check errors in the collection caused by Ansible library changes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/160](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/160)\)\.
* install \- Update the required ansible\.netcommon version \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/176](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/176)\)\.
* sonic\_bgp\_af \- Fix issue with vnis and advertise modification for a single BGP AF \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/201](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/201)\)\.
* sonic\_bgp\_as\_paths \- Fix issues with merged and deleted states \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/250](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/250)\)\.
* sonic\_interfaces \- Fix command timeout issue \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/261](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/261)\)\.
* sonic\_l3\_interfaces \- Fix IP address deletion issue \(GitHub issue\#170\) \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/231](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/231)\)\.
* sonic\_lag\_interfaces \- Fix port name issue \(GitHub issue\#153\) \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/119](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/119)\)\.
* sonic\_neighbors \- Fix handling of default attributes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/233](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/233)\)\.
* sonic\_ntp \- Fix the issue \(GitHub issue\#205\) with NTP clear all without config given \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/224](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/224)\)\.
* sonic\_vlan\_mapping \- Remove platform checks \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/262](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/262)\)\.
* sonic\_vrfs \- Add tasks as a workaround to mgmt VRF bug \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/146](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/146)\)\.
* sonic\_vrfs \- Fix spacing issue in CLI test case \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/257](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/257)\)\.
* sonic\_vrfs \- Fix the issue \(GitHub issue\#194\) with VRF when deleting interface\([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/230](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/230)\)\.
* sonic\_vxlans \- Remove required\_together restriction for evpn\_nvo and source\_ip attributes \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/130](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/130)\)\.
* workflows \- Fix dependency installation issue in the code coverage workflow \([https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/199](https\://github\.com/ansible\-collections/dellemc\.enterprise\_sonic/pull/199)\)\.
<a id="dellemc-openmanage-10"></a>
#### dellemc\.openmanage
* Job tracking is fixed for iDRAC SCP import \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/pull/504](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/pull/504)\)\.
* OMSDK is handled for import error <code>SNIMissingWarning</code> that is undefined \([https\://github\.com/dell/omsdk/issues/33](https\://github\.com/dell/omsdk/issues/33)\)\.
* The Chassis Power PIN value must be of six numerical digits input from the module\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/492](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/492)\)\.
* Update document on how to use with ansible\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/393](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/393)\)\.
* idrac\_attributes module can now support modification of IPv6 attributes on iDRAC 8\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/488](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/488)\)\.
* idrac\_firmware \- Issue\(276335\) \- This module fails on the Python 3\.11\.x version with NFS share\. Use a different Python version or Share type\.
* idrac\_server\_config\_profile \- The import for Server Configuration Profile \(SCP\) operation fails to handle the absence of a file and incorrectly reports success instead of the expected failure\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/544](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/544)\)\.
* ome\_device\_info is limited to 50 responses with a query filter\. \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/499](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/499)\)\.
* ome\_device\_quick\_deploy \- If the blade is not present\, then the module can assign a static IP to the slot \([https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/532](https\://github\.com/dell/dellemc\-openmanage\-ansible\-modules/issues/532)\)\.
<a id="f5networks-f5-modules-3"></a>
#### f5networks\.f5\_modules
* bigip\_device\_certificate \- error\-handling for connection error while running exec command function to fetch certificate details
* bigip\_pool \- Resolved a bug in the code to allow the module to remove monitors from the pool
* bigip\_provision\_async \- created module to address scenarios where infinite loops or timeouts happen
* bigip\_ssl\_key\_cert \- fixed flaw in code to make module work with same key and cert name when true\_names set to true
* bigip\_virtual\_server \- fixed an idempotency bug where the module send asm policy profile for update even when not specified explicitly by the user
<a id="fortinet-fortimanager-6"></a>
#### fortinet\.fortimanager
* Add \'access\_token\' in \'fmgr\_generic\'\.
* Add param \'platform\' in \'fmgr\_wtpprofile\' and param \'interface\' in \'fmgr\_fsp\_vlan\'\.
* Corrected description of parameters in documentation\.
* Fix a bug that collection may update the resource when it does not need to\.
* Fix a bug where the user may not be able to use workspace\_locking\_adom if the workspace mode is per\-adom\.
* Fix some modules missing revision \(used for version warning\)\.
* Fixed Many sanity test warnings and errors\.
* Fixed a bug where users might not be able to login\.
* Fixed the bug that would report an error when providing access\_token and username/password at the same time\.
* Fixed version\_added in the document\. The value of this parameter is the version each module first supported in the FortiManager Ansible Collection\.
* Improve document\.
* Improve fmgr\_fact\. \'changed\' will not be true anymore if you get the result\.
* Improve login logic in httpapi plugin\.
* Improve sanity tests\.
* When the JSON data sent by FortiManager is not in the right format\, the collection can still execute correctly\.
<a id="fortinet-fortios-3"></a>
#### fortinet\.fortios
* Fix the error of pure number password\.
* Fix the hyperlink issue for the supported FOS versions in USER\'s GUIDE\.
* Fix the issue of one session remaining open after the task is finished\.
* Fix the issue while comparing the changes in before and after data in check\_mode\;
* Fix the issues that some parameters are not in a specific fos vm versions\.
* Fix the request error when updating global object\;
* Fix the sanity test error\;
* Fix the wrong credential error when using username/password in fos verion 6\;
* To optimize the json\_generic module and reduce the time spent while sending GET requests\.
<a id="google-cloud-2"></a>
#### google\.cloud
* Use default service account if <em class="title-reference">service\_account\_email</em> is unset\.
<a id="hetzner-hcloud-7"></a>
#### hetzner\.hcloud
* <em class="title-reference">\*\_info</em> \- Consistently fail on invalid ID in <em class="title-reference">\*\_info</em> modules\.
* hcloud\_firewall \- The port argument is required when the firewall rule protocol is <em class="title-reference">udp</em> or <em class="title-reference">tcp</em>\.
* hcloud\_image\_info Fix facts modules deprecated result key
* hcloud\_load\_balancer\_service \- In the returned data\, the invalid <em class="title-reference">health\_check\.http\.certificates</em> field was renamed to <em class="title-reference">health\_check\.http\.status\_codes</em>\.
* hcloud\_location\_info Fix facts modules deprecation warnings
* hcloud\_server \- Fix string formatting error on deprecated server type warning
* hcloud\_server \- TypeError when trying to use deprecated image with allow\_deprecated\_image
* hcloud\_server\_type\_info Fix facts modules deprecated result dict
* hcloud\_server\_type\_info Fix facts modules deprecation warnings
<a id="junipernetworks-junos-3"></a>
#### junipernetworks\.junos
* fix <em class="title-reference">no\_advertise\_adjacency\_segment</em> config implementation\.
* fix <em class="title-reference">no\_eligible\_backup</em> config implementation\.
* fix <em class="title-reference">no\_eligible\_remote\_backup</em> config implementation\.
* fix <em class="title-reference">no\_interface\_state\_traps</em> config implementation\.
* fix <em class="title-reference">no\_neighbor\_down\_notification</em> config implementation\.
* fix <em class="title-reference">node\_link\_protection</em> implementation\.
* fix md5 authentication which allows list of keys to be configured\.
<a id="microsoft-ad-6"></a>
#### microsoft\.ad
* Added the missing dependency <code>dpapi\-ng</code> to Ansible Execution Environments requirements file for LAPS decryption support
* Ensure renaming and moving an object will be done with the <code>domain\_server</code> and <code>domain\_username</code> credentials specified \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/54](https\://github\.com/ansible\-collections/microsoft\.ad/issues/54)
* Fix up <code>protect\_from\_deletion</code> when creating new AD objects \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/47](https\://github\.com/ansible\-collections/microsoft\.ad/issues/47)
* Fix up date\_time attribute comparisons to be idempotent \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/57](https\://github\.com/ansible\-collections/microsoft\.ad/issues/57)
* group \- Fix idempotency check when <code>scope\: domainlocal</code> is set \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/31](https\://github\.com/ansible\-collections/microsoft\.ad/issues/31)
* microsoft\.ad\.group \- ensure the <code>scope</code> and <code>category</code> values are checked as case insensitive to avoid changes when not needed \- [https\://github\.com/ansible\-collections/microsoft\.ad/issues/31](https\://github\.com/ansible\-collections/microsoft\.ad/issues/31)
* microsoft\.ad\.user \- Ensure the <code>spn</code> diff after key is <code>spn</code> and not <code>kerberos\_encryption\_types</code>
* microsoft\.ad\.user \- treat an expired account as a password that needs to be changed
<a id="netapp-ontap-7"></a>
#### netapp\.ontap
* na\_ontap\_dns \- fix DNS not working with Cluster mode\.
* na\_ontap\_dns \- fix keyerror for uuid when DNS is set to vserver in REST\.
* na\_ontap\_ems\_filter \- fix delete operation not idempotent for filter\.
* na\_ontap\_ems\_filter \- fix modify operation to add rule in existing filter\.
* na\_ontap\_login\_messages \- fix <code>banner</code> and <code>motd\_message</code> not idempotent when trailing \'n\' is present\.
* na\_ontap\_login\_messages \- fix idempotency issue in Cluster scope in REST\.
* na\_ontap\_login\_messages \- fix idempotent issue on <code>show\_cluster\_motd</code> option when try to set banner or motd\_message for the first time in REST\.
* na\_ontap\_nfs \- fix <em class="title-reference">default\_user</em> under <em class="title-reference">windows</em> not getting modified if not set previously in REST\.
* na\_ontap\_svm \- fix REST version warning for <em class="title-reference">ndmp</em> under <em class="title-reference">services</em>\.
* na\_ontap\_volume \- fix invalid field error with \'space\.snapshot\.autodelete\' in REST\.
<a id="netbox-netbox-6"></a>
#### netbox\.netbox
* Fix schema caching \[\#1053\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1053](https\://github\.com/netbox\-community/ansible\_modules/pull/1053)\)
* <a href="#system-message-1"><span class="problematic">netbox\_</span></a> device \- Adjust device\_role to role for NetBox 3\.6 \[\#1066\]\([https\://github\.com/netbox\-community/ansible\_modules/pull/1066](https\://github\.com/netbox\-community/ansible\_modules/pull/1066)\)
## Docutils System Messages
<details>
<summary><strong>ERROR/3</strong> (<string>, line 1)</summary>
Unknown target name\: \"netbox\"\.
</details>
<a id="ovirt-ovirt-1"></a>
#### ovirt\.ovirt
* HE \- add back dependency on python3\-jmespath \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/701](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/701)\)
* HE \- drop remaining filters using netaddr \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/702](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/702)\)
* HE \- drop usage of ipaddr filters and remove dependency on python\-netaddr \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/696](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/696)\)
* HE \- fix ipv4 and ipv6 check after dropping netaddr \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/704](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/704)\)
* hosted\_engine\_setup \- Update README \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/706](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/706)\)
* ovirt\_disk \- Fix issue in detaching the direct LUN \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/700](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/700)\)
* ovirt\_quota \- Convert storage size to integer \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/712](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/712)\)
* ovirt\_role \- Fix administrative option when set to False \([https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/723](https\://github\.com/oVirt/ovirt\-ansible\-collection/pull/723)\)\.
<a id="purestorage-flasharray-8"></a>
#### purestorage\.flasharray
* purefa\_certs \- Resolved CSR issue and require export\_file for state sign\.
* purefa\_ds \- Fixes error when enabling directory services while a bind\_user is set on the array and a bind\_password is not\.
* purefa\_ds \- Fixes issue with creating a new ds configuration while setting force\_bind\_password as \"false\"\.
* purefa\_host \- Fix incorrect calling of \"module\.params\"\.
* purefa\_info \- Added missing alerts subset name
* purefa\_info \- Fix serial number generation issue for vVols
* purefa\_info \- Fixed attribute errors after EUC changes
* purefa\_info \- Fixed issue with replica links in unknown state
* purefa\_info \- Fixed missing arguments for google\_offload and pods
* purefa\_info \- Fixed parameter error when enabled and disabled timers are different values on purity 6\.4\.10\+ arrays\.
* purefa\_info \- Fixed py39 specific bug with multiple DNS entries
* purefa\_network \- Allow <em class="title-reference">gateway</em> to be set as <em class="title-reference">0\.0\.0\.0</em> to remove an existing gateway address
* purefa\_network \- Fixed IPv6 support issues
* purefa\_network \- Fixed idempotency issue when gateway not modified
* purefa\_pgsched \- Fixed bug with an unnecessary substitution
* purefa\_pgsched \- Resolved idempotency issue with snap and replication enabled flags
* purefa\_pgsnap \- Enabled to eradicate destroyed snapshots\.
* purefa\_pgsnap \- Ensure that <em class="title-reference">now</em> and <em class="title-reference">remote</em> are mutually exclusive\.
* purefa\_pgsnap \- Fixed issue with eradicating deleted pgsnapshot
* purefa\_pgsnap \- Update the accepted suffixes to include also numbers only\. Fixed the logic to retrieve the latest completed snapshot
* purefa\_policy \- Set user\_mapping parameter default to True
* purefa\_snap \- Fixed incorrect calling logic causing failure on remote snapshot creation
* purefa\_snap \- Fixed issue with remote snapshot retrieve\. Mainly a workaround to an issue with Purity REST 1\.x when remote snapshots are searched\.
* purefa\_subnet \- Fixed IPv4 gateway removal issue\.
* purefa\_subnet \- Fixed IPv6 support issues\.
* purefa\_volume \- Fixed bug with NULL suffix for multiple volume creation\.
<a id="purestorage-flashblade-6"></a>
#### purestorage\.flashblade
* purefb\_bucket \- Fixed bucket type mode name typo
* purefb\_fs \- Fixed issue with incorrect promotion state setting
* purefb\_info \- Fixed missing atributes for SMB client policy rules
* purefb\_userpolicy \- Fixed <em class="title-reference">show</em> state for all user policies
<a id="purestorage-fusion-3"></a>
#### purestorage\.fusion
* fusion\_info \- fix runtime errors caused when listing <em class="title-reference">interfaces</em>\, <em class="title-reference">arrays</em> and <em class="title-reference">snapshots</em> dicts
* fusion\_pg \- freshly created placement group is now moved to correct array
* fusion\_pp \- \'local\_rpo\' changed to accept same input as \'local\_retention\'
* fusion\_pp \- updated retention description
* fusion\_ra \- \'name\' deprecated and aliased to \'role\'
<a id="t-systems-mms-icinga-director-2"></a>
#### t\_systems\_mms\.icinga\_director
* add icinga\_deploy\_\* to action\_group and test it \([https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/214](https\://github\.com/T\-Systems\-MMS/ansible\-collection\-icinga\-director/pull/214)\)
<a id="theforeman-foreman-3"></a>
#### theforeman\.foreman
* compute\_profile\, host \- properly support nested VMware clusters \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2211394](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2211394)\)
* content\_credential \- don\'t require <code>content\_type</code> and <code>content</code> parameters when removing credentials \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1588](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1588)\)
* content\_credentials role \- don\'t require <code>content\_type</code> and <code>content</code> parameters when removing credentials
* content\_view\_filter \- don\'t fail when creating a modulemd filter \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1608](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1608)\, [https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2208557](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2208557)\)
* content\_view\_publish role \- correctly pass <code>version</code> not <code>description</code> to the module \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2234444](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2234444)\)
* convert2rhel role \- Sync repos before CV publish \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2216907](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2216907)\)
* repositories role \- don\'t log repository information when creating products \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2183357](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2183357)\)
* repository \- don\'t fail when removing a content credential from a repository \([https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2224122](https\://bugzilla\.redhat\.com/show\_bug\.cgi\?id\=2224122)\)
* smart\_class\_parameter \- correctly allow setting <code>override</code> to <code>false</code> \([https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1644](https\://github\.com/theforeman/foreman\-ansible\-modules/issues/1644)\)
<a id="vultr-cloud-5"></a>
#### vultr\.cloud
* firewall\_rule \- Fixed an idempotency issue if parameter <code>port</code> is set on protocols other than TCP/UDP \([https\://github\.com/vultr/ansible\-collection\-vultr/issues/76](https\://github\.com/vultr/ansible\-collection\-vultr/issues/76)\)\.
<a id="vyos-vyos-1"></a>
#### vyos\.vyos
* vyos\-l3\_interface\_facts \- fixed error when using no\-default\-link\-local option\. \([https\://github\.com/ansible\-collections/vyos\.vyos/issues/295](https\://github\.com/ansible\-collections/vyos\.vyos/issues/295)\)
<a id="known-issues-2"></a>
### Known Issues
<a id="ansible-core-20"></a>
#### Ansible\-core
* ansible\-galaxy \- dies in the middle of installing a role when that role contains Java inner classes \(files with \$ in the file name\)\. This is by design\, to exclude temporary or backup files\. \([https\://github\.com/ansible/ansible/pull/81553](https\://github\.com/ansible/ansible/pull/81553)\)\.
* ansible\-test \- The <code>pep8</code> sanity test is unable to detect f\-string spacing issues \(E201\, E202\) on Python 3\.10 and 3\.11\. They are correctly detected under Python 3\.12\. See \([https\://github\.com/PyCQA/pycodestyle/issues/1190](https\://github\.com/PyCQA/pycodestyle/issues/1190)\)\.
<a id="community-crypto-9"></a>
#### community\.crypto
* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/crypto/](https\://docs\.ansible\.com/ansible/devel/collections/community/crypto/)\.
<a id="community-dns-9"></a>
#### community\.dns
* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/dns/](https\://docs\.ansible\.com/ansible/devel/collections/community/dns/)\.
<a id="community-docker-10"></a>
#### community\.docker
* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/docker/](https\://docs\.ansible\.com/ansible/devel/collections/community/docker/)\.
<a id="community-general-19"></a>
#### community\.general
* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/general/](https\://docs\.ansible\.com/ansible/devel/collections/community/general/) \([https\://github\.com/ansible\-collections/community\.general/pull/6539](https\://github\.com/ansible\-collections/community\.general/pull/6539)\)\.
<a id="community-hrobot-4"></a>
#### community\.hrobot
* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/hrobot/](https\://docs\.ansible\.com/ansible/devel/collections/community/hrobot/)\.
<a id="community-routeros-7"></a>
#### community\.routeros
* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/routeros/](https\://docs\.ansible\.com/ansible/devel/collections/community/routeros/)\.
<a id="community-sops-1"></a>
#### community\.sops
* Ansible markup will show up in raw form on ansible\-doc text output for ansible\-core before 2\.15\. If you have trouble deciphering the documentation markup\, please upgrade to ansible\-core 2\.15 \(or newer\)\, or read the HTML documentation on [https\://docs\.ansible\.com/ansible/devel/collections/community/sops/](https\://docs\.ansible\.com/ansible/devel/collections/community/sops/)\.
<a id="dellemc-openmanage-11"></a>
#### dellemc\.openmanage
* ca\_path missing \- Issue\(275740\) \- The roles idrac\_attributes\, redfish\_storage\_volume\, and idrac\_server\_powerstate have a missing parameter ca\_path\.
* idrac\_firmware \- Issue\(276335\) \- This module fails on the Python 3\.11\.x version with NFS shares\. Use a different Python version or Share type\.
* idrac\_firmware \- Issue\(279282\) \- This module does not support firmware update using HTTP\, HTTPS\, and FTP shares with authentication on iDRAC8\.
* idrac\_network\_attributes \- Issue\(279049\) \- If unsupported values are provided for the parameter <code>ome\_network\_attributes</code>\, then this module does not provide a correct error message\.
* idrac\_redfish\_storage\_controller \- Issue\(256164\) \- If incorrect value is provided for one of the attributes in the provided attribute list for controller configuration\, then this module does not exit with error\.
* ome\_device\_network\_services \- Issue\(212681\) \- The module does not provide a proper error message if unsupported values are provided for the following parameters\- port\_number\, community\_name\, max\_sessions\, max\_auth\_retries\, and idle\_timeout\.
* ome\_device\_power\_settings \- Issue\(212679\) \- The module displays the following message if the value provided for the parameter <code>power\_cap</code> is not within the supported range of 0 to 32767\, <code>Unable to complete the request because PowerCap does not exist or is not applicable for the resource URI\.</code>
* ome\_device\_quick\_deploy \- Issue\(275231\) \- This module does not deploy a new configuration to a slot that has disabled IPv6\.
* ome\_smart\_fabric\_uplink \- Issue\(186024\) \- Despite the module supported by OpenManage Enterprise Modular\, it does not allow the creation of multiple uplinks of the same name\. If an uplink is created using the same name as an existing uplink\, the existing uplink is modified\.
<a id="new-plugins-4"></a>
### New Plugins
<a id="cliconf"></a>
#### Cliconf
* ansible\.netcommon\.default \- General purpose cliconf plugin for new platforms
<a id="filter-4"></a>
#### Filter
* ansible\.utils\.ipcut \- This filter is designed to get 1st or last few bits of IP address\.
* ansible\.utils\.ipv6form \- This filter is designed to convert ipv6 address in different formats\. For example expand\, compressetc\.
* community\.crypto\.gpg\_fingerprint \- Retrieve a GPG fingerprint from a GPG public or private key
<a id="inventory"></a>
#### Inventory
* community\.aws\.aws\_mq \- MQ broker inventory source
<a id="lookup-2"></a>
#### Lookup
* community\.crypto\.gpg\_fingerprint \- Retrieve a GPG fingerprint from a GPG public or private key file
* community\.dns\.lookup \- Look up DNS records
* community\.dns\.lookup\_as\_dict \- Look up DNS records as dictionaries
* community\.general\.bitwarden\_secrets\_manager \- Retrieve secrets from Bitwarden Secrets Manager
<a id="new-modules-4"></a>
### New Modules
<a id="amazon-aws-12"></a>
#### amazon\.aws
* amazon\.aws\.ec2\_import\_image \- Manage AWS EC2 import image tasks
* amazon\.aws\.ec2\_import\_image\_info \- Gather information about import virtual machine tasks
* amazon\.aws\.ec2\_key\_info \- Gather information about EC2 key pairs in AWS
* amazon\.aws\.iam\_instance\_profile \- manage IAM instance profiles
* amazon\.aws\.iam\_instance\_profile\_info \- gather information on IAM instance profiles
* amazon\.aws\.rds\_global\_cluster\_info \- Obtain information about Aurora global database clusters
<a id="cisco-ios-8"></a>
#### cisco\.ios
* cisco\.ios\.ios\_service \- Resource module to configure service\.
<a id="cisco-iosxr-4"></a>
#### cisco\.iosxr
* cisco\.iosxr\.iosxr\_bgp\_templates \- Manages BGP templates resource module\.
<a id="cisco-nxos-5"></a>
#### cisco\.nxos
* cisco\.nxos\.nxos\_fc\_interfaces \- Fc Interfaces resource module
<a id="cloudscale-ch-cloud-2"></a>
#### cloudscale\_ch\.cloud
* cloudscale\_ch\.cloud\.load\_balancer \- Manages load balancers on the cloudscale\.ch IaaS service
* cloudscale\_ch\.cloud\.load\_balancer\_health\_monitor \- Manages load balancers on the cloudscale\.ch IaaS service
* cloudscale\_ch\.cloud\.load\_balancer\_listener \- Manages load balancer listeners on the cloudscale\.ch IaaS service
* cloudscale\_ch\.cloud\.load\_balancer\_pool \- Manages load balancer pools on the cloudscale\.ch IaaS service
* cloudscale\_ch\.cloud\.load\_balancer\_pool\_member \- Manages load balancer pool members on the cloudscale\.ch IaaS service
<a id="community-aws-5"></a>
#### community\.aws
* community\.aws\.route53\_wait \- wait for changes in Amazons Route 53 DNS service to propagate
<a id="community-dns-10"></a>
#### community\.dns
* community\.dns\.nameserver\_info \- Look up nameservers for a DNS name
* community\.dns\.nameserver\_record\_info \- Look up all records of a type from all nameservers for a DNS name
<a id="community-general-20"></a>
#### community\.general
* community\.general\.consul\_policy \- Manipulate Consul policies
* community\.general\.consul\_role \- Manipulate Consul roles
* community\.general\.facter\_facts \- Runs the discovery program C\(facter\) on the remote system and return Ansible facts
* community\.general\.gio\_mime \- Set default handler for MIME type\, for applications using Gnome GIO
* community\.general\.gitlab\_instance\_variable \- Creates\, updates\, or deletes GitLab instance variables
* community\.general\.gitlab\_merge\_request \- Create\, update\, or delete GitLab merge requests
* community\.general\.jenkins\_build\_info \- Get information about Jenkins builds
* community\.general\.keycloak\_authentication\_required\_actions \- Allows administration of Keycloak authentication required actions
* community\.general\.keycloak\_authz\_custom\_policy \- Allows administration of Keycloak client custom Javascript policies via Keycloak API
* community\.general\.keycloak\_authz\_permission \- Allows administration of Keycloak client authorization permissions via Keycloak API
* community\.general\.keycloak\_authz\_permission\_info \- Query Keycloak client authorization permissions information
* community\.general\.keycloak\_realm\_key \- Allows administration of Keycloak realm keys via Keycloak API
* community\.general\.keycloak\_user \- Create and configure a user in Keycloak
* community\.general\.lvg\_rename \- Renames LVM volume groups
* community\.general\.pnpm \- Manage node\.js packages with pnpm
* community\.general\.proxmox\_pool \- Pool management for Proxmox VE cluster
* community\.general\.proxmox\_pool\_member \- Add or delete members from Proxmox VE cluster pools
* community\.general\.proxmox\_vm\_info \- Retrieve information about one or more Proxmox VE virtual machines
* community\.general\.simpleinit\_msb \- Manage services on Source Mage GNU/Linux
<a id="community-grafana-6"></a>
#### community\.grafana
* community\.grafana\.grafana\_organization\_user \- Manage Grafana Organization Users\.
<a id="community-vmware-9"></a>
#### community\.vmware
* community\.vmware\.vcenter\_root\_password\_expiration \- root password expiration of vCSA
* community\.vmware\.vmware\_cluster\_drs\_recommendations \- Apply DRS Recommendations
* community\.vmware\.vmware\_host\_graphics \- Manage Host Graphic Settings
* community\.vmware\.vmware\_vasa \- Manage VMware Virtual Volumes storage provider
* community\.vmware\.vmware\_vasa\_info \- Gather information about vSphere VASA providers\.
* community\.vmware\.vmware\_vsan\_release\_catalog \- Uploads the vSAN Release Catalog
<a id="community-zabbix-6"></a>
#### community\.zabbix
* community\.zabbix\.zabbix\_regexp \- Create/update/delete Zabbix regular expression
* community\.zabbix\.zabbix\_settings \- Update Zabbix global settings\.
* community\.zabbix\.zabbix\_token \- Create/Update/Generate/Delete Zabbix token\.
<a id="containers-podman-5"></a>
#### containers\.podman
* containers\.podman\.podman\_container\_exec \- Executes a command in a running container
* containers\.podman\.podman\_runlabel \- Run given label from given image
<a id="dellemc-enterprise-sonic-6"></a>
#### dellemc\.enterprise\_sonic
* dellemc\.enterprise\_sonic\.sonic\_acl\_interfaces \- Manage access control list \(ACL\) to interface binding on SONiC
* dellemc\.enterprise\_sonic\.sonic\_bfd \- Manage BFD configuration on SONiC
* dellemc\.enterprise\_sonic\.sonic\_copp \- Manage CoPP configuration on SONiC
* dellemc\.enterprise\_sonic\.sonic\_dhcp\_relay \- Manage DHCP and DHCPv6 relay configurations on SONiC
* dellemc\.enterprise\_sonic\.sonic\_ip\_neighbor \- Manage IP neighbor global configuration on SONiC
* dellemc\.enterprise\_sonic\.sonic\_l2\_acls \- Manage Layer 2 access control lists \(ACL\) configurations on SONiC
* dellemc\.enterprise\_sonic\.sonic\_l3\_acls \- Manage Layer 3 access control lists \(ACL\) configurations on SONiC
* dellemc\.enterprise\_sonic\.sonic\_lldp\_global \- Manage Global LLDP configurations on SONiC
* dellemc\.enterprise\_sonic\.sonic\_logging \- Manage logging configuration on SONiC
* dellemc\.enterprise\_sonic\.sonic\_mac \- Manage MAC configuration on SONiC
* dellemc\.enterprise\_sonic\.sonic\_port\_group \- Manages port group configuration on SONiC
* dellemc\.enterprise\_sonic\.sonic\_route\_maps \- route map configuration handling for SONiC
* dellemc\.enterprise\_sonic\.sonic\_vlan\_mapping \- Configure vlan mappings on SONiC
<a id="dellemc-openmanage-12"></a>
#### dellemc\.openmanage
* dellemc\.openmanage\.idrac\_network\_attributes \- This module allows you to configure the port and partition network attributes on the network interface cards\.
* dellemc\.openmanage\.ome\_alert\_policies \- Manage OME alert policies\.
* dellemc\.openmanage\.ome\_alert\_policies\_action\_info \- Get information on actions of alert policies\.
* dellemc\.openmanage\.ome\_alert\_policies\_category\_info \- Retrieves information of all OME alert policy categories\.
* dellemc\.openmanage\.ome\_alert\_policies\_info \- Retrieves information of one or more OME alert policies\.
* dellemc\.openmanage\.ome\_alert\_policies\_message\_id\_info \- Get message ID information of alert policies\.
* dellemc\.openmanage\.redfish\_firmware\_rollback \- To perform a component firmware rollback using component name\.
<a id="dellemc-powerflex-4"></a>
#### dellemc\.powerflex
* dellemc\.powerflex\.snapshot\_policy \- Manage snapshot policies on Dell PowerFlex
<a id="dellemc-unity-1"></a>
#### dellemc\.unity
* dellemc\.unity\.replication\_session \- Manage replication session on the Unity storage system
<a id="f5networks-f5-modules-4"></a>
#### f5networks\.f5\_modules
* f5networks\.f5\_modules\.bigip\_provision\_async \- Manage BIG\-IP module provisioning
<a id="fortinet-fortimanager-7"></a>
#### fortinet\.fortimanager
* fortinet\.fortimanager\.fmgr\_application\_casi\_profile \- Cloud Access Security Inspection\.
* fortinet\.fortimanager\.fmgr\_application\_casi\_profile\_entries \- Application entries\.
* fortinet\.fortimanager\.fmgr\_application\_internetservice \- Show Internet service application\.
* fortinet\.fortimanager\.fmgr\_application\_internetservice\_entry \- Entries in the Internet service database\.
* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom \- Configure custom Internet service applications\.
* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_disableentry \- Disable entries in the Internet service database\.
* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_disableentry\_iprange \- IP ranges in the disable entry\.
* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_entry \- Entries added to the Internet service database and custom database\.
* fortinet\.fortimanager\.fmgr\_application\_internetservicecustom\_entry\_portrange \- Port ranges in the custom entry\.
* fortinet\.fortimanager\.fmgr\_casb\_profile \- Configure CASB profile\.
* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication \- CASB profile SaaS application\.
* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication\_accessrule \- CASB profile access rule\.
* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication\_customcontrol \- CASB profile custom control\.
* fortinet\.fortimanager\.fmgr\_casb\_profile\_saasapplication\_customcontrol\_option \- CASB custom control option\.
* fortinet\.fortimanager\.fmgr\_casb\_saasapplication \- Configure CASB SaaS application\.
* fortinet\.fortimanager\.fmgr\_casb\_useractivity \- Configure CASB user activity\.
* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_controloptions \- CASB control options\.
* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_controloptions\_operations \- CASB control option operations\.
* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_match \- CASB user activity match rules\.
* fortinet\.fortimanager\.fmgr\_casb\_useractivity\_match\_rules \- CASB user activity rules\.
* fortinet\.fortimanager\.fmgr\_cloud\_orchestaws \- no description
* fortinet\.fortimanager\.fmgr\_cloud\_orchestawsconnector \- no description
* fortinet\.fortimanager\.fmgr\_cloud\_orchestawstemplate\_autoscaleexistingvpc \- no description
* fortinet\.fortimanager\.fmgr\_cloud\_orchestawstemplate\_autoscalenewvpc \- no description
* fortinet\.fortimanager\.fmgr\_cloud\_orchestawstemplate\_autoscaletgwnewvpc \- no description
* fortinet\.fortimanager\.fmgr\_cloud\_orchestration \- no description
* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_filter\_excludelist \- no description
* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_filter\_excludelist\_fields \- no description
* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_filter\_freestyle \- Free style filters\.
* fortinet\.fortimanager\.fmgr\_devprof\_log\_syslogd\_setting\_customfieldname \- Custom field name for CEF format logging\.
* fortinet\.fortimanager\.fmgr\_dnsfilter\_profile\_urlfilter \- URL filter settings\.
* fortinet\.fortimanager\.fmgr\_dnsfilter\_urlfilter \- Configure URL filter list\.
* fortinet\.fortimanager\.fmgr\_dnsfilter\_urlfilter\_entries \- DNS URL filter\.
* fortinet\.fortimanager\.fmgr\_dvmdb\_upgrade \- no description
* fortinet\.fortimanager\.fmgr\_emailfilter\_profile\_yahoomail \- Yahoo\! Mail\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_dataplan \- FortiExtender dataplan configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile \- FortiExtender extender profile configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular \- FortiExtender cellular configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_controllerreport \- FortiExtender controller report configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem1 \- Configuration options for modem 1\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem1\_autoswitch \- FortiExtender auto switch configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem2 \- Configuration options for modem 2\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_modem2\_autoswitch \- FortiExtender auto switch configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_smsnotification \- FortiExtender cellular SMS notification configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_smsnotification\_alert \- SMS alert list\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_cellular\_smsnotification\_receiver \- SMS notification receiver list\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_lanextension \- FortiExtender lan extension configuration\.
* fortinet\.fortimanager\.fmgr\_extensioncontroller\_extenderprofile\_lanextension\_backhaul \- LAN extension backhaul tunnel configuration\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6 \- Configure IPv6 access proxy\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway \- Set IPv4 API Gateway\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6 \- Set IPv6 API Gateway\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6\_quic \- QUIC setting\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6\_realservers \- Select the real servers that this Access Proxy will distribute traffic to\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway6\_sslciphersuites \- SSL/TLS cipher suites to offer to a server\, ordered by priority\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway\_quic \- QUIC setting\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway\_realservers \- Select the real servers that this Access Proxy will distribute traffic to\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy6\_apigateway\_sslciphersuites \- SSL/TLS cipher suites to offer to a server\, ordered by priority\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy\_apigateway6\_quic \- QUIC setting\.
* fortinet\.fortimanager\.fmgr\_firewall\_accessproxy\_apigateway\_quic \- QUIC setting\.
* fortinet\.fortimanager\.fmgr\_firewall\_address6\_profilelist \- List of NSX service profiles that use this address\.
* fortinet\.fortimanager\.fmgr\_firewall\_address\_profilelist \- List of NSX service profiles that use this address\.
* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile \- no description
* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication \- no description
* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication\_accessrule \- no description
* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication\_customcontrol \- no description
* fortinet\.fortimanager\.fmgr\_firewall\_casbprofile\_saasapplication\_customcontrol\_option \- no description
* fortinet\.fortimanager\.fmgr\_firewall\_explicitproxyaddress \- Explicit web proxy address configuration\.
* fortinet\.fortimanager\.fmgr\_firewall\_explicitproxyaddress\_headergroup \- HTTP header group\.
* fortinet\.fortimanager\.fmgr\_firewall\_explicitproxyaddrgrp \- Explicit web proxy address group configuration\.
* fortinet\.fortimanager\.fmgr\_firewall\_gtp\_messagefilter \- Message filter\.
* fortinet\.fortimanager\.fmgr\_firewall\_ippoolgrp \- Configure IPv4 pool groups\.
* fortinet\.fortimanager\.fmgr\_firewall\_networkservicedynamic \- Configure Dynamic Network Services\.
* fortinet\.fortimanager\.fmgr\_firewall\_vendormac \- Show vendor and the MAC address they have\.
* fortinet\.fortimanager\.fmgr\_firewall\_vip\_quic \- QUIC setting\.
* fortinet\.fortimanager\.fmgr\_fmg\_fabric\_authorization\_template \- no description
* fortinet\.fortimanager\.fmgr\_fmg\_fabric\_authorization\_template\_platforms \- no description
* fortinet\.fortimanager\.fmgr\_fmupdate\_fwmsetting\_upgradetimeout \- Configure the timeout value of image upgrade process\.
* fortinet\.fortimanager\.fmgr\_fsp\_vlan\_dynamicmapping\_interface\_vrrp \- VRRP configuration\.
* fortinet\.fortimanager\.fmgr\_fsp\_vlan\_dynamicmapping\_interface\_vrrp\_proxyarp \- VRRP Proxy ARP configuration\.
* fortinet\.fortimanager\.fmgr\_fsp\_vlan\_interface\_vrrp\_proxyarp \- VRRP Proxy ARP configuration\.
* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor \- Configure IPS sensor\.
* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_entries \- IPS sensor filter\.
* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_entries\_exemptip \- Traffic from selected source or destination IP addresses is exempt from this signature\.
* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_filter \- no description
* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_override \- no description
* fortinet\.fortimanager\.fmgr\_ips\_baseline\_sensor\_override\_exemptip \- no description
* fortinet\.fortimanager\.fmgr\_log\_npuserver \- Configure all the log servers and create the server groups\.
* fortinet\.fortimanager\.fmgr\_log\_npuserver\_servergroup \- create server group\.
* fortinet\.fortimanager\.fmgr\_log\_npuserver\_serverinfo \- configure server info\.
* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_explicitproxypolicy \- Configure Explicit proxy policies\.
* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_explicitproxypolicy\_identitybasedpolicy \- Identity\-based policy\.
* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_explicitproxypolicy\_sectionvalue \- Configure Explicit proxy policies\.
* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy \- Configure IPv4/IPv6 policies\.
* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy46 \- Configure IPv4 to IPv6 policies\.
* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy6 \- Configure IPv6 policies\.
* fortinet\.fortimanager\.fmgr\_pkg\_firewall\_hyperscalepolicy64 \- Configure IPv6 to IPv4 policies\.
* fortinet\.fortimanager\.fmgr\_pkg\_user\_nacpolicy \- Configure NAC policy matching pattern to identify matching NAC devices\.
* fortinet\.fortimanager\.fmgr\_pm\_config\_meta\_reference \- no description
* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_consolidated\_policy \- Configure consolidated IPv4/IPv6 policies\.
* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_consolidated\_policy\_sectionvalue \- Configure consolidated IPv4/IPv6 policies\.
* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_policy6 \- Configure IPv6 policies\.
* fortinet\.fortimanager\.fmgr\_pm\_config\_pblock\_firewall\_policy6\_sectionvalue \- Configure IPv6 policies\.
* fortinet\.fortimanager\.fmgr\_pm\_devprof\_scopemember \- no description
* fortinet\.fortimanager\.fmgr\_pm\_pkg\_scopemember \- Policy package or folder\.
* fortinet\.fortimanager\.fmgr\_pm\_wanprof\_scopemember \- no description
* fortinet\.fortimanager\.fmgr\_securityconsole\_install\_objects\_v2 \- no description
* fortinet\.fortimanager\.fmgr\_securityconsole\_template\_cli\_preview \- no description
* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_group \- Configure ACL groups to be applied on managed FortiSwitch ports\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_ingress \- Configure ingress ACL policies to be applied on managed FortiSwitch ports\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_ingress\_action \- ACL actions\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_acl\_ingress\_classifier \- ACL classifiers\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_dynamicportpolicy \- Configure Dynamic port policy to be applied on the managed FortiSwitch ports through DPP device\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_dynamicportpolicy\_policy \- Port policies with matching criteria and actions\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_fortilinksettings \- Configure integrated FortiLink settings for FortiSwitch\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_fortilinksettings\_nacports \- NAC specific configuration\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_macpolicy \- Configure MAC policy to be applied on the managed FortiSwitch devices through NAC device\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_dhcpsnoopingstaticclient \- Configure FortiSwitch DHCP snooping static clients\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_ports\_dhcpsnoopoption82override \- Configure DHCP snooping option 82 override\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_routeoffloadrouter \- Configure route offload MCLAG IP address\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_staticmac \- Configuration method to edit FortiSwitch Static and Sticky MAC\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_managedswitch\_stpinstance \- Configuration method to edit Spanning Tree Protocol
* fortinet\.fortimanager\.fmgr\_switchcontroller\_ptp\_profile \- Global PTP profile\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_switchinterfacetag \- Configure switch object tags\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_trafficpolicy \- Configure FortiSwitch traffic policy\.
* fortinet\.fortimanager\.fmgr\_switchcontroller\_vlanpolicy \- Configure VLAN policy to be applied on the managed FortiSwitch ports through dynamic\-port\-policy\.
* fortinet\.fortimanager\.fmgr\_sys\_cloud\_orchest \- no description
* fortinet\.fortimanager\.fmgr\_system\_csf \- Add this device to a Security Fabric or set up a new Security Fabric on this device\.
* fortinet\.fortimanager\.fmgr\_system\_csf\_fabricconnector \- Fabric connector configuration\.
* fortinet\.fortimanager\.fmgr\_system\_csf\_trustedlist \- Pre\-authorized and blocked security fabric nodes\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_backgroundssescan \- Configure driver background scan for SSE\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_dosoptions \- NPU DoS configurations\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_dswdtsprofile \- Configure NPU DSW DTS profile\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_dswqueuedtsprofile \- Configure NPU DSW Queue DTS profile\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_hpe \- Host protection engine configuration\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_ipreassembly \- IP reassebmly engine configuration\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues \- Configure queue assignment on NP7\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_ethernettype \- Configure a NP7 QoS Ethernet Type\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_ipprotocol \- Configure a NP7 QoS IP Protocol\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_ipservice \- Configure a NP7 QoS IP Service\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_profile \- Configure a NP7 class profile\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_npqueues\_scheduler \- Configure a NP7 QoS Scheduler\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_portpathoption \- Configure port using NPU or Intel\-NIC\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_ssehascan \- Configure driver HA scan for SSE\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_swtrhash \- Configure switch traditional hashing\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_tcptimeoutprofile \- Configure TCP timeout profile\.
* fortinet\.fortimanager\.fmgr\_system\_npu\_udptimeoutprofile \- Configure UDP timeout profile\.
* fortinet\.fortimanager\.fmgr\_system\_objecttag \- Configure object tags\.
* fortinet\.fortimanager\.fmgr\_system\_sdnconnector\_compartmentlist \- Configure OCI compartment list\.
* fortinet\.fortimanager\.fmgr\_system\_sdnconnector\_ociregionlist \- Configure OCI region list\.
* fortinet\.fortimanager\.fmgr\_system\_sdnproxy \- Configure SDN proxy\.
* fortinet\.fortimanager\.fmgr\_system\_socfabric\_trustedlist \- Pre\-authorized security fabric nodes
* fortinet\.fortimanager\.fmgr\_um\_image\_upgrade \- The older API for updating the firmware of specific device\.
* fortinet\.fortimanager\.fmgr\_um\_image\_upgrade\_ext \- Update the firmware of specific device\.
* fortinet\.fortimanager\.fmgr\_user\_certificate \- Configure certificate users\.
* fortinet\.fortimanager\.fmgr\_user\_deviceaccesslist \- Configure device access control lists\.
* fortinet\.fortimanager\.fmgr\_user\_deviceaccesslist\_devicelist \- Device list\.
* fortinet\.fortimanager\.fmgr\_user\_flexvm \- no description
* fortinet\.fortimanager\.fmgr\_user\_json \- no description
* fortinet\.fortimanager\.fmgr\_user\_saml\_dynamicmapping \- SAML server entry configuration\.
* fortinet\.fortimanager\.fmgr\_virtualpatch\_profile \- Configure virtual\-patch profile\.
* fortinet\.fortimanager\.fmgr\_virtualpatch\_profile\_exemption \- Exempt devices or rules\.
* fortinet\.fortimanager\.fmgr\_vpnsslweb\_portal\_landingpage \- Landing page options\.
* fortinet\.fortimanager\.fmgr\_vpnsslweb\_portal\_landingpage\_formdata \- Form data\.
* fortinet\.fortimanager\.fmgr\_vpnsslweb\_virtualdesktopapplist \- SSL\-VPN virtual desktop application list\.
* fortinet\.fortimanager\.fmgr\_vpnsslweb\_virtualdesktopapplist\_apps \- Applications\.
* fortinet\.fortimanager\.fmgr\_wireless\_accesscontrollist \- Configure WiFi bridge access control list\.
* fortinet\.fortimanager\.fmgr\_wireless\_accesscontrollist\_layer3ipv4rules \- AP ACL layer3 ipv4 rule list\.
* fortinet\.fortimanager\.fmgr\_wireless\_accesscontrollist\_layer3ipv6rules \- AP ACL layer3 ipv6 rule list\.
* fortinet\.fortimanager\.fmgr\_wireless\_address \- Configure the client with its MAC address\.
* fortinet\.fortimanager\.fmgr\_wireless\_addrgrp \- Configure the MAC address group\.
* fortinet\.fortimanager\.fmgr\_wireless\_ssidpolicy \- Configure WiFi SSID policies\.
* fortinet\.fortimanager\.fmgr\_wireless\_syslogprofile \- Configure Wireless Termination Points
<a id="inspur-ispim-2"></a>
#### inspur\.ispim
* inspur\.ispim\.hba\_info \- Get CPU information
* inspur\.ispim\.update\_psu \- Update PSU
<a id="netapp-ontap-8"></a>
#### netapp\.ontap
* netapp\.ontap\.na\_ontap\_active\_directory\_domain\_controllers \- NetApp ONTAP configure active directory preferred domain controllers
* netapp\.ontap\.na\_ontap\_ems\_config \- NetApp ONTAP module to modify EMS configuration\.
<a id="netbox-netbox-7"></a>
#### netbox\.netbox
* netbox\.netbox\.netbox\_config\_template \- Creates\, updates\, or removed a config template from NetBox
<a id="ngine-io-exoscale"></a>
#### ngine\_io\.exoscale
* ngine\_io\.exoscale\.instance\_rdns\_record \- Manages reverse DNS records for Exoscale compute instances\.
<a id="purestorage-flasharray-9"></a>
#### purestorage\.flasharray
* purestorage\.flasharray\.purefa\_file \- Manage FlashArray File Copies
* purestorage\.flasharray\.purefa\_logging \- Manage Pure Storage FlashArray Audit and Session logs
<a id="sensu-sensu-go-1"></a>
#### sensu\.sensu\_go
* sensu\.sensu\_go\.pipeline \- Manage Sensu pipelines\.
* sensu\.sensu\_go\.pipeline\_info \- List Sensu pipelines\.
<a id="t-systems-mms-icinga-director-3"></a>
#### t\_systems\_mms\.icinga\_director
* t\_systems\_mms\.icinga\_director\.icinga\_deploy \- Trigger deployment in Icinga2
* t\_systems\_mms\.icinga\_director\.icinga\_deploy\_info \- Get deployment information through the director API
<a id="theforeman-foreman-4"></a>
#### theforeman\.foreman
* theforeman\.foreman\.smart\_class\_parameter\_override\_value \- Manage Smart Class Parameter Override Values
* theforeman\.foreman\.wait\_for\_task \- Wait for a task
<a id="vultr-cloud-6"></a>
#### vultr\.cloud
* vultr\.cloud\.bare\_metal \- Manages bare metal machines on Vultr\.
* vultr\.cloud\.vpc2 \- Manages VPCs 2\.0 on Vultr
* vultr\.cloud\.vpc2\_info \- Gather information about the Vultr VPCs 2\.0
<a id="new-roles"></a>
### New Roles
* dellemc\.openmanage\.idrac\_attributes \- Role to configure iDRAC attributes\.
* dellemc\.openmanage\.idrac\_bios \- Role to modify BIOS attributes\, clear pending BIOS attributes\, and reset the BIOS to default settings\.
* dellemc\.openmanage\.idrac\_boot \- Configure the boot order settings
* dellemc\.openmanage\.idrac\_job\_queue \- Role to manage the iDRAC lifecycle controller job queue\.
* dellemc\.openmanage\.idrac\_reset \- Role to reset and restart iDRAC \(iDRAC8 and iDRAC9 only\) for Dell PowerEdge servers\.
* dellemc\.openmanage\.idrac\_storage\_controller \- Role to configure the physical disk\, virtual disk\, and storage controller settings on iDRAC9 based PowerEdge servers\.
<a id="unchanged-collections-5"></a>
### Unchanged Collections
* ansible\.posix \(still version 1\.5\.4\)
* community\.azure \(still version 2\.0\.0\)
* community\.okd \(still version 2\.3\.0\)
* community\.proxysql \(still version 1\.5\.1\)
* community\.rabbitmq \(still version 1\.2\.3\)
* community\.sap\_libs \(still version 1\.4\.1\)
* frr\.frr \(still version 2\.0\.2\)
* gluster\.gluster \(still version 1\.0\.2\)
* hpe\.nimble \(still version 1\.1\.4\)
* ibm\.qradar \(still version 2\.1\.0\)
* infinidat\.infinibox \(still version 1\.3\.12\)
* infoblox\.nios\_modules \(still version 1\.5\.0\)
* inspur\.sm \(still version 2\.3\.0\)
* kubernetes\.core \(still version 2\.4\.0\)
* netapp\.elementsw \(still version 21\.7\.0\)
* netapp\.storagegrid \(still version 21\.11\.1\)
* netapp\_eseries\.santricity \(still version 1\.4\.0\)
* ngine\_io\.cloudstack \(still version 2\.3\.0\)
* openstack\.cloud \(still version 2\.1\.0\)
* openvswitch\.openvswitch \(still version 2\.1\.1\)
* splunk\.es \(still version 2\.1\.0\)
* vmware\.vmware\_rest \(still version 2\.3\.1\)
|