summaryrefslogtreecommitdiff
path: root/changelogs/changelog.yaml
blob: 98094a3bf03b82e5ccd9959b005938de78a7b79b (plain)
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
ancestor: 2.10.0
releases:
  2.11.0:
    changes:
      bugfixes:
      - ansible-test - ensure the correct unit test target is given when the ``__init__.py``
        file is modified inside the connection plugins directory
      major_changes:
      - ansible-test - Tests run with the ``centos6`` and ``default`` test containers
        now use a PyPI proxy container to access PyPI when Python 2.6 is used. This
        allows tests running under Python 2.6 to continue functioning even though
        PyPI is discontinuing support for non-SNI capable clients.
      minor_changes:
      - ansible-test - Update distribution test containers from version 2.0.1 to 2.0.2.
      - ansible-test - Update the Ansible Core and Ansible Collection default test
        containers to 3.2.0 and 3.2.2 respectively.
      release_summary: '| Release Date: 2021-04-26

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - ansible-test-connection-units-init.yml
    - ansible-test-default-containers-3.2.yml
    - ansible-test-distro-containers-2.0.2.yml
    - ansible-test-pypi-test-container.yml
    - v2.11.0_summary.yaml
    release_date: '2021-04-26'
  2.11.0b1:
    changes:
      breaking_changes:
      - Made SCM collections be reinstalled regardless of ``--force`` being present.
      - NetBSD virtualization facts (specifically ``ansible_virtualization_type``)
        now returns a more accurate value by checking the value of the ``machdep.hypervisor``
        ``sysctl`` key. This change is breaking because in some cases previously,
        we would erroneously report ``xen`` even when the target is not running on
        Xen. This prevents that behavior in most cases. (https://github.com/ansible/ansible/issues/69352)
      - "Replaced the in-tree dependency resolver with an external implementation
        that pip >= 20.3 uses now by default \u2014 ``resolvelib``. (https://github.com/ansible/ansible/issues/71784)"
      - The ``meta`` module now supports tags for user-defined tasks. Internal ``meta``
        tasks continue to always run. (https://github.com/ansible/ansible/issues/64558)
      - ansible-galaxy login command has been removed (see https://github.com/ansible/ansible/issues/71560)
      bugfixes:
      - ANSIBLE_COLLECTIONS_PATHS - remove deprecation so that users of Ansible 2.9
        and 2.10+ can use the same var when specifying a collection path without a
        warning.
      - Added unsafe_writes test.
      - Address compat with rpmfluff-0.6 for integration tests
      - 'Address the deprecation of the use of stdlib distutils in packaging. It''s
        a short-term hotfix for the problem (https://github.com/ansible/ansible/issues/70456,
        https://github.com/pypa/setuptools/issues/2230, https://github.com/pypa/setuptools/commit/bd110264)

        '
      - Adjust various hard-coded action names to also include their ``ansible.builtin.``
        and ``ansible.legacy.`` prefixed version (https://github.com/ansible/ansible/issues/71817,
        https://github.com/ansible/ansible/issues/71818, https://github.com/ansible/ansible/pull/71824).
      - Allow TypeErrors on Undefined variables in filters to be handled or deferred
        when processing for loops.
      - Allow `~` to be present in file names in galaxy roles (https://github.com/ansible/ansible/issues/72966)
      - Always mention the name of the deprecated or tombstoned plugin in routing
        deprecation/tombstone messages (https://github.com/ansible/ansible/pull/73059).
      - Ansible output now uses stdout to determine column width instead of stdin
      - AnsibleModule - added arg ``ignore_invalid_cwd`` to ``AnsibleModule.run_command()``,
        to control its behaviour when ``cwd`` is invalid. (https://github.com/ansible/ansible/pull/72390)
      - Apply ``_wrap_native_text`` only for builtin filters specified in STRING_TYPE_FILTERS.
      - Be smarter about collection paths ending with ansible_collections, emulating
        a-galaxy behaviour. Issue 72628
      - CLI - Restore git information in version output when running from source
      - Collection callbacks were ignoring options and rules for stdout and adhoc
        cases.
      - Collections - Ensure ``action_loader.get`` is called with ``collection_list``
        to properly find collections when ``collections:`` search is specified (https://github.com/ansible/ansible/issues/72170)
      - Command module now returns stdout & stderr if executable is missing or an
        unknown error occurs
      - ConfigManager - Normalize ConfigParser between Python2 and Python3 to for
        handling comments (https://github.com/ansible/ansible/issues/73709)
      - Continue execution when  'flatten' filter when it hits a None/null value as
        part of the list.
      - Correct the inventory source error parse handling, specifically make the config
        INVENTORY_ANY_UNPARSED_IS_FAILED work as expected.
      - Display - Use wcswidth to calculate printable width of a text string (https://github.com/ansible/ansible/issues/63105)
      - Enabled unsafe_writes for get_url which was ignoring the paramter.
      - Ensure Ansible's unique filter preserves order (https://github.com/ansible/ansible/issues/63417)
      - Ensure if a traceback halts ``strategy.run`` that we still attempt to clean
        up (https://github.com/ansible/ansible/issues/23958)
      - Ensure password passed in by -k is used on delegated hosts that do not have
        ansible_password set
      - Ensure the correct options are used when ssh executables are used that don't
        match ssh executable names.
      - Facts collection - get serial number of NVMe device without sg_inq (https://github.com/ansible/ansible/issues/66663).
      - 'Fix --list-tasks format `role_name : task_name` when task name contains the
        role name. (https://github.com/ansible/ansible/issues/72505)'
      - Fix ``RecursionError`` when templating large vars structures (https://github.com/ansible/ansible/issues/71920)
      - 'Fix ``delegate_facts: true`` when ``ansible_python_interpreter`` is not set.
        (https://github.com/ansible/ansible/issues/70168)'
      - Fix an exit code for a non-failing playbook (https://github.com/ansible/ansible/issues/71306)
      - Fix ansible-galaxy collection list to show collections in site-packages (https://github.com/ansible/ansible/issues/70147)
      - Fix bytestring vs string comparison in module_utils.basic.is_special_selinux_path()
        so that special-cased filesystems which don't support SELinux context attributes
        still allow files to be manipulated on them. (https://github.com/ansible/ansible/issues/70244)
      - Fix execution of the meta tasks 'clear_facts', 'clear_host_errors', 'end_play',
        'end_host', and 'reset_connection' when the CLI flag '--flush-cache' is provided.
      - Fix fileglob bug where it could return different results for different order
        of parameters (https://github.com/ansible/ansible/issues/72873).
      - Fix incorrect msg in the results dict in loops
      - Fix incorrect re-run of roles with tags (https://github.com/ansible/ansible/issues/69848)
      - Fix incorrect variable scoping when using ``import with context`` in Jinja2
        templates. (https://github.com/ansible/ansible/issues/72615)
      - Fix jsonfile cache plugin option '_uri' to be a type path instead of a string.
        (https://github.com/ansible/ansible/issues/38002)
      - 'Fix notifying handlers via `role_name : handler_name` when handler name contains
        the role name. (https://github.com/ansible/ansible/issues/70582)'
      - Fix parsing of values when using empty string as a key (https://github.com/ansible/ansible/issues/57132)
      - Fix statistics reporting when rescue block contains another block (issue https://github.com/ansible/ansible/issues/61253).
      - Fix to previous deprecation change (#70504) which caused command warning deprecation
        to show in all cases, even when not specified by the user.
      - Fixed TypeError instancemethod expecting at least 2 arguments for apt_repository(issue
        https://github.com/ansible/ansible/issues/69308, PR https://github.com/ansible/ansible/pull/69463)
      - Fixed issue when `netstat` is either missing or doesn't have execution permissions
        leading to incorrect command being executed.
      - Fixes ``ansible-galaxy role info`` to support multiple roles on the command
        line (https://github.com/ansible/ansible/pull/70148)
      - Fixes ansible-test traceback when plugin author is not a string or a list
        of strings (https://github.com/ansible/ansible/pull/70507)
      - Handle more varnames that can create conflicts, expand a function in general,
        handle jinja2 globals in particular (https://github.com/ansible/ansible/issues/41955).
      - INTERPRETER_PYTHON_DISTRO_MAP - prefer ``/usr/libexec/platform-python`` on
        ``oraclelinux 8`` when other pythons are present.
      - Improve Ansible config deprecations to show the source of the deprecation
        (ansible-core). Also remove space before a comma in config deprecations (https://github.com/ansible/ansible/pull/72697).
      - Improved/fixed regular expressions in ``validate-modules/validate_modules/schema.py``
        and ``utils/collection_loader/_collection_finder.py`` (https://github.com/ansible/ansible/pull/73577).
      - Includes - Explicitly get the include task, and not assume it is the parent
        (https://github.com/ansible/ansible/issues/65710)
      - InventoryManager - Fix unhandled exception when given limit file was actually
        a directory.
      - InventoryManager - Fix unhandled exception when inventory directory was empty
        or contained empty subdirectories (https://github.com/ansible/ansible/issues/73658).
      - JSON Encoder - Ensure we treat single vault encrypted values as strings (https://github.com/ansible/ansible/issues/70784)
      - Lookup user by UID in password database if login name is not found (https://github.com/ansible/ansible/issues/17029)
      - Pass expression in angle-bracket notation as filename argument to a ``compile()``
        built-in function, so that Python debuggers do not try to parse it as filename.
      - Pass the connection's timeout to connection plugins instead of the task's
        timeout.
      - Provide more information in AnsibleUndefinedVariable (https://github.com/ansible/ansible/issues/55152)
      - Python module_utils finder - refactor logic to eliminate many corner cases,
        remove recursion, fix base module_utils redirections
      - Remove an embedded function from RoleMixin and add tests for it (https://github.com/ansible/ansible/pull/72754).
      - Remove the warning displayed when validating the arg spec of a role with dependencies
        and add it to the documentation.
      - Restore the ability for changed_when/failed_when to function with group_by
        (#70844).
      - Restored unsafe_writes functionality which was being skipped.
      - Restructured pipelining settings to be at the connection plugins leaving base
        config as global and for backwards compatiblity.
      - SSH plugin - Improve error message when ssh client is not found on the host
      - Skip invalid collection names when listing in ansible-doc instead of throwing
        exception. Issue#72257
      - Skip literal_eval for string filters results in native jinja. (https://github.com/ansible/ansible/issues/70831)
      - Stop adding the connection variables to the output results
      - Suppress warning when user directory used in --playbook-dir option with ansible-inventory
        command (https://github.com/ansible/ansible/issues/65262).
      - TOML inventory - Ensure we register dump functions for ``AnsibleUnsafe`` to
        support dumping unsafe values. Note that the TOML format has no functionality
        to mark that the data is unsafe for re-consumption. (https://github.com/ansible/ansible/issues/71307)
      - Terminal plugins - add "\e[m" to the list of ANSI sequences stripped from
        device output
      - The ``docker`` and ``k8s`` action groups / module default groups now also
        support the moved modules in `community.docker <https://galaxy.ansible.com/community/docker>`_,
        `community.kubevirt <https://github.com/ansible-collections/community.kubevirt>`_,
        `community.okd <https://galaxy.ansible.com/community/okd>`_, and `kubernetes.core
        <https://galaxy.ansible.com/kubernetes/core>`_ (https://github.com/ansible/ansible/pull/72428).
      - The ``flush()`` method of ``CachePluginAdjudicator`` now calls the plugin's
        ``flush()`` method instead of iterating over the keys that the adjudicator
        knows about and deleting those from the cache. (https://github.com/ansible/ansible/issues/68770)
      - The `ansible_become` value was not being treated as a boolean value when set
        in an INI format inventory file (fixes bug https://github.com/ansible/ansible/issues/70476).
      - The machine-readable changelog ``changelogs/changelog.yaml`` is now contained
        in the release.
      - Updated docs and added warning on max_fail_percentage and free strategy usage.
        fixes issue 16666.
      - VariableManager - Add the 'vars' key before getting delegated variables (https://github.com/ansible/ansible/issues/71092).
      - Vault - Allow single vault encrypted values to be used directly as module
        parameters. (https://github.com/ansible/ansible/issues/68275)
      - account for bug in Python 2.6 that occurs during interpreter shutdown to avoid
        stack trace
      - action plugins - change all action/module delegations to use FQ names while
        allowing overrides (https://github.com/ansible/ansible/issues/69788)
      - add AlmaLinux to fact gathering (https://github.com/ansible/ansible/pull/73458)
      - add constraints file for ``ansible_runner`` test since an update to ``psutil``
        is now causing test failures
      - add magic/connection vars updates from delegated host info.
      - add support for alpine linux 'apk' package manager in package_facts
      - allow become method 'su' to work on 'local' connection by allocating a fake
        tty.
      - ansible-console - Ctrl+C (in a task) abort current task, and put you back
        on prompt (this behavior doesn't change) (ditto)
      - ansible-console - Ctrl+C (on prompt) used to exit the shell, unlike most shells,
        it should just reset the current line (ie. abort it and spawn a new prompt)
        (https://github.com/ansible/ansible/issues/68529)
      - ansible-console - Ctrl+D (on prompt) now exit the shell, this is the expected
        behavior in a shell (cf bash, sh, zsh, ipython, ...) (ditto)
      - ansible-console - add more documentation, specifically on various commands[1]
        (https://github.com/ansible/ansible/issues/72195)
      - ansible-console - fixes few strings' typos
      - ansible-console - remove useless and poorly formatted comment section (replaced
        with [1])
      - ansible-doc - account for an empty ``meta/main.yml`` file when displaying
        role information (https://github.com/ansible/ansible/pull/73590)
      - ansible-doc - collection name for plugin top-level deprecation was not inserted
        when deprecating by version (https://github.com/ansible/ansible/pull/70344).
      - ansible-doc - improve error message in text formatter when ``description``
        is missing for a (sub-)option or a return value or its ``contains`` (https://github.com/ansible/ansible/pull/70046).
      - ansible-doc - improve man page formatting to avoid problems when YAML anchors
        are used (https://github.com/ansible/ansible/pull/70045).
      - ansible-doc - include the collection name in the text output (https://github.com/ansible/ansible/pull/70401).
      - ansible-doc - plugin option deprecations now also get ``collection_name``
        added (https://github.com/ansible/ansible/pull/71735).
      - ansible-doc - properly show plugin name when ``name:`` is used instead of
        ``<plugin_type>:`` (https://github.com/ansible/ansible/pull/71966).
      - ansible-galaxy - Cache the responses for available collection versions after
        getting all pages. (https://github.com/ansible/ansible/issues/73071)
      - ansible-galaxy - Instead of assuming the first defined server is galaxy, filter
        based on the servers that support the v1 API, and return the first of those
        (https://github.com/ansible/ansible/issues/65440)
      - ansible-galaxy - Use ``sys.exit`` instead of ``exit`` when reporting an error
        for the removed login command.
      - ansible-galaxy - correct ``collections-path`` command line argument (https://github.com/ansible/ansible/issues/73127)
      - ansible-galaxy - fixed galaxy role init command (https://github.com/ansible/ansible/issues/71977).
      - ansible-galaxy collection download - fix downloading tar.gz files and collections
        in git repositories (https://github.com/ansible/ansible/issues/70429)
      - ansible-galaxy collection install - fix fallback mechanism if the AH server
        did not have the collection requested - https://github.com/ansible/ansible/issues/70940
      - ansible-galaxy download - fix bug when downloading a collection in a SCM subdirectory
      - ansible-test - Add ``pytest < 6.0.0`` constraint for managed installations
        on Python 3.x to avoid issues with relative imports.
      - ansible-test - Always connect additional Docker containers to the network
        used by the current container (if any).
      - ansible-test - Always map ``/var/run/docker.sock`` into test containers created
        by the ``--docker`` option if the docker host is not ``localhost``.
      - ansible-test - Attempt to detect the Docker hostname instead of assuming ``localhost``.
      - ansible-test - Avoid using ``/tmp`` to resolve occasional failures starting
        tests with the ``--docker`` option.
      - ansible-test - Change classification using ``--changed`` now consistently
        handles common configuration files for supported CI providers.
      - ansible-test - Change detection now properly resolves relative imports instead
        of treating them as absolute imports.
      - ansible-test - Correctly detect changes in a GitHub pull request when running
        on Azure Pipelines.
      - ansible-test - Correctly detect running in a Docker container on Azure Pipelines.
      - ansible-test - Do not try to validate PowerShell modules ``setup.ps1``, ``slurp.ps1``,
        and ``async_status.ps1``
      - ansible-test - Prefer container IP at ``.NetworkSettings.Networks.{NetworkName}.IPAddress``
        over ``.NetworkSettings.IPAddress``.
      - ansible-test - Running tests using an installed version of ``ansible-test``
        against one Python version from another no longer fails due to a missing ``egg-info``
        directory. This could occur when testing plugins which import ``pkg_resources``.
      - ansible-test - Running tests using an installed version of ``ansible-test``
        no longer generates an error attempting to create an ``egg-info`` directory
        when an existing one is not found in the expected location. This could occur
        if the existing ``egg-info`` directory included a Python version specifier
        in the name.
      - ansible-test - Skip installing requirements if they are already installed.
      - ansible-test - Symbolic links are no longer used to inject ``python`` into
        the environment, since they do not work reliably in all cases. Instead, the
        existing Python based exec wrapper is always used.
      - ansible-test - Temporarily limit ``cryptography`` to versions before 3.4 to
        enable tests to function.
      - ansible-test - The ``--raw`` option for ``ansible-test shell --remote`` now
        uses ``sh`` for the shell instead of ``bash``, which may not be present.
      - ansible-test - The ``--remote`` option has been updated for Python 2.7 to
        work around breaking changes in the newly released ``get-pip.py`` bootstrapper.
      - ansible-test - The ``--remote`` option has been updated to use a versioned
        ``get-pip.py`` bootstrapper to avoid issues with future releases.
      - ansible-test - The ``ansible-doc`` sanity test now works for ``netconf`` plugins.
      - ansible-test - The ``changelog`` sanity test has been updated to ensure ``rstcheck``
        does not load the ``sphinx`` module.
      - ansible-test - The ``cs`` and ``openshift`` test plugins now search for containers
        on the current network instead of assuming the ``bridge`` network.
      - ansible-test - The ``resource_prefix`` variable provided to tests running
        on Azure Pipelines is now converted to lowercase to match other CI providers.
      - ansible-test - Unified SSH key management for all instances created with the
        ``--remote`` or ``--docker`` options.
      - ansible-test - Using the ``--remote`` option on Azure Pipelines now works
        from a job running in a container.
      - ansible-test - ``cryptography`` is now limited to versions prior to 3.2 only
        when an incompatible OpenSSL version (earlier than 1.1.0) is detected
      - 'ansible-test - add constraint for ``cffi`` to prevent failure on systems
        with older versions of ``gcc`` (https://foss.heptapod.net/pypy/cffi/-/issues/480)

        '
      - ansible-test - convert target paths to unicode on Python 2 to avoid ``UnicodeDecodeError``
        (https://github.com/ansible/ansible/issues/68398, https://github.com/ansible/ansible/pull/72623).
      - ansible-test - improve classification of changes to ``.gitignore``, ``COPYING``,
        ``LICENSE``, ``Makefile``, and all files ending with one of ``.in`, ``.md`,
        ``.rst``, ``.toml``, ``.txt`` in the collection root directory (https://github.com/ansible/ansible/pull/72353).
      - ansible-test - integration and unit test change detection now works for filter,
        lookup and test plugins
      - ansible-test now always uses the ``--python`` option for ``virtualenv`` to
        select the correct interpreter when creating environments with the ``--venv``
        option
      - ansible-test sanity changelog test - bump dependency on antsibull-changelog
        to 0.9.0 so that `fragments that add new plugins or objects <https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelogs.rst#adding-new-roles-playbooks-test-and-filter-plugins>`_
        will not fail validation (https://github.com/ansible/ansible/pull/73428).
      - ansible-test units - fixed collection location code to work under pytest >=
        6.0.0
      - ansible-test validate-modules - ``version_added`` on module level was not
        validated for modules in collections (https://github.com/ansible/ansible/pull/70869).
      - ansible-test validate-modules - return correct error codes ``option-invalid-version-added``
        resp. ``return-invalid-version-added`` instead of the wrong error ``deprecation-either-date-or-version``
        when an invalid value of ``version_added`` is specified for an option or a
        return value (https://github.com/ansible/ansible/pull/70869).
      - ansible-test validate-modules - when a module uses ``add_file_common_args=True``
        and does not use a keyword argument for ``argument_spec`` in ``AnsibleModule()``,
        the common file arguments were not considered added during validation (https://github.com/ansible/ansible/pull/72334).
      - ansible_pkg_mgr fact - now correctly returns ``atomic_container`` when run
        on "RHEL for Edge" images and Fedora/RHEL/CentOS Atomic Host (https://github.com/ansible/ansible/issues/73084).
      - api - time.clock is removed in Python 3.8, add backward compatible code (https://github.com/ansible/ansible/issues/70649).
      - apt - add ``fail_on_autoremove`` param to apt module to avoid unintended package
        removals (https://github.com/ansible/ansible/issues/63231)
      - apt - include exception message from apt python library in error output
      - apt_key - Specifying ``file`` as mutually exclusive with ``data``, ``keyserver``,
        ``url`` (https://github.com/ansible/ansible/pull/70492).
      - apt_repository - fixes ``mode`` doc to remove ineffective default (https://github.com/ansible/ansible/pull/70319).
      - assemble - fix decrypt argument in the module (https://github.com/ansible/ansible/issues/65450).
      - async - Fix Python 3 interpreter parsing from module by comparing with bytes
        (https://github.com/ansible/ansible/issues/70690)
      - async_wrapper - Fix race condition when ``~/.ansible_async`` folder tries
        to be created by multiple async tasks at the same time - https://github.com/ansible/ansible/issues/59306
      - avoid possible errors accessing os.environ by not assuming existance of variables.
      - basic - handle exceptions for default selectors in Python 2.7 (https://github.com/ansible/ansible/issues/71704).
      - basic - use PollSelector implementation when DefaultSelector fails (https://github.com/ansible/ansible/issues/70238).
      - bcrypt hashing - Ensure we repair the salt, to avoid warnings (https://github.com/ansible/ansible/issues/36129)
      - 'blockinfile - properly insert a block at the end of a file that does not
        have a trailing newline character (https://github.com/ansible/ansible/issues/72055)

        '
      - blockinfile now returns name of backup file when this option is used.
      - clarified changed status to reflect existing rule that had never been written
        down.
      - collection loader - fix bogus code coverage entries for synthetic packages
      - collection metadata - ensure collection loader uses libyaml/CSafeLoader to
        parse collection metadata if available
      - cron - cron file should not be empty after adding var (https://github.com/ansible/ansible/pull/71207)
      - cron - encode and decode crontab files in UTF-8 explicitly to allow non-ascii
        chars in cron filepath and job (https://github.com/ansible/ansible/issues/69492)
      - default callback - Ensure that the ``host_pinned`` strategy is not treated
        as lockstep (https://github.com/ansible/ansible/issues/73364)
      - delegate_to - Ensure that calculating ``delegate_to`` vars with a loop uses
        the correct context to correctly evaluate the loop (https://github.com/ansible/ansible/issues/37132)
      - display correct error information when an error exists in the last line of
        the file (https://github.com/ansible/ansible/issues/16456)
      - distribution - add support for Pardus Linux distribution (https://github.com/ansible/ansible/issues/71636).
      - distribution facts - Allow ``distribution_major_version`` and ``distribution_version``
        to work for RC and PRERELEASE versions of FreeBSD (and derived distributions)
        (https://github.com/ansible/ansible/issues/72331).
      - dnf - fix filtering to avoid dependncy conflicts (https://github.com/ansible/ansible/issues/72316)
      - 'dnf - it is now possible to specify both ``security: true`` and ``bugfix:
        true`` to install updates of both types. Previously, only security would get
        installed if both were true. (https://github.com/ansible/ansible/issues/70854)'
      - ensure 'local' connection always has the correct default user for actions
        to consume.
      - ensure delegated vars can resolve hostvars object and access vars from hostvars[inventory_hostname].
      - ensure find_mount_point consistently returns text.
      - ensure we don't clobber role vars data when getting an empty file
      - expect - Operate pexpect with bytes to avoid potential encoding issues (https://github.com/ansible/ansible/issues/29351)
      - facts - account for Slackware OS with ``+`` in the name (https://github.com/ansible/ansible/issues/38760)
      - facts - fix distribution fact for SLES4SAP (https://github.com/ansible/ansible/pull/71559).
      - facts - fix incorrect UTC timestamp in ``iso8601_micro`` and ``iso8601``
      - facts - properly report virtualization facts for Linux guests running on bhyve
        (https://github.com/ansible/ansible/issues/73167)
      - file - prevent link src from being rewritten when src is not specified explicitly
        (https://github.com/ansible/ansible/issues/65448)
      - file - the module should warn in check_mode when path an owner/group don't
        exist (https://github.com/ansible/ansible/issues/67307).
      - find module - Don't treat empty excludes as a match (https://github.com/ansible/ansible/issues/70640)
      - find module - Stop traversing directories past the requested depth. (https://github.com/ansible/ansible/issues/73627)
      - fix issue with inventory_hostname and delegated host vars mixing on connection
        settings.
      - fortimanager httpapi plugin - fix redirect to point to the ``fortinet.fortimanager``
        collection (https://github.com/ansible/ansible/pull/71073).
      - galaxy - handle plus sign in user token appearing in role url (https://github.com/ansible/ansible/issues/45475).
      - get_sysctl now handles multiline values and does not die silently anymore.
      - get_url - skip checksum during ``--check`` (https://github.com/ansible/ansible/issues/61369).
      - git - Only pass ``--raw`` flag to git verify commands (verify-tag, verify-commit)
        when ``gpg_whitelist`` is in use. Otherwise don't pass it so that non-whitelist
        GPG validation still works on older Git versions. (https://github.com/ansible/ansible/issues/64469)
      - gluster modules - fix redirect to point to the ``gluster.gluster`` collection
        (https://github.com/ansible/ansible/pull/71240).
      - hostname - Fixed an issue where the hostname on the alinux could not be set.
      - hostname - add Almalinux support (https://github.com/ansible/ansible/pull/73619)
      - hostname - add macOS support (https://github.com/ansible/ansible/pull/54439)
      - if the ``type`` for a module parameter in the argument spec is callable, do
        not pass ``kwargs`` to avoid errors (https://github.com/ansible/ansible/issues/70017)
      - import_playbook - change warning about extra parameters to deprecation (https://github.com/ansible/ansible/issues/72745)
      - improve deprecation message when using bare variable (https://github.com/ansible/ansible/pull/70687)
      - inventory - pass the vars dictionary to combine_vars instead of an individual
        key's value (https://github.com/ansible/ansible/issues/72975).
      - inventory plugins - Let plugins define the sanitization method for the constructed
        ``groups`` feature.
      - inventory_hostnames - Use ``InventoryManager`` instead of trying to replicate
        its behavior (https://github.com/ansible/ansible/issues/17268)
      - is_string/vault - Ensure the is_string helper properly identifies AnsibleVaultEncryptedUnicode
        as a string (https://github.com/ansible/ansible/pull/71609)
      - lineinfile - fix not subscriptable error in exception handling around file
        creation
      - linux network facts - get the correct value for broadcast address (https://github.com/ansible/ansible/issues/64384)
      - native jinja2 types - properly handle Undefined in nested data.
      - package - use list of built in package managers from facts rather than creating
        a new list
      - paramiko connection plugin - Ensure we only reset the connection when one
        has been previously established (https://github.com/ansible/ansible/issues/65812)
      - password hashing - Ensure we validate salts against allowed characters and
        length when using ``crypt`` (https://github.com/ansible/ansible/issues/71107)
      - password lookup - Try to automatically generate salts using known salt sizes
        (https://github.com/ansible/ansible/issues/53750)
      - 'pause - Fix indefinite hang when using a pause task on a background process
        (https://github.com/ansible/ansible/issues/32142)

        '
      - pause - catch additional error on setting up curses (https://github.com/ansible/ansible/pull/73588).
      - pause - do not warn when running in the background if a timeout is provided
        (https://github.com/ansible/ansible/issues/73042)
      - pause - handle exception when there is no stdout (https://github.com/ansible/ansible/pull/47851)
      - powershell - fix escaping of strings that broken modules like fetch when dealing
        with special chars - https://github.com/ansible/ansible/issues/62781
      - powershell - fix the CLIXML parser when it contains nested CLIXML objects
        - https://github.com/ansible/ansible/issues/69550
      - powershell - remove getting the PowerShell version from the env var ``POWERSHELL_VERSION``.
        This feature never worked properly and can cause conflicts with other libraries
        that use this var
      - psrp - Fix hang when copying an empty file to the remote target
      - psrp - Use native PSRP mechanism when copying files to support custom endpoints
      - quote filter - normalize how ``None`` is handled, to match Python3 behavior
        (https://github.com/ansible/ansible/issues/32174)
      - reboot - Add support for the runit init system, used on Void Linux, that does
        not support the normal Linux syntax.
      - remove contradictory recomendation from template docs. https://github.com/ansible/ansible/issues/63484
      - remove redundant remote_user setting in play_context for local as plugin already
        does it, also removes fork/thread issue from use of pwd library.
      - reset logging level to INFO due to CVE-2019-14846.
      - runas - create a new token when running as ``SYSTEM`` to ensure it has the
        full privileges assigned to that account
      - service - Fix for the BSD rcconf code using a Python 2 specific string replace
        function
      - 'set_mode_if_different - handle symlink if it is inside a directory with sticky
        bit set (https://github.com/ansible/ansible/pull/45198)

        '
      - several fixes to make apt_key better at identifying needs for change and also
        to avoid changes in check_mode.
      - shell - fix quoting of mkdir command in creation of remote_tmp in order to
        allow spaces and other special characters (https://github.com/ansible/ansible/issues/69577).
      - splunk httpapi plugin - switch from splunk.enterprise_security to splunk.es
        in runtime.yml to reflect upstream change of Collection Name
      - 'ssh connection plugin - use ``get_option()`` rather than ``_play_context``
        to ensure ``ANSBILE_SSH_ARGS`` are applied properly (https://github.com/ansible/ansible/issues/70437)

        '
      - stat - handle colons in filename while parsing the mimetype output (https://github.com/ansible/ansible/issues/70256).
      - strftime filter - Input epoch is allowed to be a float (https://github.com/ansible/ansible/issues/71257)
      - 'systemd - account for templated unit files using ``@`` when searching for
        the unit file (https://github.com/ansible/ansible/pull/72347#issuecomment-730626228)

        '
      - systemd - fixed chroot usage on new versions of systemd, that broke because
        of upstream changes in systemctl output
      - 'systemd - follow up fix to https://github.com/ansible/ansible/issues/72338
        to use ``list-unit-files`` rather than ``list-units`` in order to show all
        units files on the system.

        '
      - systemd - made the systemd module work correctly when the SYSTEMD_OFFLINE
        environment variable is set
      - 'systemd - preserve the full unit name when using a templated service and
        ``systemd`` failed to parse dbus due to a known bug in ``systemd`` (https://github.com/ansible/ansible/pull/72985)

        '
      - 'systemd - work around bug with ``systemd`` 245 and 5.8 kernel that does not
        correctly report service state (https://github.com/ansible/ansible/issues/71528)

        '
      - 'task parsing - strip spaces from action name when using ``action: foo bar=baz``
        form. (https://github.com/ansible/ansible/issues/62136)'
      - templating - fix error message for ``x in y`` when y is undefined (https://github.com/ansible/ansible/issues/70984)
      - the unvault lookup plugin returned a byte string. Now returns a real string.
      - to_text(stdout) before json.loads in psrp.Connection.put_file in case stdout
        is bytes
      - unarchive - ``zip`` unarchive no longer errors on RHEL/CentOS 6 and old Fedora
        when attempting to use a numeric gid (https://github.com/ansible/ansible/issues/71903).
      - unarchive - check ``fut_gid`` against ``run_gid`` in addition to supplemental
        groups (https://github.com/ansible/ansible/issues/49284)
      - undeprecate hash_merge setting and add more docs clarifying its use and why
        not to use it.
      - uri - ``status_code`` elements are type ``int``
      - url lookup - make sure that options supplied in ansible.cfg are actually used
        (https://github.com/ansible/ansible/pull/71736).
      - url lookup - set default user agent to ``ansible-httpget`` (https://github.com/ansible/ansible/pull/72324)
      - urls - Close filedescriptor of certificate chain tempfile to prevent stale
        filedescriptor leakage (https://github.com/ansible/ansible/pull/71825).
      - 'user - AnsibleModule.run_command returns a tuple of return code, stdout and
        stderr. The module main function of the user module expects user.create_user
        to return a tuple of return code, stdout and stderr. Fix the locations where
        stdout and stderr got reversed.

        '
      - 'user - Local users with an expiry date cannot be created as the ``luseradd``
        / ``lusermod`` commands do not support the ``-e`` option. Set the expiry time
        in this case via ``lchage`` after the user was created / modified. (https://github.com/ansible/ansible/issues/71942)

        '
      - 'user - do the right thing when ``password_lock=True`` and ``password`` are
        used together (https://github.com/ansible/ansible/issues/72992)

        '
      - user - don't create home directory and missing parents when create_home ==
        false (https://github.com/ansible/ansible/pull/70600).
      - validate-modules - do not raise an ``AttributeError`` if a value is assigned
        to a module attribute in a try/except block.
      - vault - Support reading raw binary data from stdin under python3
      - virtual facts - kubevirt is now identified as "KubeVirt" and with a "guest"
        role instead of "kvm" and "host" role (https://github.com/ansible/ansible/issues/72001).
      - wait_for - catch and ignore errors when getting active connections with psutil
        (https://github.com/ansible/ansible/issues/72322)
      - win setup - Fix redirection path for the windows setup module
      - windows async - use full path when calling PowerShell to reduce reliance on
        environment vars being correct - https://github.com/ansible/ansible/issues/70655
      - winrm - preserve winrm forensic data on put_file failures
      - yamllint - do not raise an ``AttributeError`` if a value is assigned to a
        module attribute at the top of the module.
      deprecated_features:
      - Starting in 2.14, shell and command modules will no longer have the option
        to warn and suggest modules in lieu of commands. The ``warn`` parameter to
        these modules is now deprecated and defaults to ``False``. Similarly, the
        ``COMMAND_WARNINGS`` configuration option is also deprecated and defaults
        to ``False``. These will be removed and their presence will become an error
        in 2.14.
      - apt_key - the parameter ``key`` does not have any effect, has been deprecated
        and will be removed in ansible-core version 2.14 (https://github.com/ansible/ansible/pull/70319).
      - psrp - Set the minimum version of ``pypsrp`` to ``0.4.0``.
      known_issues:
      - ansible-test - The ``pylint`` sanity test no longer correctly detects "bad"
        variable names for non-constants. See https://github.com/PyCQA/pylint/issues/3701
        for additional details.
      major_changes:
      - A collection can be reinstalled with new version requirements without using
        the ``--force`` flag. The collection's dependencies will also be updated if
        necessary with the new requirements. Use ``--upgrade`` to force transitive
        dependency updates.
      - 'Declared ``resolvelib >= 0.5.3, < 0.6.0`` a direct dependency of

        ansible-core. Refs:

        - https://github.com/sarugaku/resolvelib

        - https://pypi.org/p/resolvelib

        - https://pradyunsg.me/blog/2020/03/27/pip-resolver-testing

        '
      - It became possible to install Ansible Collections from local folders and namespaces
        folder similar to SCM structure with multiple collections.
      - It became possible to upgrade Ansible collections from Galaxy servers using
        the ``--upgrade`` option with ``ansible-galaxy collection install``.
      - Support for role argument specification validation at role execution time.
        When a role contains an argument spec, an implicit validation task is inserted
        at the start of role execution.
      - add ``ArgumentSpecValidator`` class for validating parameters against an argument
        spec outside of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/73335)
      minor_changes:
      - Add ``--format`` CLI option to ``ansible-galaxy collection list`` which allows
        for ``human`` (default), ``yaml``, or ``json``. (https://github.com/ansible/ansible/pull/73474)
      - Add an example for using var in with_sequence (https://github.com/ansible/ansible/issues/68836).
      - Add new rolespec_validate option to the import/include_role modules do allow
        disabling of the implicit role arg validation task on a per-role basis.
      - Add option to pass extra vars to ansible-inventory
      - Add path of collection location in Ansible CLI version info.
      - Add standard Python 2/3 compatibility boilerplate to setup script, module_utils
        and docs_fragments which were missing them.
      - Add support for `argument_specs` data in role metadata.
      - Add support for datetime.date object type in module result (https://github.com/ansible/ansible/issues/70583).
      - Add which conditional is being evaluated at each step when debugging.
      - Add yum/dnf version comparison documentation for package install
      - Added NO_COLOR environment var to ansible color configuration, allowing it
        to integrate with existing convention.
      - Added name of aliases in user error (https://github.com/ansible/ansible/issues/58752).
      - Added support for GSSAPI/Kerberos authentication with ``urls.py`` that is
        used by ``uri`` and ``get_url``.
      - Added support for specify custom credentials for GSSAPI authentication.
      - Allow an attribute to be passed to the min and max filters with Jinja 2.10+
      - Allow for the skipped filter to be used on a registered looped task results.
        (https://github.com/ansible/ansible/issues/16949)
      - Allow inventory plugins access to extra vars by default
      - Allow unsafe_writes to be set on target via env var, for those targets that
        need a blanket setting.
      - Also added extra vars cli option to console CLI.
      - AnsiballZ - Improve performance of ``ModuleDepFinder`` by using faster lookups
        and reducing the object types that are walked while looking for ``import``
        statements. (https://github.com/ansible/ansible/pull/70475)
      - CLI - Specify jinja version in ``--version`` output
      - CLI - Specify whether PyYAML includes libyaml support in version output
      - CLI version displays clarified as core version
      - 'Collection routing: Cisco NSO content from community.network migrated to
        cisco.nso (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: DellEMC content from community.general migrated to dellemc.openmanage
        (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: FortiOS content from community.network migrated to community.fortios
        (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: Google content from community.general migrated to community.google
        (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: Hashi Vault content from community.general migrated to
        community.hashi_vault (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: Hetzner Robot content from community.general migrated
        to community.hrobot (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: KubeVirt content from community.general migrated to community.kubevirt
        (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: OC content from community.general migrated to community.okd
        (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: PostgreSQL content from community.general migrated to
        community.postgresql (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: RouterOS content from community.network migrated to community.routeros
        (https://github.com/ansible/ansible/pull/73046).'
      - 'Collection routing: docker content from community.general migrated to community.docker
        (https://github.com/ansible/ansible/pull/73046).'
      - Controller - Add warning for Ansible 2.11 when running a Python version older
        than Python 3.8 to inform users that 2.12 will only support Python 3.8 and
        newer on the controller. Starting with Ansible 2.11, the project will only
        be packaged for Python 3.8 and newer.
      - Discourage the use of 'hexdigits' in password lookup, as it distorts expected
        entropy.
      - Enable extra vars for inventory plugin options
      - Errors - Ensure that errors passed with ``orig_exc`` include the context of
        that exception (https://github.com/ansible/ansible/issues/68605)
      - Filters - Add new ``split`` filter for splitting strings
      - Fixed ansible-doc to not substitute for words followed by parenthesis.  For
        instance, ``IBM(International Business Machines)`` will no longer be substituted
        with a link to a non-existent module. https://github.com/ansible/ansible/pull/71070
      - Force the template module to use non-native Jinja2 (https://github.com/ansible/ansible/issues/46169)
      - Internal config entries will not be documented, to mark an entry as internal
        it must start with `_`.
      - Interpreter Discovery - Add Python 3.8 and Python 3.9 to the fallback list
      - Minor code cleanup in plugin loader.
      - Module API - libselinux-python is no longer required for basic module API
        selinux operations (affects core modules assemble, blockinfile, copy, cron,
        file, get_url, lineinfile, setup, replace, unarchive, uri, user, yum_repository)
      - Module API - new module_respawn API allows modules that need to run under
        a specific Python interpreter to respawn in place under that interpreter
      - Module iptables multiport destination support added (https://github.com/ansible/ansible/pull/72928)
      - Module iptables set/ipset support added (https://github.com/ansible/ansible/pull/72984)
      - New 'timeout' feature added to adhoc and console CLIs, corresponding to the
        recent 'timeout' task keyword.
      - New virtualization facts, ``virtualization_tech_guest`` and ``virtualization_tech_host``
        now allow for conveying when a system is a host or guest of multiple virtualization
        technologies.
      - Now 'choices' keyword in config definitions also restricts valid values for
        the entry.
      - Refactored ``ansible-galaxy collection [download|install|list|verify]`` CLI
        subcommands with the public interface kept intact.
      - Restructured _fixup_perms2() in ansible.plugins.action to make it more linear
      - Shadow prompt input to ansible-vault encrypt-string unless the ``--show-input``
        flag is set
      - Switch to hashlib.sha256() for ansible-test to allow for FIPs mode.
      - TOML inventory plugin is no longer in preview status
      - Templar - reduce the complexity of ``Templar._lookup`` (https://github.com/ansible/ansible/pull/73277)
      - The ``csvfile`` lookup plugin now uses ``parse_kv()`` internally. As a result,
        multi-word search keys can now be passed.
      - The ``csvfile`` lookup plugin's documentation has been fixed; it erroneously
        said that the delimiter could be ``t`` which was never true. We now accept
        ``\t``, however, and the error in the documentation has been fixed to note
        that.
      - The constructed inventory plugin has new option to force using vars plugins
        on previouslly processed inventory sources.
      - The find module is now more specific about the reasons it skips candidate
        files.
      - The logging functionality in module_utils.basic now returns a nicer error
        when it falls back to syslog but ends up getting a TypeError thrown back.
      - The new dependency resolver prefers ``MANIFEST.json`` over ``galaxy.yml``
        if it exists in the target directory.
      - The plugin loader now keeps track of the collection where a plugin was resolved
        to, in particular whether the plugin was loaded from ansible-core's internal
        paths (``ansible.builtin``) or from user-supplied paths (no collection name).
      - Toggle allowing usage of extra_vars in compose
      - When connecting as an unprivileged user, and becoming an unprivileged user,
        we now fall back to also trying ``chmod +a`` which works on macOS and makes
        use of ACLs.
      - allow tree callback plugin to be configurable, for use with playbooks.
      - ansible-doc - In Windows setup steps, ``ExecutionPolicy`` should be restored
        to default value ``RemoteSigned`` (https://github.com/ansible/ansible/pull/72993).
      - ansible-doc - provide ``has_action`` field in JSON output for modules. That
        information is currently only available in the text view (https://github.com/ansible/ansible/pull/72359).
      - ansible-doc has new option to show keyword documentation.
      - ansible-doc will now format, ``L()``, ``R()``, and ``HORIZONTALLINE`` in plugin
        docs just as the website docs do.  https://github.com/ansible/ansible/pull/71070
      - ansible-galaxy - Add installation successful message
      - ansible-galaxy - Added caching mechanisms when retrieving collection info
        to speed up installs and downloads
      - ansible-galaxy - Change the output verbosity level of the download message
        from 3 to 0 (https://github.com/ansible/ansible/issues/70010)
      - ansible-galaxy - Ensure ``get_collection_versions`` returns an empty list
        when a collection does not exist for consistency across API versions.
      - 'ansible-galaxy - find any collection dependencies in the globally configured
        Galaxy servers and not just the server the parent collection is from.

        '
      - ansible-test - A warning is no longer emitted when a ``pip*`` or ``python*``
        binary is found without a matching couterpart.
      - ansible-test - Add ``macos/10.15`` as a supported value for the ``--remote``
        option.
      - ansible-test - Add a ``--docker-network`` option to choose the network for
        running containers when using the ``--docker`` option.
      - ansible-test - Add support for running tests on Fedora 33 (https://github.com/ansible/ansible/pull/72861).
      - ansible-test - Added Ubuntu 20.04 LTS image to the default completion list
      - ansible-test - Added a ``--export`` option to the ``ansible-test coverage
        combine`` command to facilitate multi-stage aggregation of coverage in CI
        pipelines.
      - ansible-test - Added the ``-remote rhel/7.9`` option to run tests on RHEL
        7.9
      - ansible-test - Allow custom ``--remote-stage`` options for development and
        testing.
      - ansible-test - CentOS 8 container is now 8.2.2004 (https://github.com/ansible/distro-test-containers/pull/45).
      - ansible-test - Changed the internal name of the custom plugin used to identify
        use of unwanted imports and functions.
      - ansible-test - Cleaned up code to resolve warnings and errors reported by
        PyCharm.
      - ansible-test - Code cleanup in the ``import`` sanity test.
      - ansible-test - Code cleanup in the internal logic for code coverage collection
        of PowerShell modules.
      - ansible-test - Collections can now specify pip constraints for unit and integration
        test requirements using ``tests/unit/constraints.txt`` and ``tests/integration/constraints.txt``
        respectively.
      - ansible-test - Containers used with the ``--remote`` option have been updated
        to version 1.29.0 to include the latest Ansible requirements.
      - ansible-test - Files used to track remote instances no longer have a region
        suffix.
      - ansible-test - Fix ``ansible-test coverage`` reporting sub-commands (``report``,
        ``html``, ``xml``) on Python 2.6.
      - ansible-test - Fix container hostname/IP discovery for the ``acme`` test plugin.
      - ansible-test - FreeBSD 11.4 and 12.2 provisioning can now be used with the
        ``--python 3.8`` option.
      - ansible-test - FreeBSD instances provisioned with ``--remote`` now make ``libyaml``
        available for use with PyYAML installation.
      - ansible-test - Generation of an ``egg-info`` directory, if needed, is now
        done after installing test dependencies and before running tests. When running
        from an installed version of ``ansible-test`` a temporary directory is used
        to avoid permissions issues. Previously it was done before installing test
        dependencies and adjacent to the installed directory.
      - ansible-test - Implemented CloudStack test container selection by ENV variable
        `ANSIBLE_CLOUDSTACK_CONTAINER` with a default to `quay.io/ansible/cloudstack-test-container:1.4.0`.
      - ansible-test - Improved handling of minimum Python version requirements for
        sanity tests. Supported versions are now included in warning messages displayed
        when tests are skipped.
      - ansible-test - More sanity test requirements have been pinned to specific
        versions to provide consistent test results.
      - ansible-test - Most sanity test specific ``pip`` constraints are now used
        only when running sanity tests. This should reduce conflicts with ``pip``
        requirements and constraints when testing collections.
      - ansible-test - Most sanity tests are now skipped on Python 3.5 and earlier
        with a warning. Previously this was done for Python 2.7 and earlier.
      - ansible-test - Now supports freebsd/11.4 remote (https://github.com/ansible/ansible/issues/48782).
      - ansible-test - Now supports freebsd/12.2 remote (https://github.com/ansible/ansible/issues/72366).
      - ansible-test - OpenSuse container now uses Leap 15.2 (https://github.com/ansible/distro-test-containers/pull/48).
      - ansible-test - Pin the ``virtualenv`` version used for ``--remote`` pip installs
        to the latest version supported by Python 2.x, which is version 16.7.10.
      - ansible-test - Provisioning of RHEL instances now includes installation of
        pinned versions of ``packaging`` and ``pyparsing`` to match the downstream
        vendored versions.
      - ansible-test - RHEL 8.2+ provisioning can now be used with the ``--python
        3.8`` option, taking advantage of the Python 3.8 AppStream.
      - ansible-test - Raise the number of bytes scanned by ansible-test to determine
        if a file is binary to 4096.
      - ansible-test - Refactor code for installing ``cryptography`` to allow re-use
        in the future.
      - ansible-test - Refactor code to remove unused logic for obsolete support of
        multiple provisioning endpoints.
      - ansible-test - Remove ``pytest < 6.0.0`` constraint for managed installations
        on Python 3.x now that pytest 6 is supported.
      - ansible-test - Remove em dash from the Pytest configuration file in order
        to be readable on systems where preferred encoding is ASCII. (https://github.com/ansible/ansible/issues/71739)
      - 'ansible-test - Remove outdated ``--docker`` completion entries: fedora30,
        fedora31, ubuntu1604'
      - 'ansible-test - Remove outdated ``--remote`` completion entries: freebsd/11.1,
        freebsd/12.1, osx/10.11, macos/10.15, rhel/7.6, rhel/7.8, rhel/8.1, rhel/8.2'
      - 'ansible-test - Remove outdated ``--windows`` completion entries: 2008, 2008-R2'
      - ansible-test - Remove the discontinued ``us-east-2`` choice from the ``--remote-aws-region``
        option.
      - 'ansible-test - Remove unused ``--remote`` completion entry: power/centos/7'
      - ansible-test - Removed ``pip`` constraints related to integration tests that
        have been moved to collections. This should reduce conflicts with ``pip``
        requirements and constraints when testing collections.
      - ansible-test - Removed the obsolete ``--remote-aws-region`` provisioning option.
      - ansible-test - Removed the obsolete ``tower`` test plugin for testing Tower
        modules.
      - ansible-test - Removed unused provisioning code and cleaned up remote provider
        management logic.
      - ansible-test - Rename internal functions to match associated constant names
        that were previously updated.
      - ansible-test - Reorganize internal ``pylint`` configuration files for easier
        comparison and maintenance.
      - ansible-test - Report the correct line number in the ``yamllint`` sanity test
        when reporting ``libyaml`` parse errors in module documentation.
      - ansible-test - Request remote resources by provider name for all provider
        types.
      - ansible-test - Show a warning when the obsolete ``--remote-aws-region`` option
        is used.
      - ansible-test - Silence ``pip`` warnings about Python 3.5 being EOL when installing
        requirements.
      - ansible-test - Support custom remote endpoints with the ``--remote-endpoint``
        option.
      - ansible-test - The ``--remote`` option no longer pre-installs the ``virtualenv``
        module on Python 3.x instances. The Python built-in ``venv`` module should
        be used instead.
      - ansible-test - The ``default`` container for both collections and core have
        been updated to versions 2.11.0 and 1.9.0 respectively.
      - ansible-test - The ``pylint`` sanity test is now skipped with a warning on
        Python 3.9 due to unresolved upstream regressions.
      - ansible-test - The ``pylint`` sanity test is now supported on Python 3.8.
      - ansible-test - The ``rstcheck`` sanity test is no longer used for collections,
        but continues to be used for ansible-core.
      - ansible-test - Ubuntu containers as well as ``default-test-container`` and
        ``ansible-base-test-container`` are now slightly smaller due to apt cleanup
        (https://github.com/ansible/distro-test-containers/pull/46).
      - ansible-test - Update ``pylint`` and its dependencies to the latest available
        versions to support Python 3.9.
      - ansible-test - Update built-in service endpoints for the ``--remote`` option.
      - ansible-test - Updated the default test containers to version 3.1.0.
      - ansible-test - Upgrade ansible-runner version used in compatibility tests,
        remove some tasks that were only needed with older versions, and skip in python2
        because ansible-runner is soon dropping it.
      - ansible-test - Use new endpoint for Parallels based instances with the ``--remote``
        option.
      - ansible-test - ``default-test-container`` and ``ansible-base-test-container``
        now use Python 3.9.0 instead of 3.9.0rc1.
      - ansible-test - add https endpoint for ansible-test
      - ansible-test - add macOS 11.1 as a remote target (https://github.com/ansible/ansible/pull/72622)
      - ansible-test - add the collection plugin directories ``plugin_utils`` and
        ``sub_plugins`` to list of plugin types. This ensures such plugins are tested
        for the ``import`` sanity test (https://github.com/ansible/ansible/pull/73599).
      - ansible-test - centos6 end of life - container image updated to point to vault
        base repository (https://github.com/ansible/distro-test-containers/pull/54)
      - ansible-test - centos6 image now has multiple fallback yum repositories for
        CentOS Vault.
      - ansible-test - default container now uses default-test-container 2.7.0 and
        ansible-base-test-container 1.6.0. This brings in Python 3.9.0rc1 for testing.
      - ansible-test - now makes a better attempt to support podman when calling ``docker
        images`` and asking for JSON format.
      - ansible-test - python-cryptography is now bounded at <3.2, as 3.2 drops support
        for OpenSSL 1.0.2 upon which some of our CI infrastructure still depends.
      - ansible-test - remote macOS instances no longer install ``virtualenv`` during
        provisioning
      - ansible-test - the ACME test container was updated, it now supports external
        account creation and has a basic OCSP responder (https://github.com/ansible/ansible/pull/71097,
        https://github.com/ansible/acme-test-container/releases/tag/2.0.0).
      - ansible-test - the ``import`` sanity test now also tries to import all non-module
        and non-module_utils Python files in ``lib/ansible/`` resp. ``plugins/`` (https://github.com/ansible/ansible/pull/72497).
      - ansible-test - virtualenv helper scripts now prefer ``venv`` on Python 3 over
        ``virtualenv``
      - ansible-test Now supports RHEL 8.3
      - ansible-test pylint - ensure that removal collection version numbers conform
        to the semantic versioning specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679).
      - ansible-test pylint sanity test - stop ignoring ``used-before-assignment``
        errors (https://github.com/ansible/ansible/pull/73639).
      - ansible-test runtime-metadata - compare deprecation and tombstone versions
        to the current version to ensure that they are correct (https://github.com/ansible/ansible/pull/72625).
      - ansible-test runtime-metadata - ensure that removal collection version numbers
        conform to the semantic versioning specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679).
      - ansible-test runtime-metadata - ensure that the tombstone removal date is
        not in the future (https://github.com/ansible/ansible/pull/72625).
      - ansible-test runtime-metadata - validate removal version numbers, and check
        removal dates more strictly (https://github.com/ansible/ansible/pull/71679).
      - ansible-test validate-modules - ensure that removal collection version numbers
        and version_added collection version numbers conform to the semantic versioning
        specification at https://semver.org/ (https://github.com/ansible/ansible/pull/71679).
      - ansible-test validate-modules - no longer assume that ``default`` for ``type=bool``
        options is ``false``, as the default is ``none`` and for some modules, ``none``
        and ``false`` mean different things (https://github.com/ansible/ansible/issues/69561).
      - ansible-test validate-modules - validate removal version numbers (https://github.com/ansible/ansible/pull/71679).
      - ansible.utils.encrypt now returns `AnsibleError` instead of crypt.crypt's
        `OSError` on Python 3.9
      - apt - module now works under any supported Python interpreter
      - apt_repository - module now works under any supported Python interpreter
      - callback plugins - ``meta`` tasks now get sent to ``v2_playbook_on_task_start``.
        Explicit tasks are always sent. Plugins can opt in to receiving implicit ones.
      - callbacks - Add feature allowing forks to send callback events (https://github.com/ansible/ansible/issues/14681)
      - conditionals - change the default of CONDITIONAL_BARE_VARS to False (https://github.com/ansible/ansible/issues/70682).
      - 'config - more types are now automatically coerced to string when ``type:
        str`` is used and the value is parsed as a different type'
      - constructed - Add a toggle to allow the separator to be omitted if no prefix
        has been provided.
      - constructed inventory plugin - Sanitize group names created from the ``groups``
        option silently.
      - create ``get_type_validator`` standalone function and move that functionality
        out of ``AnsibleModule`` (https://github.com/ansible/ansible/pull/72667)
      - create ``get_unsupported_parameters`` validation function (https://github.com/ansible/ansible/pull/72447/files)
      - debconf - add a note about no_log=True since module might expose sensitive
        information to logs (https://github.com/ansible/ansible/issues/32386).
      - default callback - add ``show_task_path_on_failure`` option to display file
        and line number of tasks only on failed tasks when running at normal verbosity
        level (https://github.com/ansible/ansible/issues/64625)
      - default callback - task name is now shown for ``include_tasks`` when using
        the ``free`` strategy (https://github.com/ansible/ansible/issues/71277).
      - default callback - task name is now shown for ``include_tasks`` when using
        the ``linear`` strategy with ``ANSIBLE_DISPLAY_SKIPPED_HOSTS=0``.
      - default_callback - moving 'check_mode_markers' documentation in default_callback
        doc_fragment (https://github.com/ansible-collections/community.general/issues/565).
      - distribution - add support for DragonFly distribution (https://github.com/ansible/ansible/issues/43739).
      - distribution - added distribution fact and hostname support for Parrot OS
        (https://github.com/ansible/ansible/pull/69158).
      - distribution - handle NetBSD OS Family (https://github.com/ansible/ansible/issues/43739).
      - distribution facts - ``distribution_release`` is now ``"Stream"`` on CentOS
        Stream (https://github.com/ansible/ansible/issues/73027).
      - dnf - Add nobest option (https://github.com/ansible/ansible/issues/69983)
      - 'dnf - When ``state: absent``, package names are now matched similarly to
        how the ``dnf`` CLI matches them (https://github.com/ansible/ansible/issues/72809).'
      - dnf - module now works under any supported Python interpreter
      - dnf - now shows specific package changes (installations/removals) under ``results``
        in check_mode. (https://github.com/ansible/ansible/issues/66132)
      - facts - ``/dev/kvm`` is now consulted in Linux virtualization facts, and the
        host is considered a KVM host if this file exists and none of the pre-existing
        checks matched.
      - facts - add new fact ``date_time['tz_dst']``, which returns the daylight saving
        timezone (https://github.com/ansible/ansible/issues/69004).
      - facts - add uptime to openbsd
      - find module - Now has a ``read_whole_file`` boolean parameter which allows
        for reading the whole file and doing an ``re.search()`` regex evaluation on
        it when searching using the ``contains`` option. This allows (for example)
        for ensuring the very end of the file matches a pattern.
      - galaxy - add documentation about galaxy parameters in examples/ansible.cfg
        (https://github.com/ansible/ansible/issues/68402).
      - galaxy - handle token as dict while loading from yaml file (https://github.com/ansible/ansible/issues/70887).
      - get_url - allow checksum urls to point to file:// resources, moving scheme
        test to function
      - get_url - handle same SHA sum for checksum file (https://github.com/ansible/ansible/issues/71420).
      - git - add ``single_branch`` parameter (https://github.com/ansible/ansible/pull/28465)
      - hash filter - fail when unsupported hash type is passed as an argument (https://github.com/ansible/ansible/issues/70258)
      - inventory cache - do not show a warning when the cache file does not (yet)
        exist.
      - iptables - add a note about ipv6-icmp in protocol parameter (https://github.com/ansible/ansible/issues/70905).
      - iptables - fixed get_chain_policy API (https://github.com/ansible/ansible/issues/68612).
      - iptables - reorder comment postition to be at the end (https://github.com/ansible/ansible/issues/71444).
      - lineinfile - add search_string parameter for non-regexp searching (https://github.com/ansible/ansible/issues/70470)
      - linux facts - Add additional check to ensure 'container' virtual fact gets
        added to guest_tech when appropriate (https://github.com/ansible/ansible/pull/71385)
      - meta - now include a ``skip_reason`` when skipped (https://github.com/ansible/ansible/pull/71355).
      - module_utils - ``get_file_attributes()`` now takes an optional ``include_version``
        boolean parameter. When ``True`` (default), the file's version/generation
        number is included in the result (but requires ``lsattr -v`` to work on the
        target platform).
      - now !unsafe works on all types of data, not just strings, even recursively
        for mappings and sequences.
      - package_facts - module support for apt and rpm now works under any supported
        Python interpreter
      - pipe lookup - update docs for Popen with shell=True usages (https://github.com/ansible/ansible/issues/70159).
      - plugin examples - Allow non-YAML examples, so that examples for plugins like
        the INI and TOML inventory plugins can be directly represented (https://github.com/ansible/ansible/pull/71184)
      - plugin option validation - now the option type ``dict``/``dictionary`` is
        also validated by the config manager (https://github.com/ansible/ansible/pull/71928).
      - 'reboot - add ``reboot_command`` parameter to allow specifying the command
        used to reboot the system (https://github.com/ansible/ansible/issues/51359)

        '
      - remove ``excommunicate`` debug command from AnsiballZ
      - selinux - return selinux_getpolicytype facts correctly.
      - service_facts - return service state information on AIX.
      - setup - allow list of filters (https://github.com/ansible/ansible/pull/68551).
      - setup.py - Declare that Python 3.9 is now supported (https://github.com/ansible/ansible/pull/72861).
      - setup.py - Skip doing conflict checks for ``sdist`` and ``egg_info`` commands
        (https://github.com/ansible/ansible/pull/71310)
      - subelements - clarify the lookup plugin documentation for parameter handling
        (https://github.com/ansible/ansible/issues/38182).
      - subversion - ``validate_certs`` option, which, when true, will avoid passing
        ``--trust-server-cert`` to ``svn`` commands (https://github.com/ansible/ansible/issues/22599).
      - unarchive - Add support for .tar.zst (zstd compression) (https://github.com/ansible/ansible/pull/73265).
      - unarchive - add ``RETURN`` documentation (https://github.com/ansible/ansible/issues/67445).
      - 'unarchive - add ``include`` parameter to allow extracting specific files
        from an archive (https://github.com/ansible/ansible/pull/40522)

        '
      - update sphinx to 2.1.2 and rstcheck to 3.3.1 for building documentation.
      - uri - add ``ca_path`` argument to allow specification of a CA certificate
        (https://github.com/ansible/ansible/pull/71979).
      - user - add new parameters ``password_expire_max`` and ``password_expire_min``
        for controlling password expiration (https://github.com/ansible/ansible/issues/68775)
      - varnames lookup plugin - Fixed grammar error in exception message when the
        plugin is given a non-string term.
      - vault - Provide better error for single value encrypted values to indicate
        the file, line, and column of the errant vault (https://github.com/ansible/ansible/issues/72276)
      - version test - Add semantic version functionality
      - virtual facts - containerd cgroup is now recognized as container tech (https://github.com/ansible/ansible/issues/66304).
      - virtualization facts - Detect ``vdsmd`` in addition to ``vdsm`` when trying
        to detect RHEV hosts. (https://github.com/ansible/ansible/issues/66147)
      - winrm - Added ``ansible_winrm_kinit_args`` that can be used to control the
        args that are sent to the ``kinit`` call for Kerberos authentication.
      - yum - module now works under any supported Python interpreter
      - yum_repository - added boolean option module_hotfixes which allows to enable
        functionality for dnf.
      release_summary: '| Release Date: 2021-03-02

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
      removed_features:
      - Removed `SharedPluginLoaderObj` class from ansible.plugins.strategy. It was
        deprecated in favor of using the standard plugin loader.
      - Removed `_get_item()` alias from callback plugin base class which had been
        deprecated in favor of `_get_item_label()`.
      - The "user" parameter was previously deprecated and is now removed in favor
        of "scope"
      - The deprecated ``ansible.constants.BECOME_METHODS`` has been removed.
      - The deprecated ``ansible.constants.get_config()`` has been removed.
      - The deprecated ``ansible.constants.mk_boolean()`` has been removed.
      - '`with_*` loops are no longer optimized for modules whose `name` parameters
        can take lists (mostly package managers). Use `name` instead of looping over
        individual names with `with_items` and friends.'
      security_fixes:
      - '**security issue** - Mask default and fallback values for ``no_log`` module
        options (CVE-2021-20228)'
      - '**security issue** - copy - Redact the value of the no_log ''content'' parameter
        in the result''s invocation.module_args in check mode. Previously when used
        with check mode and with ''-vvv'', the module would not censor the content
        if a change would be made to the destination path. (CVE-2020-14332)

        '
      - Sanitize no_log values from any response keys that might be returned from
        the uri module (CVE-2020-14330).
      - dnf - Previously, regardless of the ``disable_gpg_check`` option, packages
        were not GPG validated. They are now. (CVE-2020-14365)
    codename: Hey Hey, What Can I Do
    fragments:
    - 14681-allow-callbacks-from-forks.yml
    - 16456-correct-YAML-error-message-when-file-load-failed.yml
    - 16949-global-skipped-result-flag-looped-tasks.yml
    - 17029-prevent-user-fact-lookup-failure-is-logname-is-set.yml
    - 17268-inventory-hostnames.yml
    - 22599_svn_validate_certs.yml
    - 23958-cleanup.yml
    - 29351-expect-bytes.yml
    - 32143-pause-background-hangs.yml
    - 32174-normalize-None-quote.yml
    - 322214-hostname-macos-support.yml
    - 32386_debconf_password.yml
    - 37132-delegate-to-loop-context.yml
    - 38182_subelements.yml
    - 38760-slackware-os-dist.yml
    - 40522-unarchive-add-include.yml
    - 43739_dragonflybsd_disto.yml
    - 45475_galaxy.yml
    - 46169-non-native-template-module.yml
    - 50909-min-max-attrs.yml
    - 52229-vault-python3-binary-stdin.yml
    - 55152-add-more-info-to-AnsibleUndefinedVariable.yml
    - 565_default_callback.yml
    - 58752_argument_aliases.yml
    - 60882-keyed_groups-leading-separator-toggle.yaml
    - 61234-yum-dnf-version-comp-doc.yml
    - 61369_get_url.yml
    - 62136_strip_spaces_from_action_names.yml
    - 63105-wcswidth.yml
    - 63378_find_module_regex_whole_file.yml
    - 63417-unique-filter-preserve-order.yml
    - 64469_git_no_raw.yml
    - 64625-show-file-path-on-task-failure-callback-option.yml
    - 65262_ansible_inventory.yml
    - 65710-find-include-parent.yml
    - 65812-paramiko-attribute-error.yml
    - 66132_dnf_show_pkgs_in_check_mode.yml
    - 66147_rhev_vdsm_vdsmd.yml
    - 66304-facts_containerd.yml
    - 67508-meta-task-tags.yaml
    - 68275-vault-module-args.yml
    - 68402_galaxy.yml
    - 68551_allow_list_of_filters_for_the_setup_module.yml
    - 68605-ansible-error-orig-exc-context.yml
    - 68612_iptables.yml
    - 68770_cache_adjudicator_flush.yml
    - 69352-netbsd-virtual-facts.yml
    - 69463-fix-apt_repository-typeerror- instancemethod.yaml
    - 69531_user_password_expire.yml
    - 69578-shell-remote_tmp-quoting.yaml
    - 69640-file_should_warn_when_path_and_owner_or_group_dont_exist.yml
    - 69848-fix-rerunning-tagged-roles.yml
    - 70017-avoid-params-to-callable-checkers.yml
    - 70042-dnf-repository-hotfixes.yml
    - 70045-ansible-doc-yaml-anchors.yml
    - 70046-ansible-doc-description-crash.yml
    - 70056-add-a-param-to-apt-module-to-avoid-unintended-uninstalls.yml
    - 70099-make-apt-errors-more-transparent.yaml
    - 70122-improve-error-message-ssh-client-is-not-found.yml
    - 70148-galaxy-role-info.yaml
    - 70168-fix-delegate_facts-without-interpreter-set.yml
    - 70238_selector.yml
    - 70244-selinux-special-fs.yml
    - 70256_stat_colon_split.yml
    - 70258-hash-filter-fail-unsupported-type.yml
    - 70261_pipe_lookup.yml
    - 70284-facts-get-nvme-serial-from-file.yml
    - 70318-dnf-add-nobest-option.yml
    - 70319-reduce-ignored-module-sanity-tests.yml
    - 70344-plugin-deprecation-collection-name.yml
    - 70375-galaxy-server.yml
    - 70426-allow-non-ascii-chars-in-cron.yml
    - 70437-ssh-args.yml
    - 70449-facts-add-dst-timezone.yml
    - 70465-assemble-fix-decrypt-argument.yaml
    - 70475-modify-module.yaml
    - 70484-bool-ansible-become.yaml
    - 70492-replace-filename-with-file-in-apt_key.yml
    - 70507-validate-null-author.yaml
    - 70524-fix-download-collections.yaml
    - 70525-setuptools-disutils-reorder.yml
    - 70583_datetime_date_in_module_result.yml
    - 70587-package_facts-apk.yml
    - 70600-user-module-dont-create-home-when-create_home-is-false.yml
    - 70640-find-empty-excludes.yml
    - 70649_time_clock.yml
    - 70683-terminal-ansi-re.yaml
    - 70687-improve-deprecation-message-bare-variable.yaml
    - 70690-async-interpreter.yml
    - 70704-void-linux-reboot.yml
    - 70762-sanitize-uri-keys.yml
    - 70784-vault-is-string.yml
    - 70831-skip-literal_eval-string-filter-native-jinja.yml
    - 70854-dnf-mutually-exclusive-filters.yml
    - 70869-ansible-test-validate-modules-version-added.yml
    - 70887_galaxy_token.yml
    - 70905_iptables_ipv6.yml
    - 70922-fix-block-in-rescue.yml
    - 70984-templating-ansibleundefined-in-operator.yml
    - 71007_callback_on_meta.yml
    - 71073-fortimanager-httpapi-redirect.yml
    - 71097-ansible-test-acme-container.yml
    - 71107-encryption.yml
    - 71184-allow-non-yaml-examples.yml
    - 71197-systemctl-ignore-message.yaml
    - 71205_get_url_allow_checksum_file_url.yml
    - 71214-add-vars-variable-for-delegated-vars.yaml
    - 71240-gluster-modules-redirect.yml
    - 71257-strftime-float.yml
    - 71277-include_tasks-show-name-with-free-strategy.yml
    - 71279-skip-conflict-check.yml
    - 71306-fix-exit-code-no-failure.yml
    - 71307-toml-dumps-unsafe.yml
    - 71355_execute_meta_skip_reason.yml
    - 71385-enhance-container-reporting-linux-vfacts.yml
    - 71420_get_url.yml
    - 71496-iptables-reorder-comment-position.yml
    - 71528-systemd-capbpf-workaround.yml
    - 71528-systemd-improve-unit-searching.yml
    - 71528-systemd-list-unit-files.yml
    - 71559-fix-distribution-fact-sles4sap.yaml
    - 71609-is_string-vault.yml
    - 71636_distro.yml
    - 71679-ansible-test.yml
    - 71704_selector.yml
    - 71722-fix-default-connection-timeout.yaml
    - 71735-deprecation-tagging.yml
    - 71739-remove-em-dash-from-pytest-config.yml
    - 71824-action-fqcns.yml
    - 71825-close-file-descriptor-after-building-cert-chaing.yml
    - 71903-unarchive-gid-cast.yml
    - 71905_bump-cloudstack-test-container.yml
    - 71920-fix-templating-recursion-error.yml
    - 71921-raise-bytes-for-binary-test.yml
    - 71928-ensure_type-dict.yml
    - 71966-ansible-doc-plugin-name.yml
    - 71977-ansible-galaxy-role-init.yml
    - 71979_ca_path_for_uri.yaml
    - 72025-fact-add-uptime-to-openbsd.yml
    - 72055-blockinfile-fix-insert-after-line-no-linesep.yml
    - 72073-service_facts-aix-src.yml
    - 72170-action-loader-collection-list.yml
    - 72197-upgrade-test-ansible-runner.yml
    - 72276-provide-better-vault-error.yml
    - 72315-fact-caching-relative-to-config.yml
    - 72316-dnf-filtering.yml
    - 72322-wait-for-handle-errors.yml
    - 72331-truenas-rc-major-version.yml
    - 72411-fips-mode-ansible-test.yml
    - 72428-action-groups-docker-k8s.yml
    - 72497-ansible-test-import-plugins.yml
    - 72511-always-prepend-role-to-task-name.yml
    - 72516-fix-aix-network-facts.yml
    - 72545_fix_facts_value_empty_key.yml
    - 72546-unarchive-returndoc.yml
    - 72591-ansible-galaxy-collection-resolvelib.yaml
    - 72615-jinja-import-context-fix.yml
    - 72623-ansible-test-unicode-paths.yml
    - 72697-improve-config-deprecations.yml
    - 72699-validate-modules-default-for-bools.yml
    - 72745-import_playbook-deprecation-extra-params.yml
    - 72754-extract-emb-func.yaml
    - 72809-dnf-remove-NV.yml
    - 72873-fix-fileglob-ordering.yml
    - 72894-add-alinux-hostname-module-support.yml
    - 72928_adding_multiport_support.yml
    - 72966-allow-tilde-inside-galaxy-roles.yml
    - 72979-fix-inventory-merge-hash-replace.yaml
    - 72984_adding_set_support.yml
    - 72992-user-account-lock-always-changes.yml
    - 72993-ansible-doc-has_action.yml
    - 73004-let-command-always-return-stdout-and-stderr.yml
    - 73027-differentiate-centos-stream.yml
    - 73059-improve-deprecation-texts.yml
    - 73084-rhel-for-edge-pkg_mgr-fact-fix.yml
    - 73120-rolemetadata-argspecs.yml
    - 73152-role-arg-spec.yaml
    - 73167-bhyve-facts.yml
    - 73176_sphinx_rstcheck_versions.yml
    - 73263-shadow-encrypt-string.yml
    - 73277-reduce-lookup-complexity.yml
    - 73335-argument-spec_validator.yml
    - 73336-ansible-galaxy_collection_install_upgrade.yaml
    - 73364-default-callback-host-pinned-not-lockstep.yml
    - 73428-changelog-linting-bump-version.yml
    - 73429-inventory-sanitization-constructed-features.yml
    - 73456-let-vault-lookup-output-string.yml
    - 73463_self_signed_https_endpoint_for_ansible-test.yml
    - 73474-galaxy-list-format-options.yml
    - 73498-INTERPRETER_PYTHON_DISTRO_MAP-Treat-oracle-same-as-rhel-centos.yml
    - 73557-ansible-galaxy-cache-paginated-response.yml
    - 73577-regex-fix.yml
    - 73589-rolespec-validate.yml
    - 73599-ansible-test-new-plugin-dirs.yml
    - 73619-hostname-almalinux-support.yml
    - 73639-ansible-test-pylint-ignores.yml
    - 73653-rolespec-rm-warning.yml
    - 73658-inventorymanager-throws-on-empty-inventory-dir.yml
    - 73665-fixes-ansible-console.yml
    - 73700-let-file-module-not-change-link-to-absolute-on-touch.yml
    - 73709-normalize-configparser.yml
    - 73718-find-dir-depth-traversal.yml
    - add_keywords_to_ansible_doc.yml
    - added_existing_nocolor.yml
    - allow_restricted_config_values.yml
    - ansiballz-remove-excommunicate.yaml
    - ansible-base-update-containers.yml
    - ansible-boilerplate.yml
    - ansible-doc-collection-name.yml
    - ansible-doc-formats.yml
    - ansible-doc-has_action.yml
    - ansible-doc-role-empty-meta-main.yml
    - ansible-galaxy-stdout.yml
    - ansible-galaxy-version-response.yml
    - ansible-test-acme-test-plugin.yml
    - ansible-test-azp-agent-temp-dir.yml
    - ansible-test-azp-change-detection.yml
    - ansible-test-azp-resource-prefix.yml
    - ansible-test-centos6-eol.yml
    - ansible-test-centos6-vault-mirrors.yml
    - ansible-test-change-classification.yml
    - ansible-test-changelog-lint-update.yml
    - ansible-test-cleanup-pylint-config.yml
    - ansible-test-cleanup.yml
    - ansible-test-code-cleanup.yml
    - ansible-test-code-naming.yml
    - ansible-test-collection-classification.yml
    - ansible-test-collection-constraints.yml
    - ansible-test-constraints-cryptography-old-openssl.yml
    - ansible-test-constraints-cryptography.yml
    - ansible-test-container-ip-lookup.yml
    - ansible-test-coverage-code-cleanup.yml
    - ansible-test-coverage-combine-export.yml
    - ansible-test-coverage-py26.yml
    - ansible-test-cryptography-refactor.yml
    - ansible-test-default-3.1.0.yml
    - ansible-test-default-container-update.yml
    - ansible-test-docker-default-network.yml
    - ansible-test-docker-detection-fix.yml
    - ansible-test-docker-not-localhost.yml
    - ansible-test-docker-socket.yml
    - ansible-test-egg-info-handling.yml
    - ansible-test-endpoint-update.yml
    - ansible-test-fedora33.yml
    - ansible-test-freebsd-python-3.8.yml
    - ansible-test-freebsd-pyyaml-libyaml.yml
    - ansible-test-freebsd11-4.yml
    - ansible-test-freebsd12-2.yml
    - ansible-test-macos-10.15.yml
    - ansible-test-more-code-cleanup.yml
    - ansible-test-network-container-search.yml
    - ansible-test-parallels-endpoint.yml
    - ansible-test-pip-bootstrap-s3.yml
    - ansible-test-pip-bootstrap.yml
    - ansible-test-platforms.yml
    - ansible-test-plugin-classification.yml
    - ansible-test-podman-json-format.yml
    - ansible-test-pylint-plugin-name.yml
    - ansible-test-pylint-python-3.8-3.9.yml
    - ansible-test-pylint-upgrade.yml
    - ansible-test-pytest-cap-revert.yml
    - ansible-test-pytest-cap.yml
    - ansible-test-python-exec-wrapper.yml
    - ansible-test-python-pip-warnings.yml
    - ansible-test-relative-import-analysis.yml
    - ansible-test-remote-aws-region.yml
    - ansible-test-remote-shell-raw.yml
    - ansible-test-rhel-python-3.8.yml
    - ansible-test-rhel-requirements.yml
    - ansible-test-rstcheck-core-only.yml
    - ansible-test-runtime-dates-versions.yml
    - ansible-test-sanity-ansible-doc.yml
    - ansible-test-sanity-importer-cleanup.yml
    - ansible-test-sanity-yamllint-lineno.yml
    - ansible-test-ssh-key-management.yml
    - ansible-test-tower-plugin.yml
    - ansible-test-ubuntu2004.yml
    - ansible-test-update-current-distro-containers.yml
    - ansible-test-updates.yml
    - ansible-test-validate-modules-file-common-args.yml
    - ansible-test-venv-virtualenv-fallback.yml
    - ansible-test-virtualenv-fix.yml
    - ansible-test-virtualenv-install.yml
    - ansible_runtime_meta.yml
    - ansible_test_yamllint_avoid_attribute_exception.yaml
    - apt_key_fixes.yml
    - arg_spec-check_arguments-handle_aliases.yml
    - arg_spec-get_type_validator.yml
    - async-race-condition.yml
    - better_os_environ_access.yml
    - better_winrm_putfile_error.yml
    - blockinfile_fix_no_backup_return.yml
    - bsd_rcconf_string_replace.yaml
    - cffi-constraint.yml
    - changed_clarified.yml
    - changed_when_group_by.yml
    - changelog-yaml.yml
    - ci-add-macos-11.yml
    - colleciton_flex_ac_dir_paths.yml
    - collection-ad-hoc.yml
    - collection-list-site-packages.yaml
    - collection_meta_use_libyaml.yml
    - collections_cb_fix.yml
    - command-warnings-deprecation-2.yml
    - command-warnings-deprecation.yml
    - constants-deprecation.yml
    - constructed_vars_plugins.yml
    - controller-python-warning.yml
    - copy-sanitize-check-mode-invocation-args.yaml
    - core_version.yml
    - crypt-oserror.yml
    - cryptography-fix.yml
    - csvfile-parse_kv.yml
    - date-time-facts-fix-utctime.yml
    - default-test-container160.yml
    - delegate_has_hostvars.yml
    - delegation_password.yml
    - deprecation-callback-get_item.yml
    - deprecation-strategy-SharedPluginLoaderObj.yml
    - deprecation-systemd-user.yml
    - deprecation-taskexecutor-squash.yml
    - dev-kvm.yml
    - display-stdout-column-width.yml
    - distribution_support_netbsd.yml
    - distribution_support_parrot.yml
    - dnf_gpg.yml
    - enable_su_on_local.yaml
    - ensure_local_user_correctness.yml
    - facts_fixes.yml
    - find_explicit.yml
    - fix-cron-file-regression.yaml
    - fix-incorrect-msg-in-loops-results.yml
    - fix_ansible_issue_71942.yaml
    - fix_bogus_coverage.yml
    - fix_expression_as_filename_in_compile.yaml
    - fix_inventory_source_parse_error_handling.yml
    - fix_lp_flat.yml
    - fix_meta_tasks_with_flush_cache.yml
    - fix_mount_point.yml
    - fix_reversed_return_value_order_72088.yaml
    - fix_role_var_loading.yml
    - fix_ssh_executable_options.yml
    - fixup_perms2-cleanup.yml
    - fq_action_module_resolution.yml
    - galaxy-cache.yml
    - galaxy-collection-fallback.yml
    - galaxy-collection-list-correct-arg-name.yml
    - galaxy-download-scm.yaml
    - galaxy-servers.yml
    - galaxy-sys-exit.yml
    - galaxy_collections_paths-remove-dep.yml
    - galaxy_login_bye.yml
    - get_file_attributes-without-lsattr-version.yml
    - git-add-single_branch.yml
    - give_compose_extra_vars.yml
    - handle_undefined_in_type_errors_filters.yml
    - inventory-cache-file-missing-warning.yaml
    - keep_log_at_info.yml
    - kubevirt-virt-fact.yml
    - lineinfile-add-search_string-parameter-for-non-regexp-searching.yaml
    - lineinfile_exc_fix.yml
    - linux-network-facts-broadcast-address.yaml
    - macos-chmod-acl.yml
    - max_fail_free.yml
    - moar_reserved_vars.yml
    - module_respawn.yml
    - module_utils_finder_refactor.yml
    - more-types-to-string-config.yml
    - multivirt.yml
    - native-jinja2-types-properly-handle-nested-undefined.yml
    - no_log-fallback.yml
    - package-use-manager-from-facts.yaml
    - passwd_lookup_hexdigits.yml
    - pause-catch-error-when-no-std-exists.yml
    - pause-do-not-warn-background-with-seconds.yml
    - pause-import.yml
    - pipelinig_to_plugins.yml
    - play_context_remove_redundant_pwd.yml
    - plugin-loader-cleanup.yml
    - plugin-loader-collection-name.yml
    - powershell-fix-quoting.yaml
    - powershell-nested-clixml.yml
    - powershell-version-env.yml
    - ps-sanity-requirements.yml
    - psrp-copy-empty-file.yml
    - psrp-copy.yaml
    - psrp-json-loads-bytes.yml
    - py26-multiprocess-queue-bug.yml
    - py38-py39-fallback.yml
    - pytest-collections-fix.yml
    - reboot-add-boot-command-parameter.yaml
    - remove_contradiction.yml
    - rhel-7.9.yml
    - rpmfluff-compat-fixes.yml
    - run-command-cwd.yml
    - runas-become-system-privileges.yml
    - runtime-splunk-redirect.yml
    - selinux_getpolicytype_compat.yml
    - set_fact-connection_vars.yml
    - set_mode_if_different-symlink-sticky-dir.yml
    - setup-py-declare-py39.yml
    - skip_invalid_coll_name_when_listing.yml
    - split-filter.yml
    - support_almalinux.yml
    - syslog-prettier-error.yml
    - systemd-preserve-full-unit-name.yml
    - test-ansible-runner-pin-psutil.yml
    - test_rhel83.yml
    - timeout_moar_clis.yml
    - toml-no-preview.yml
    - tree_config.yml
    - unarchive-check-future-gid-against-run-gid.yml
    - unarchive-support-zst.yml
    - undo_hashmerge_depr.yml
    - unsafe_for_all.yml
    - unsafe_writes_env.yml
    - unsafe_writes_fix.yml
    - update-conditionals-bare-vars-default.yml
    - uri-status-code-int.yml
    - url-lookup-add-httpagent.yml
    - url-lookup-ini.yml
    - urls-gssapi.yml
    - v2.11.0-initial-commit.yaml
    - v2.11.0b1_summary.yaml
    - validate-modules-ps-doc-blacklist.yaml
    - validate-modules_found_try_except_import_fails_module_attribute.yaml
    - vanquish-rare-container-bootstrap-failure.yml
    - varnames-error-grammar.yml
    - version-jinja.yml
    - version-libyaml-git.yml
    - version-test-semver.yml
    - which_when_false.yml
    - win_async_full_path.yml
    - win_setup-redirection.yaml
    - winrm_kinit_args.yaml
    - with_seq_example.yml
    - wrap_native_text-non-collections-only.yml
    modules:
    - description: Validate role argument specs.
      name: validate_argument_spec
      namespace: ''
    release_date: '2021-03-02'
  2.11.0b2:
    changes:
      bugfixes:
      - A handler defined within a role will now search handlers subdir for included
        tasks (issue https://github.com/ansible/ansible/issues/71222).
      - ALLOW_WORLD_READABLE_TMP, switched to 'moved' message as 'deprecation' is
        misleading since config settings still work w/o needing change.
      - Automatically remove async cache files for polled async tasks that have completed
        (issue https://github.com/ansible/ansible/issues/73206).
      - Deal with failures when sorting JSON and you have incompatible key types.
      - Setup virtualization_facts - add RHV and oVirt type. This change will fully
        work for VMs in clusters at cluster level 4.4 or newer (https://github.com/ansible/ansible/pull/72876).
      - '[set_fact] Corrected and expanded documentation as well as now raise errors
        that were previously ignored.'
      - ansible-test - ensure unit test paths for connection and inventory plugins
        are correctly identified for collections (https://github.com/ansible/ansible/issues/73876).
      - connection/ssh, ensure parameters come from correct source get_option, so
        functionality matches docs.
      - connection/ssh, fix reset to use same parameters to check if socket exists
        as actually used, was hardcoded to default string construction previouslly.
      - j2 plugin loader clarified comments, made note with better fqcn detection.
      - notify keyword is not ignored anymore on import_tasks, also able to apply
        to blocks now.
      - restrict module valid JSON parsed output to objects as lists are not valid
        responses.
      - setup, don't give up on all local facts gathering if one script file fails.
      - su become plugin, ensure correct type for localization option.
      minor_changes:
      - ansible-test - The generated ``resource_prefix`` variable now meets the host
        name syntax requirements specified in RFC 1123 and RFC 952. The value used
        for local tests now places the random number before the hostname component,
        rather than after. If the resulting value is too long, it will be truncated.
      - ansible-test validate-modules - option names that seem to indicate they contain
        secret information that should be marked ``no_log=True`` are now flagged in
        the validate-modules sanity test. False positives can be marked by explicitly
        setting ``no_log=False`` for these options in the argument spec. Please note
        that many false positives are expected; the assumption is that it is by far
        better to have false positives than false negatives (https://github.com/ansible/ansible/pull/73508).
      - distribution - add facts about Amazon Linux Distribution facts (https://github.com/ansible/ansible/issues/73742).
      - module payload builder - module_utils imports in any nested block (eg, ``try``,
        ``if``) are treated as optional during module payload builds; this allows
        modules to implement runtime fallback behavior for module_utils that do not
        exist in older versions of Ansible.
      release_summary: '| Release Date: 2021-03-15

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 72876-setup-facts-add-redhat-vendor.yml
    - 73508-validate-modules-no_log.yml
    - 73742_amazon_distribution.yml
    - 73760-async-cleanup.yml
    - 73809-search-handler-subdir.yml
    - 73876-ansible_test-units.yml
    - allow_world_readable_move.yml
    - ansible-test-resource-prefix.yml
    - fix_import_notify.yml
    - fix_json_module_parsing.yml
    - fix_set_fact.yml
    - inv_json_sort_types_fix.yml
    - j2ploader_minor.yml
    - local_facts_continue.yml
    - optional_module_utils.yml
    - ssh_connection_fixes.yml
    - su_fix.yml
    - v2.11.0b2_summary.yaml
    release_date: '2021-03-15'
  2.11.0b3:
    changes:
      bugfixes:
      - Fix adding unrelated candidate names to the plugin loader redirect list.
      - Strategy - When building the task in the Strategy from the Worker, ensure
        it is properly marked as finalized and squashed. Addresses an issue with ``ansible_failed_task``.
        (https://github.com/ansible/ansible/issues/57399)
      - ansible-pull - Run all playbooks that when multiple are supplied via the command
        line (https://github.com/ansible/ansible/issues/72708)
      - find module, fix default pattern when use_regex is true.
      major_changes:
      - AnsibleModule - use ``ArgumentSpecValidator`` class for validating argument
        spec and remove private methods related to argument spec validation. Any modules
        using private methods should now use the ``ArgumentSpecValidator`` class or
        the appropriate validation function.
      minor_changes:
      - Callbacks - Migrate more places in the ``TaskExecutor`` to sending callbacks
        directly over the queue, instead of sending them as ``TaskResult`` and short
        circuiting in the Strategy to send the callback. This enables closer to real
        time callbacks of retries and loop results (https://github.com/ansible/ansible/issues/73899)
      - setup - fix distribution facts for Older Amazon Linux with ``/etc/os-release``
        (https://github.com/ansible/ansible/issues/73946).
      release_summary: '| Release Date: 2021-03-19

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 57399-finalize-task-in-strategy.yml
    - 72708_ansible_pull_multiple_playbooks.yml
    - 73863-fix-plugin-redirect-list.yaml
    - 73899-more-te-callbacks.yml
    - 73946_amazon_linux.yml
    - fix_find_default.yml
    - use-validator-in-ansiblemodule.yml
    - v2.11.0b3_summary.yaml
    release_date: '2021-03-19'
  2.11.0b4:
    changes:
      bugfixes:
      - Correctly set template_path and template_fullpath for usage in template lookup
        and action plugins.
      - Try to avoid kernel 'blocking' state on reading files while fact gathering.
      - apt - fix policy_rc_d parameter throwing an exception when restoring original
        file (https://github.com/ansible/ansible/issues/66211)
      - argument spec validation - fix behavior of ``apply_defaults=True`` when an
        empty dictionary is specified for such an option (https://github.com/ansible/ansible/pull/74029).
      - pause - do not accept enter to continue when a timeout is set (https://github.com/ansible/ansible/issues/73948)
      - setup module, fix error handling on bad subset given
      - wait_for module, move missing socket into function to get proper comparrison
        in time.
      minor_changes:
      - ansible-galaxy CLI - ``collection verify`` command now exits with a non-zero
        exit code on verification failure
      - ansible-galaxy CLI - ``collection verify`` command now supports a ``--offline``
        option for local-only verification
      release_summary: '| Release Date: 2021-03-29

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 73840_apt-policy-rc-d.yml
    - 73948-pause-no-enter-with-timeout.yml
    - 74029-argspec-apply_defaults.yml
    - fix_setup_bad_subset.yml
    - galaxy_verify_exitcode.yml
    - galaxy_verify_local.yml
    - less_blocks_on_facts.yml
    - template_temp_vars_fix.yml
    - v2.11.0b4_summary.yaml
    - wait_for_fix.yml
    release_date: '2021-03-29'
  2.11.0rc1:
    changes:
      bugfixes:
      - OpenBSD module_utils - update sysctl variable name
      - WorkerProcess - Implement workaround for stdout deadlock in multiprocessing
        shutdown to avoid process hangs.
      - ansible-test - Add a ``six < 1.14.0`` constraint for Python 2.6.
      - ansible-test - The ``--export`` option for ``ansible-test coverage`` is now
        limited to the ``combine`` command. It was previously available for reporting
        commands on which it had no effect.
      - ansible-test - The ``ansible-test coverage combine`` option ``--export`` now
        exports relative paths. This avoids loss of coverage data when aggregating
        across systems with different absolute paths. Paths will be converted back
        to absolute when generating reports.
      - debug action, prevent setting facts when displaying ansible_facts.
      minor_changes:
      - ansible-test - Add constraint for ``decorator`` for Python versions prior
        to 3.5.
      - service_facts - return service state information on OpenBSD.
      release_summary: '| Release Date: 2021-04-05

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - ansible-test-decorator-constraint.yml
    - ansible-test-fix-coverage-export.yml
    - ansible-test-six.yml
    - debug_dont_set_facts.yml
    - openbsd-service.yml
    - openbsd-sysutil.yml
    - v2.11.0rc1_summary.yaml
    - workerprocess-stdout-deadlock.yml
    release_date: '2021-04-05'
  2.11.0rc2:
    changes:
      bugfixes:
      - WorkerProcess - Python 3.5 fix for workaround for stdout deadlock in multiprocessing
        shutdown to avoid process hangs. (https://github.com/ansible/ansible/issues/74149)
      release_summary: '| Release Date: 2021-04-06

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - fix-for-workerprocess-stdout-deadlock-fix.yml
    - v2.11.0rc2_summary.yaml
    release_date: '2021-04-06'
  2.11.1:
    changes:
      release_summary: '| Release Date: 2021-05-24

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.1_summary.yaml
    release_date: '2021-05-24'
  2.11.10:
    changes:
      release_summary: '| Release Date: 2022-03-28

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.10_summary.yaml
    release_date: '2022-03-28'
  2.11.10rc1:
    changes:
      bugfixes:
      - AnsiballZ - Ensure we use the full python package in the module cache filename
        to avoid a case where ``collections:`` is used to execute a module via short
        name, where the short name duplicates another module from ``ansible.builtin``
        or another collection that was executed previously.
      - Fix collection filter/test plugin redirects (https://github.com/ansible/ansible/issues/77192).
      - ansible-galaxy collection verify - display files/directories not included
        in the FILES.json as modified content.
      - ansible-test - Fix an integration test traceback that occurs when some tests
        use cloud plugins, but all tests for at least one cloud plugin are skipped.
        (https://github.com/ansible/ansible/issues/75711)
      - extend timeout for ansible-galaxy when communicating with the galaxy server
        api, and apply it to all interactions with the api
      release_summary: '| Release Date: 2022-03-21

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 76690-fix-ansible-galaxy-collection-verify-modified-content.yaml
    - 77210-fix-collection-filter-test-redirects.yml
    - ansible-test-remote-cloud-skip-traceback.yml
    - ansible_galaxy_timeout.yml
    - fqn-module-cache.yml
    - v2.11.10rc1_summary.yaml
    release_date: '2022-03-21'
  2.11.11:
    changes:
      bugfixes:
      - ansible-test - Update ``rstcheck`` constraint from ``>= 3.3.1`` to ``== 3.3.1``
        to avoid breaking changes in newer releases.
      release_summary: '| Release Date: 2022-04-25

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - ansible-test-rstcheck-pin.yml
    - v2.11.11_summary.yaml
    release_date: '2022-04-25'
  2.11.11rc1:
    changes:
      bugfixes:
      - Ansible.ModuleUtils.SID - Use user principal name as is for lookup in the
        ``Convert-ToSID`` function - https://github.com/ansible/ansible/issues/77316
      - winrm - Ensure ``kinit`` is run with the same ``PATH`` env var as the Ansible
        process
      release_summary: '| Release Date: 2022-04-18

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - ModuleUtils.SID-long-username.yml
    - v2.11.11rc1_summary.yaml
    - winrm-kinit-path.yml
    release_date: '2022-04-18'
  2.11.1rc1:
    changes:
      bugfixes:
      - Add RockyLinux to fact gathering (https://github.com/ansible/ansible/pull/74530).
      - Improve resilience of ``ansible-galaxy collection`` by increasing the page
        size to make fewer requests overall and retrying queries with a jittered exponential
        backoff when rate limiting HTTP codes (520 and 429) occur. (https://github.com/ansible/ansible/issues/74191)
      - Prevent ``ansible_failed_task`` from further templating (https://github.com/ansible/ansible/issues/74036)
      - Remove 'default' from ssh plugin as we want to rely on default from ssh itself
        or ssh/config.
      - The error message about the failure to import a ``gpg`` key by the ``apt_key``
        module was incorrect (https://github.com/ansible/ansible/issues/74423).
      - ansible-test - Avoid publishing the port used by the ``pypi-test-container``
        since it is only accessed by other containers. This avoids issues when trying
        to run tests in parallel on a single host.
      - ansible-test - Fix docker container IP address detection. The ``bridge`` network
        is no longer assumed to be the default.
      - ansible-test - Use documented API to retrieve build information from Azure
        Pipelines.
      - ansible.builtin.cron - Keep non-empty crontabs, when removing cron jobs (https://github.com/ansible/ansible/pull/74497).
      - ansible.utils.encrypt now handles missing or unusable 'crypt' library.
      - ansible_test - add constraint for ``MarkupSafe`` (https://github.com/ansible/ansible/pull/74666)
      - apt_key - Binary GnuPG keys downloaded via URLs were corrupted so GnuPG could
        not import them (https://github.com/ansible/ansible/issues/74424).
      - become - fix a regression on Solaris where chmod can return 5 which we interpret
        as auth failure and stop trying become tmpdir permission fallbacks
      - become - work around setfacl not existing on modern Solaris (and possibly
        failing on some filesystems even when it does exist)
      - callback default, now uses task delegate_to instead of delegate vars to display
        delegate to host
      - callbacks, restores missing delegate_vars
      - correct doc links for become on warnings over world readable settings.
      - correctly use world readable setting since old constant is not 'settable'
        anymore.
      - facts - detect homebrew installed at /opt/homebrew/bin/brew
      - filter plugins - patch new versions of Jinja2 to prevent warnings/errors on
        renamed filter decorators (https://github.com/ansible/ansible/issues/74667)
      - get_url - Fixed checksum validation for binary files (leading asterisk) in
        checksum files (https://github.com/ansible/ansible/pull/74502).
      - hostname - Add Rocky Linux support
      - ini lookup - handle errors for duplicate keys and missing sections (https://github.com/ansible/ansible/issues/74601)
      - interpreter discovery - Debian 8 and lower will avoid unsupported Python3
        version in interpreter discovery
      - pause - ensure control characters are always set to an appropriate value (https://github.com/ansible/ansible/issues/73264)
      - playbook loaded from collection subdir now does not ignore subdirs.
      - plugin config now allows list type options to have multiple valid choices
        (#74225).
      - replace - better handling of file operation exceptions (https://github.com/ansible/ansible/pull/74686).
      - roles - allow for role arg specs in new meta file (https://github.com/ansible/ansible/issues/74525).
      - service - compare version without LooseVersion API (https://github.com/ansible/ansible/issues/74488).
      minor_changes:
      - ansible adhoc, clarified the help to some options, also added some comments
        to code.
      - command - update the user warning message to point out command name (https://github.com/ansible/ansible/pull/74475).
      release_summary: '| Release Date: 2021-05-17

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 73264-pause-emacs.yml
    - 73887.mac-m1-homebrew.yaml
    - 74036-unsafe-ansible_failed_task.yml
    - 74240-ansible-galaxy-increase-pagesize-and-handle-throttling.yml
    - 74474-apt_key-gpg-binary-import.yaml
    - 74476-apt_key-gpg-inline-data.yaml
    - 74488_solaris_looseversion.yml
    - 74497-keep-non-empty-crontabs.yml
    - 74502-get_url-filx-checksum-binary.yml
    - 74582-role-argspec-new-file.yml
    - 74601-ini-lookup-handle-errors.yml
    - 74686-replace-handle-file-exc.yml
    - adhoc_help_clarify.yml
    - allow_lists_of_config_choices.yml
    - ansible-test-azp-build-api.yml
    - ansible-test-docker-network-detect.yml
    - ansible-test-markupsafe-constraint.yml
    - ansible-test-pypi-container-no-publish.yml
    - cmd_wording.yml
    - coll_pb_subdir_fixes.yml
    - crypt_missing.yml
    - debian8_discovery.yml
    - jinja2_decorator_renames.yml
    - macos-solaris-regression.yml
    - missing_delegate_vars.yml
    - solaris-setfacl-chmod-fallback.yml
    - ssh_port_default_fix.yml
    - support_rocky_linux_hostname.yml
    - support_rockylinux.yml
    - v2.11.1rc1_summary.yaml
    - world_readable_fixes.yml
    release_date: '2021-05-17'
  2.11.2:
    changes:
      release_summary: '| Release Date: 2021-06-22

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.2_summary.yaml
    release_date: '2021-06-22'
  2.11.2rc1:
    changes:
      bugfixes:
      - AnsibleModule.set_mode_if_different - don't check file existence when check_mode
        is activated (https://github.com/ansible/ansible/issues/61185).
      - Apply ``display_failed_stderr`` callback option on loop item results. (https://github.com/ansible/ansible/issues/74864)
      - Avoid task executor from ending early as vars can come from delegated to host.
      - ansible-pull - update documentation for ``--directory`` option to clarify
        path must be absolute.
      - config, ensure 'quoted' lists from ini or env do not take the quotes literally
        as part of the list item.
      - gather_facts, package, service - fix using module_defaults for the modules
        in addition to the action plugins. (https://github.com/ansible/ansible/issues/72918)
      - psrp - Always cleanup the last run pipeline if a second pipeline is invoked
        to avoid violating any resource limits.
      - psrp - Fix error when resetting a connection that was initialised but not
        connected - (https://github.com/ansible/ansible/issues/74092).
      - psrp - Try to clean up any server-side resources when resetting a connection.
      - roles - make sure argspec validation task is tagged with ``always`` (https://github.com/ansible/ansible/pull/74994).
      - slurp - Fix error messages for unreadable files and directories (https://github.com/ansible/ansible/issues/67340).
      - slurp - handle error when ``path`` is a directory and not a file (https://github.com/ansible/ansible/pull/74930).
      - ssh connection - fix interaction between transfer settings options.
      - subversion - fix stack trace when getting information about the repository
        (https://github.com/ansible/ansible/issues/36498)
      - version test - improve error message when an empty version is provided
      release_summary: '| Release Date: 2021-06-14

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
      security_fixes:
      - templating engine fix for not preserving usnafe status when trying to preserve
        newlines. CVE-2021-3583
    codename: Hey Hey, What Can I Do
    fragments:
    - 36498-subversion-fix-info-parsing.yml
    - 61185-basic.py-fix-check_mode.yaml
    - 67340-slurp_error_message.yml
    - 73864-action-plugin-module-defaults.yml
    - 74864-display_failed_stderr-per-item.yml
    - ansible-pull-doc-update.yml
    - config_lists_unquote.yml
    - delegate_te_fix.yml
    - fix_scp_ssh_settings.yml
    - fix_unsafe_newline.yml
    - psrp-cleanup.yml
    - psrp-reset.yml
    - role_argspec_tagged_always.yml
    - slurp-handle-error-with-dir.yml
    - v2.11.2rc1_summary.yaml
    - version_compare-error-on-empty.yml
    release_date: '2021-06-14'
  2.11.3:
    changes:
      release_summary: '| Release Date: 2021-07-19

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.3_summary.yaml
    release_date: '2021-07-19'
  2.11.3rc1:
    changes:
      bugfixes:
      - Add unicode support to ``ansible-inventory`` CLI (https://github.com/ansible/ansible/issues/57378)
      - Ensure we get full path for extra vars into cliargs to avoid realpath issues
        after initial load.
      - ansible-doc - in text output, do not show empty ``version_added_collection``
        values (https://github.com/ansible/ansible/pull/74999).
      - ansible-test - restrict ``packaging`` to ``< 21.0`` for Python ``< 3.6`` (https://github.com/ansible/ansible/pull/75186).
      - command - remove unreachable code path when trying to convert the value for
        ``chdir`` to bytes (https://github.com/ansible/ansible/pull/75036)
      - module_common - handle exception when multiple workers try to create the cache
        directory
      - roles - make sure argspec validation task templates suboptions (https://github.com/ansible/ansible/issues/75070).
      - slurp - improve the logic in the error handling and remove ``os.stat()`` call
        (https://github.com/ansible/ansible/pull/75038)
      - ssh_connection - rename ``retries`` to ``reconnection_retries`` to avoid conflicts
        with task vars (https://github.com/ansible/ansible/issues/75142).
      - ssh_connection - set the default for ``reconnection_retries`` back to ``0``
        (https://github.com/ansible/ansible/issues/75142).
      - task_executor/ssh_connection - use the ``retries`` value from ``ssh_connection``
        settings, not the default from the ``Task`` field attributes (https://github.com/ansible/ansible/issues/75142).
      minor_changes:
      - ansible-test - aws creates and exposes a new tiny_prefix variable to provide
        a shorter prefix for the AWS tests.
      release_summary: '| Release Date: 2021-07-13

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 57378-inventory-cli-unicode.yml
    - 74999-ansible-doc-version_added_collection.yml
    - 75073-role-argspec-suboption-variables.yaml
    - 75142-ssh-retries-collision.yml
    - 75186-ansible-test-packaging-constraint.yml
    - aws_tiny_prefix.yaml
    - command-remove-unreachable-code.yml
    - concurrency-cache-dir-collision.yml
    - extra_vars_unfrack.yml
    - slurp-improve-error-handling-readability.yml
    - v2.11.3rc1_summary.yaml
    release_date: '2021-07-13'
  2.11.4:
    changes:
      release_summary: '| Release Date: 2021-08-16

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.4_summary.yaml
    release_date: '2021-08-16'
  2.11.4rc1:
    changes:
      bugfixes:
      - Fix ``when`` evaluation on Native Jinja and Python 3.10.
      - Jinja2 globals should be accessible even when importing a template without
        the context (https://github.com/ansible/ansible/issues/75371)
      - ansible-test - add packaging python module to ``ansible-doc`` sanity test
        requirements.
      - ansible-test validate-modules - correctly validate positional parameters to
        ``AnsibleModules`` (https://github.com/ansible/ansible/pull/75332).
      - cli defaults for ssh args set to None as '' was bypassing normal default.
      - dnf module - Use all components of a package name to determine if it's installed
        (https://github.com/ansible/ansible/issues/75311).
      - do not trigger interpreter discovery in the forced_local module path as they
        should use the ansible playbook python unless otherwise configured.
      - find action, correctly convert path to text when warning about skiping.
      - remote tmpdir permissions - fix type error in macOS chmod ACL fallback (https://github.com/ansible/ansible/pull/74613).
      - template - ensure Jinja2 overrides from template header are used (https://github.com/ansible/ansible/issues/75275)
      - unarchive - move failure for missing binary to ``can_handle_archive()`` rather
        than ``__init__()``
      release_summary: '| Release Date: 2021-08-10

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 74613-actionfixup_perms2_macos_remote_paths_ensure_list.yml
    - 75275-ensure-jinja2-header-overrides-used.yml
    - 75332-ansible-test-validate-modules-AnsibleModule-args.yml
    - 75356-add-requirement-to-ansible-test.yml
    - 75371-import_template_globals.yml
    - find_error_fix.yml
    - fix-dnf-filtering-for-installed-package-name.yml
    - fix_cli_ssh_defaults.yml
    - skip_local_discovery.yml
    - unarchive-fix-bin-checking.yml
    - v2.11.4rc1_summary.yaml
    - when-eval-native-py310.yml
    release_date: '2021-08-10'
  2.11.5:
    changes:
      release_summary: '| Release Date: 2021-09-13

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.5_summary.yaml
    release_date: '2021-09-13'
  2.11.5rc1:
    changes:
      bugfixes:
      - Fix templating task action with host-specific vars (https://github.com/ansible/ansible/issues/75568)
      - Since ansible/2.11 doc site was removed, the current relative messages point
        to a 404 url, this fixes it by chainging the target to ansible-core/2.11
      - ansible-galaxy - Fix a bug with build_ignore when installing collections from
        source (https://github.com/ansible/ansible/issues/75528).
      - ansible-galaxy - Improve error message from dependency resolution when a candidate
        has inconsistent requirements (https://github.com/ansible/ansible/issues/75139).
      - ansible-playbook, more robust handling of --list-hosts and undefined vars
        in hosts keyword.
      - command module, clarify order of remove/creates checks.
      - command module, correctly handles chdir to symlinks.
      - command module, move to standarized messages in 'msg' vs abusing 'stdout'.
      - command module, now all options work in ad-hoc execution.
      - command module, now always returns what we documented as 'returns always'.
      - get_bin_path, clarify with quotes what the missing required executable is.
      - make previous versions compatible we new attributres w/o implementing them.
      - paramiko_ssh - mark connection as connected when ``_connect()`` is called
        (https://github.com/ansible/ansible/issues/74081)
      - setup module should now not truncate hpux interface names.
      - validate_argument_spec, correct variable precedence and merge method and add
        missing examples
      - variable manager, avoid sourcing delegated variables when no inventory hostname
        is present. This affects scenarios like syntax check and imports.
      release_summary: '| Release Date: 2021-09-08

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 74081-paramiko-mark-connected.yml
    - 75235-ansible-galaxy-inconsistent-candidate-error.yml
    - 75547-fix-installing-collections-from-source.yaml
    - 75568-fix-templating-task-action-host-specific-vars.yml
    - attributes_compat.yml
    - clarify_missing_exe.yml
    - command_deliver_promisses.yml
    - fix_host_list.yml
    - fix_relative_msg_urls.yml
    - fix_syntax_check.yml
    - hpux_iface_facts_length.yml
    - v2.11.5rc1_summary.yaml
    - vas_fixes.yml
    release_date: '2021-09-08'
  2.11.6:
    changes:
      bugfixes:
      - ansible-test pslint - Fix error when encountering validation results that
        are highly nested - https://github.com/ansible/ansible/issues/74151
      release_summary: '| Release Date: 2021-10-11

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - pslint-sanity-warning.yml
    - v2.11.6_summary.yaml
    release_date: '2021-10-11'
  2.11.6rc1:
    changes:
      bugfixes:
      - PowerShell - Ignore the ``LIB`` environment variable when compiling C# Ansible
        code
      - ansible-galaxy - Fix handling HTTP exceptions from Galaxy servers. Continue
        to the next server in the list until the collection is found.
      - config - use ``callbacks_enabled`` instead ``callback_enabled`` in a deprecated
        message (https://github.com/ansible/ansible/issues/70028).
      - netconf - catch and handle exception to prevent stack trace when running in
        FIPS mode
      - roles - fix unexpected ``AttributeError`` when an empty ``argument_specs.yml``
        is present (https://github.com/ansible/ansible/pull/75604).
      minor_changes:
      - ansible-galaxy - Non-HTTP exceptions from Galaxy servers are now a warning
        and only fatal if the collection to download|install|verify is not available
        from any of the servers (https://github.com/ansible/ansible/issues/75443).
      release_summary: '| Release Date: 2021-10-04

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
      security_fixes:
      - Do not include params in exception when a call to ``set_options`` fails. Additionally,
        block the exception that is returned from being displayed to stdout. (CVE-2021-3620)
    codename: Hey Hey, What Can I Do
    fragments:
    - 70028-config-small-typo-fix.yml
    - 75468_fix_galaxy_server_fallback.yaml
    - 75604-empty-argument-specs.yml
    - avoid-set_options-leak.yaml
    - fips-ncclient-import-error.yaml
    - powershell-addtype-env-vars.yml
    - v2.11.6rc1_summary.yaml
    release_date: '2021-10-04'
  2.11.7:
    changes:
      release_summary: '| Release Date: 2021-12-06

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.7_summary.yaml
    release_date: '2021-12-06'
  2.11.7rc1:
    changes:
      bugfixes:
      - Ansible.ModuleUtils.LinkUtil - Ignore the ``LIB`` environment variable when
        loading the ``LinkUtil`` code
      - '``action_groups`` - Alias short names in collection action groups to FQCR
        of the owning collection (https://github.com/ansible/ansible/issues/76164)

        '
      - hostname, fix module example using `strategy` instead of `use`.
      - set ssh host_key_checking defaults to True, restoring original behaviour (https://github.com/ansible/ansible/issues/75168)
      - validate_argument_spec - Skip suboption validation if the top level option
        is an invalid type (https://github.com/ansible/ansible/issues/75612).
      release_summary: '| Release Date: 2021-11-29

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 75635-fix-role-argspec-suboption-validation.yml
    - 76164-alias-action-groups-shortnames.yml
    - fix_hostname_example.yml
    - set-ssh-host_key_checking-defaults.yaml
    - v2.11.7rc1_summary.yaml
    - win_LinkUtil-ignore-LIB.yml
    release_date: '2021-11-29'
  2.11.8:
    changes:
      release_summary: '| Release Date: 2022-01-31

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.8_summary.yaml
    release_date: '2022-01-31'
  2.11.8rc1:
    changes:
      bugfixes:
      - ansible-galaxy collection build - Ignore any existing ``MANIFEST.json`` and
        ``FILES.json`` in the root directory when building a collection.
      - ansible-test - Fix traceback in the ``validate-modules`` sanity test when
        testing an Ansible module without any callables.
      - backwards compatiblity copy of doc fragment action_common_attributes
      - default callback - Ensure we compare FQCN also in lockstep logic, to ensure
        using the FQCN of a strategy plugin triggers the correct behavior in the default
        callback plugin. (https://github.com/ansible/ansible/issues/76782)
      - include_vars, properly initialize variable as there is corner case in which
        it can end up referenced and not defined
      - ssh connection - properly quote controlpersist path given by user to avoid
        issues with spaces and other characters
      - ssh connection avoid parsing ssh cli debug lines as they can match expected
        output at high verbosities.
      - unarchive - Fix zip archive file listing that caused issues with content postprocessing
        (https://github.com/ansible/ansible/issues/76067).
      minor_changes:
      - service_facts now handles more states/statuses from systemd and in a more
        reliable way (failed, not-found, masked).
      release_summary: '| Release Date: 2022-01-24

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - 76069-fix-unarchive-file-listing-in-zip.yaml
    - 76782-fqcn-compare-lockstep-strategies.yml
    - aca_bcc.yml
    - ansible-test-validate-modules-no-callable.yml
    - galaxy-build-files-ignore.yml
    - include_vars_failed.yml
    - service_facts_systemd_improve.yml
    - ssh_debug_noparse.yml
    - ssh_quote_cp.yml
    - v2.11.8rc1_summary.yaml
    release_date: '2022-01-24'
  2.11.9:
    changes:
      release_summary: '| Release Date: 2022-02-28

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - v2.11.9_summary.yaml
    release_date: '2022-02-28'
  2.11.9rc1:
    changes:
      bugfixes:
      - ansible-test - Add constraint for ``MarkupSafe < 2.1.0`` on Python 3.6 and
        later. This avoids installation failures when old ``pip`` or ``setuptools``
        packages are present.
      - ansible-test - Install ``pyopenssl`` when installing ``cryptography`` to make
        sure a compatible version is used (except for sanity tests).
      - ansible-test - Replace the directory portion of out-of-tree paths in JUnit
        files from integration tests with the ``out-of-tree:`` prefix.
      - ansible-test - Update unit tests to use the ``--forked`` option instead of
        the deprecated ``--boxed`` option.
      - ansible-test - Use relative paths in JUnit files generated during integration
        test runs.
      - cleaning facts will now only warn about the variable name and not post the
        content, which can be undesireable to disclose
      - correctly inherit vars from parent in block (https://github.com/ansible/ansible/issues/75286).
      - gather_facts action now handles the move of base connection plugin types into
        collections to add/prevent subset argument correctly
      - junit callback - Fix traceback during automatic fact gathering when using
        relative paths.
      - junit callback - Fix unicode error when handling non-ASCII task paths.
      - ssh connection now uses more correct host source as play_context can ignore
        loop/delegation variations.
      minor_changes:
      - ansible-test - Integration and unit tests no longer install ``cryptography``
        if it is already installed.
      - ansible-test - Update the ``galaxy`` test plugin to get its container from
        a copy on quay.io.
      - ansible-test - Update the ``openshift`` test plugin to get its container from
        a copy on quay.io.
      - junit callback - Add support for replacing the directory portion of out-of-tree
        relative task paths with a placeholder.
      release_summary: '| Release Date: 2022-02-23

        | `Porting Guide <https://docs.ansible.com/ansible/devel/porting_guides.html>`__

        '
    codename: Hey Hey, What Can I Do
    fragments:
    - ansible-test-container-images.yml
    - ansible-test-junit-relative-paths.yml
    - ansible-test-markupsafe-constraint-update.yml
    - ansible-test-pyopenssl.yml
    - ansible-test-pytest-forked.yml
    - clean_facts_values.yml
    - fix_block_var_inh.yml
    - gather_facts_collections.yml
    - junit-callback-task-path-unicode.yml
    - ssh_use_right_host.yml
    - v2.11.9rc1_summary.yaml
    release_date: '2022-02-23'