aboutsummaryrefslogtreecommitdiff
blob: 01197c3acef32dd8b3cebcb9b85e309b7c54e327 (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
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
<?xml version="1.0"?>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  </head>
  <body>
    <h1 >Releases</h1>
    <p>Here is the list of official releases, it is also possible to just use the <a href="downloads.html">GIT version or snapshot</a>, contact the mailing list
and check the <a href="http://libvirt.org/git/?p=libvirt.git;a=log">GIT log</a> to gauge progress.</p>

    <h3>0.10.2: September 24 2012</h3>
    <ul>
      <li> Features:<br/>
      network: define new API virNetworkUpdate (Laine Stump),<br/>
      add support for QEmu sandbox support (Ján Tomko),<br/>
      blockjob: add virDomainBlockCommit (Eric Blake),<br/>
      node_memory: Define the APIs to get/set memory parameters (Osier Yang),<br/>
      list: Define new API virConnectListAllSecrets (Osier Yang),<br/>
      list: Define new API virConnectListAllNWFilters (Osier Yang),<br/>
      list: Define new API virConnectListAllNodeDevices (Osier Yang),<br/>
      parallels: add support of containers to the driver (Dmitry Guryanov),<br/>
      list: Define new API virConnectListAllInterfaces (Osier Yang),<br/>
      list: Define new API virConnectListAllNetworks (Osier Yang),<br/>
      list: Define new API virStoragePoolListAllVolumes (Osier Yang),<br/>
      Add PMSUSPENDED life cycle event (Jiri Denemark),<br/>
      list: Define new API virStorageListAllStoragePools (Osier Yang),<br/>
      Add per-guest S3/S4 state configuration (Martin Kletzander),<br/>
      qemu: Support for Block Device IO Limits (Viktor Mihajlovski)<br/>
      </li>

      <li> Documentation:<br/>
      locking: Remove README file in favor of internals/locking.html (Jiri Denemark),<br/>
      fix typo in filesystem docs (Eric Blake),<br/>
      include article about libvirt+audit in relatedlinks.html (Marcelo Cerri),<br/>
      virsh: Clarify behavior of domain list filtering (Peter Krempa),<br/>
      update usb redirection filter infomation on formatdomain.html (Guannan Ren),<br/>
      mention another iaas app built on libvirt (Eric Blake),<br/>
      page.xsl: fix FAQ link in subdirectories (Ján Tomko),<br/>
      hacking.html.in: fix table of contents (Ján Tomko),<br/>
      point out git send-email location, be more stern about make check (Laine Stump),<br/>
      examples: Fix event detail printing in python test (Jiri Denemark),<br/>
      virsh: Improve the document for pool-list (Osier Yang),<br/>
      conf: describe security_driver behavior (Martin Kletzander),<br/>
      correct dompmwakeup description (Martin Kletzander)<br/>
      </li>

      <li> Portability:<br/>
      build: fix nodeinfo build on non-Linux platforms (Eric Blake),<br/>
      virBitmap: fix build without HAVE_NUMACTL (Ján Tomko),<br/>
      build: Fix build failure on non-linux platform (Osier Yang),<br/>
      build: fix missing include (Dwight Engen),<br/>
      Look in Debian's multiarch libs too (Guido Günther),<br/>
      build: don't fail if libnl-3 is not found (Eric Blake),<br/>
      build: Fix typo which causes build failure (Osier Yang),<br/>
      build: force libnl1 if netcf also used libnl1 (Eric Blake),<br/>
      build: fix build on older gcc (Eric Blake),<br/>
      Fix location of SELinux mount during RPM builds (Daniel P. Berrange),<br/>
      nwfilter: drop use of awk (Eric Blake),<br/>
      build: improved handling of &lt;execinfo.h&gt;, BSD &lt;net/if.h&gt; (Eric Blake),<br/>
      Define DYNLIB_NAME on OpenBSD (Jasper Lievisse Adriaanse),<br/>
      build: avoid test failure when sasl was not compiled in (Eric Blake),<br/>
      build: avoid check-symfile on non-Linux (Eric Blake),<br/>
      build: require netcf-0.2.2 when installing on Fedora18+ (Laine Stump),<br/>
      build: don't fail when xsltproc is missing (Eric Blake),<br/>
      build: avoid warnings from gcc 4.2.1 (Eric Blake),<br/>
      Remove explicit dependency on ceph RPM (Daniel P. Berrange),<br/>
      Pass a correct pointer type to localtime_r(3) (Paul Eggert),<br/>
      build: use correct libraries for clock_gettime (Eric Blake),<br/>
      Include an extra header needed for OpenBSD (Jasper Lievisse Adriaanse),<br/>
      Fix mingw64 build by using intptr_t for int-&gt;void* casts (Daniel P. Berrange)<br/>
      </li>

      <li> Bug fixes:<br/>
      network: don't "refresh" iptables rules on rule-less networks (Laine Stump),<br/>
      qemu: Fix failure path in disk hotplug (Jiri Denemark),<br/>
      Ensure existing selinux mount is removed before mounting new one in LXC (Daniel P. Berrange),<br/>
      Fix crash accessing a NULL URI when looking up auth credentials (Daniel P. Berrange),<br/>
      Ensure autogen.sh exists if bootstrap fails (Daniel P. Berrange),<br/>
      security: Don't ignore errors when parsing DAC security labels (Peter Krempa),<br/>
      qemu: Transition domain to PAUSED after 'stop' command (Michal Privoznik),<br/>
      network: fix element size / length in memmove (Laine Stump),<br/>
      network: fix incorrect VIR_NETWORK_UPDATE_COMMAND_* values (Laine Stump),<br/>
      virsh: Fix resource leaks when editing files (Peter Krempa),<br/>
      util: don't print free'd dmidecode path (Eric Blake),<br/>
      rpc: Fix name of member in remote_protocol-structs (Peter Krempa),<br/>
      qemu: Avoid deadlock on HandleAgentEOF (Michal Privoznik),<br/>
      conf: avoid freeing network object with undestroyed mutex (Laine Stump),<br/>
      Add missing 'goto error' in QEMU command line building (Daniel P. Berrange),<br/>
      Fix initialization of virCommandPtr when creating QEMU argv (Daniel P. Berrange),<br/>
      Fix 3 broken test cases which were mistakenly raising errors (Daniel P. Berrange),<br/>
      qemu: fix uninitialized variable in qemuParseCommandLine (Ján Tomko),<br/>
      security: Fix libvirtd crash possibility (Martin Kletzander),<br/>
      snapshot: fix rollback failure in transaction mode (Guannan Ren),<br/>
      conf: avoid libvirt crash with empty address guestfwd channel (Alex Jia),<br/>
      Wait to receive QMP greeting before sending any monitor commands (Daniel P. Berrange),<br/>
      parallels: fix parallelsDomainDefineXML for domains with VNC and autoport (Dmitry Guryanov),<br/>
      parallels: fix parallelsDoCmdRun in case of command failure (Dmitry Guryanov),<br/>
      Backcompt for console devices in virDomainDeviceInfoIterate (Li Zhang),<br/>
      fix bug in qemuSetupCgroupForEmulator (Hu Tao),<br/>
      python: Initialize new_params in virDomainSetSchedulerParameters (Federico Simoncelli),<br/>
      Don't invoke the auth callback if all credentials were in config file (Daniel P. Berrange),<br/>
      Call virResetLastError in all virConnectOpen* functions (Daniel P. Berrange),<br/>
      Check against python None type when filling in auth parameters (Daniel P. Berrange),<br/>
      Fix crash passing an empty list to python openAuth() API (Daniel P. Berrange),<br/>
      Fix unwanted closing of libvirt client connection (Christophe Fergeau),<br/>
      Fix RPM spec conditional when %{rhel} is not defined (Daniel P. Berrange),<br/>
      events: Fix domain event race on client disconnect (Christophe Fergeau),<br/>
      Don't assume use of /sys/fs/cgroup (Daniel P. Berrange),<br/>
      remove dnsmasq command line parameter "--filterwin2k" (Gene Czarcinski),<br/>
      network: prevent infinite hang if ovs-vswitchd isn't running (Laine Stump),<br/>
      qemu: don't pin all the cpus (Martin Kletzander),<br/>
      build: use re-entrant functions in virsh (Eric Blake),<br/>
      qemu: Do not require auth scheme in graphics events (Jiri Denemark),<br/>
      qemu: Fix reboot with guest agent (Jiri Denemark),<br/>
      qemu: Don't update graphic definitions on password change failure (Peter Krempa),<br/>
      python: don't mask libvirt errors (Eric Blake),<br/>
      command: shell-quote when logging commands (Eric Blake),<br/>
      qemu: fix remote port searching (Martin Kletzander),<br/>
      schemas: Fix wwn pattern (Osier Yang)<br/>
      </li>

      <li> Improvements:<br/>
      Don't install legacy initscripts at same time as systemd ones (Daniel P. Berrange),<br/>
      network: log error for unknown virNetworkUpdate command codes (Laine Stump),<br/>
      network: make virNetworkObjUpdate error detection/recovery better (Laine Stump),<br/>
      Drop unused return value of virLogOutputFunc (Miloslav Trmač),<br/>
      Add &lt;lt;seclabel&gt; to character devices (Richard W.M. Jones),<br/>
      Make virSecurityDeviceLabelDefParseXML into generic device &lt;lt;seclabel&gt; parser (Richard W.M. Jones),<br/>
      Improve some debugging log messages in LXC mount setup (Daniel P. Berrange),<br/>
      network: backend for virNetworkUpdate of portgroups (Laine Stump),<br/>
      network: backend for virNetworkUpdate of dhcp range (Laine Stump),<br/>
      virsh: new net-update command (Laine Stump),<br/>
      tests: Add tests for dump-core option (Martin Kletzander),<br/>
      qemu: add support for dump-guest-core option (Martin Kletzander),<br/>
      Add support for limiting guest coredump (Martin Kletzander),<br/>
      QEMU Tests for reboot-timeout (Martin Kletzander),<br/>
      qemu: Add support for reboot-timeout (Martin Kletzander),<br/>
      Add support for reboot-timeout (Martin Kletzander),<br/>
      simplify xenXMDomainPinVcpu function (liguang),<br/>
      Cleanup of domain_conf sentinels (Martin Kletzander),<br/>
      qemu: Cleanup boot parameter building (Martin Kletzander),<br/>
      virsh: Move daemon to misc since its not a network (Doug Goldstein),<br/>
      build: define WITH_INTERFACE for the driver (Doug Goldstein),<br/>
      virsh: Rename QEmu to QEMU to match upstream (Doug Goldstein),<br/>
      bitmap: fix problems in previous commit (Eric Blake),<br/>
      build: avoid non-portable byte-swapping (Eric Blake),<br/>
      Fix minor details not only in apic eoi (Martin Kletzander),<br/>
      secret: Fix error for private secrets (Martin Kletzander),<br/>
      virNetDevBandwidthClear: Improve error handling (Martin Kletzander),<br/>
      syntax-check: fix run.in (Martin Kletzander),<br/>
      Add a ./run script for running programs from the local directory (Richard W.M. Jones),<br/>
      daemon: Fix error message when libvirtd is missing (Richard W.M. Jones),<br/>
      gitignore: Ignore .gdb_history file (Richard W.M. Jones),<br/>
      Fix the augea test for qemu libvirtd options (Daniel Veillard),<br/>
      network: implement backend of virNetworkUpdate(IP_DHCP_HOST) (Laine Stump),<br/>
      network: restart radvd/dnsmasq if needed when libvirtd is restarted (Laine Stump),<br/>
      network: implement virNetworkUpdate for test_driver (Laine Stump),<br/>
      network: implement virNetworkUpdate for bridge_driver (Laine Stump),<br/>
      network: reorganize dnsmasq and radvd config file / startup (Laine Stump),<br/>
      conf: implement NetworkObj backend of virNetworkUpdate API (Laine Stump),<br/>
      network: utility functions for updating network config (Laine Stump),<br/>
      network: implement RPC calls for virNetworkUpdate (Laine Stump),<br/>
      tests: add qemu-1.2.0 help data (Ján Tomko),<br/>
      qemu: add -sandbox to command line if requested (Ján Tomko),<br/>
      qemu: conf: add seccomp_sandbox option (Ján Tomko),<br/>
      qemu: add capability flag for seccomp sandbox (Ján Tomko),<br/>
      qemu: Use disk wwn in qemu command line (Osier Yang),<br/>
      qemu: Add caps to indentify if setting wwn is supported by qemu (Osier Yang),<br/>
      conf: Parse and format disk &lt;lt;wwn&gt; (Osier Yang),<br/>
      schema: Add schema for disk &lt;lt;wwn&gt; (Osier Yang),<br/>
      blockjob: add blockcommit support to rpc (Eric Blake),<br/>
      blockjob: add virsh blockcommit (Eric Blake),<br/>
      conf: separate functions to parse DHCPHostDef and DHCPRangeDef (Laine Stump),<br/>
      remove virDomainCpuSetFormat and virDomainCpuSetParse (Hu Tao),<br/>
      xen: eliminate remaining uses of virDomainCpuSetParse (Laine Stump),<br/>
      use virBitmap to store nodeinfo (Hu Tao),<br/>
      use virBitmap to store cells' cpumask info (Hu Tao),<br/>
      use virBitmap to store cpumask info (Hu Tao),<br/>
      use virBitmap to store numa nodemask info (Hu Tao),<br/>
      use virBitmap to store cpu affinity info (Hu Tao),<br/>
      use virBitmap to store cpupin info (Hu Tao),<br/>
      New functions for virBitmap (Hu Tao),<br/>
      bitmap: new member variable and function renaming (Hu Tao),<br/>
      Build: Fix typos which cause build failure (Osier Yang),<br/>
      node_memory: Expose the APIs to Python bindings (Osier Yang),<br/>
      node_memory: Expose the APIs to virsh (Osier Yang),<br/>
      node_memory: Support get/set memory parameters for drivers (Osier Yang),<br/>
      node_memory: Implement the internal APIs (Osier Yang),<br/>
      node_memory: Wire up the RPC protocol (Osier Yang),<br/>
      list: Use virConnectListAllSecrets in virsh (Osier Yang),<br/>
      list: Expose virConnectListAllSecrets to Python binding (Osier Yang),<br/>
      list: Implement listAllSecrets (Osier Yang),<br/>
      list: Implement RPC calls for virConnectListAllSecrets (Osier Yang),<br/>
      list: Use virConnectListAllNWFilters in virsh (Osier Yang),<br/>
      list: Expose virConnectListAllNWFilters to Python binding (Osier Yang),<br/>
      list: Implement listAllNWFilters (Osier Yang),<br/>
      list: Implement RPC calls for virConnectListAllNWFilters (Osier Yang),<br/>
      list: Use virConnectListAllNodeDevices in virsh (Osier Yang),<br/>
      virsh: Don't motify the const string (Osier Yang),<br/>
      list: Expose virConnectListAllNodeDevices to Python binding (Osier Yang),<br/>
      list: Implement listAllNodeDevices (Osier Yang),<br/>
      list: Add helpers for listing node devices (Osier Yang),<br/>
      list: Implement RPC calls for virConnectListAllNodeDevices (Osier Yang),<br/>
      Introduce a API for creating QEMU capabilities for a binary (Daniel P. Berrange),<br/>
      Remove upfront check for hmp - just try it cope with failure (Daniel P. Berrange),<br/>
      Don't overwrite errors raised by qemuMonitorHMPCommand (Daniel P. Berrange),<br/>
      qemu: Add support for EOI with APIC (Martin Kletzander),<br/>
      Add support for EOI with APIC (Martin Kletzander),<br/>
      Improve virTypedParameterValidateSet (Osier Yang),<br/>
      parallels: implement containers creation (Dmitry Guryanov),<br/>
      parallels: fix parallelsDomainDefineXML for existing containers (Dmitry Guryanov),<br/>
      parallels: handle unlimited cpus on containers (Dmitry Guryanov),<br/>
      Fix data types used for list sizes in QEMU capabilities (Daniel P. Berrange),<br/>
      Add API for copying instances of the qemuCapsPtr object (Daniel P. Berrange),<br/>
      Add ability to store other metadata in the qemu capabilities object (Daniel P. Berrange),<br/>
      Make qemuCapsProbeCommand static (Daniel P. Berrange),<br/>
      Turn QEMU capabilities object into a full virObjectPtr (Daniel P. Berrange),<br/>
      Allow caps to be NULL when creating virDomainObjPtr instances (Daniel P. Berrange),<br/>
      Add a virBitmapCopy API (Daniel P. Berrange),<br/>
      test: add xml2argvtest for usb-redir filter and update xml schema (Guannan Ren),<br/>
      qemu: build USB redirection filter qemu command line (Guannan Ren),<br/>
      qemu: define and parse USB redirection filter XML (Guannan Ren),<br/>
      virsh: Fix version numbers in comments (Osier Yang),<br/>
      qemu: add usb-redir.filter qemu capability flag (Guannan Ren),<br/>
      maint: fix missing spaces in message (Eric Blake),<br/>
      build: avoid confusing make with raw name 'undefine' (Eric Blake),<br/>
      Add API for opening a QEMU monitor from a socket FD (Daniel P. Berrange),<br/>
      list: Expose virConnectListAllInterfaces to Python binding (Osier Yang),<br/>
      list: Use virConnectListAllInterfaces in virsh (Osier Yang),<br/>
      list: Implement listAllInterfaces (Osier Yang),<br/>
      list: Implemente RPC calls for virConnectListAllInterfaces (Osier Yang),<br/>
      build: avoid dirty docs on fresh bootstrap (Eric Blake),<br/>
      Print any exception that occurs in authentication callback (Daniel P. Berrange),<br/>
      virsh: Fix the typos (Osier Yang),<br/>
      list: Expose virConnectListAllNetworks to Python binding (Osier Yang),<br/>
      list: Use virConnectListAllNetworks in virsh (Osier Yang),<br/>
      list: Implement listAllNetworks for test driver (Osier Yang),<br/>
      list: Implement listAllNetworks for network driver (Osier Yang),<br/>
      list: Add helpers to list network objects (Osier Yang),<br/>
      list: Implement RPC calls for virConnectListAllNetworks (Osier Yang),<br/>
      list: Expose virStoragePoolListAllVolumes to Python binding (Osier Yang),<br/>
      list: Use virStoragePoolListAllVolumes in virsh (Osier Yang),<br/>
      list: Implement virStoragePoolListAllVolumes for test driver (Osier Yang),<br/>
      list: Implement virStoragePoolListAllVolumes for storage driver (Osier Yang),<br/>
      list: Implement RPC calls for virStoragePoolListAllVolumes (Osier Yang),<br/>
      Introduce a test suite for the JSON monitor (Daniel P. Berrange),<br/>
      Add helper library for testing the qemu monitor code (Daniel P. Berrange),<br/>
      Add non-null annotations to qemuMonitorOpen (Daniel P. Berrange),<br/>
      Fix PMSuspend and PMWakeup events (Jiri Denemark),<br/>
      virsh: Update only changed scheduler tunables (Peter Krempa),<br/>
      util: Add helper to assign typed params from string (Peter Krempa),<br/>
      qemu: Add range checking for scheduler tunables when changed by API (Peter Krempa),<br/>
      qemu: clean up qemuSetSchedulerParametersFlags() (Peter Krempa),<br/>
      list: fix typo in virsh patch (Eric Blake),<br/>
      Remove duplicate symbols and add test case (Daniel P. Berrange),<br/>
      python: Expose virStorageListAllStoragePools to python binding (Osier Yang),<br/>
      list: Use virConnectListAllStoragePools in virsh (Osier Yang),<br/>
      list: Change MATCH for common use in virsh (Osier Yang),<br/>
      virsh: Fix the wrong doc for pool-list (Osier Yang),<br/>
      list: Add helper to convert strings separated by ',' to array (Osier Yang),<br/>
      list: Implement listAllStoragePools for test driver (Osier Yang),<br/>
      list: Implement listAllStoragePools for storage driver (Osier Yang),<br/>
      list: Implement the RPC calls for virConnectListAllStoragePools (Osier Yang),<br/>
      list: Add helpers for listing storage pool objects (Osier Yang),<br/>
      esx: Add implementation for virConnectListAllDomains() (Peter Krempa),<br/>
      hyperv: Add implementation for virConnectListAllDomains() (Peter Krempa),<br/>
      maint: avoid doubled name in syntax check failures (Eric Blake),<br/>
      Rename iolimit to blockio (Viktor Mihajlovski),<br/>
      tests: Add tests for qemu S3/S4 state configuration (Martin Kletzander),<br/>
      qemu: Add support for S3/S4 state configuration (Martin Kletzander),<br/>
      conf: Support for Block Device IO Limits (Viktor Mihajlovski),<br/>
      virsh: Improve checking for connection when running commands (Peter Krempa),<br/>
      util: Update the inconsistent and outdated comments (Osier Yang)<br/>
      </li>

      <li> Cleanups:<br/>
      Remove redundant lines in src/qemu/qemu_driver.c (Tang Chen),<br/>
      Remove a redundant line in src/qemu/qemu_driver.c (Tang Chen),<br/>
      maint: fix up copyright notice inconsistencies (Eric Blake),<br/>
      build: avoid unused symbol (Eric Blake),<br/>
      Adhere to copyright_address check (Guido Günther),<br/>
      qemuhelptest: convert runaway tab to spaces (Ján Tomko),<br/>
      qemu: drop unused arguments for dump-guest-memory (Eric Blake),<br/>
      Build: Fix typos which cause build failure (Osier Yang),<br/>
      esx: Remove unused variable from esxDomainGetAutostart (Matthias Bolte),<br/>
      build: avoid tabs that failed syntax-check (Eric Blake),<br/>
      virsh: remove unneeded usage of vshConnectionUsability() (Peter Krempa)<br/>
      </li>
    </ul>

    <h3>0.10.1: August 31 2012</h3>
    <ul>
      <li> Bug Fixes:<br/>
      conf: Avoid formatting auto-generated DAC labels (Marcelo Cerri),<br/>
      conf: Fix parsing of seclabels without model (Marcelo Cerri),<br/>
      virsh: fixed incorrect timing report (Viktor Mihajlovski),<br/>
      qemu: Don't ignore CPU tuning config if required cgroups are missing (Jiri Denemark),<br/>
      cgroup: fix libvirtd crash caused by messed memory (Guannan Ren),<br/>
      cgroup: fix a typo on extracting data from vcpu cgroup (Guannan Ren),<br/>
      cgroup: read more data from cgroup cpuacct.usage_percpu (Guannan Ren),<br/>
      nwfilter: adapt IP learning for broadcasted DHCP replies (Stefan Berger),<br/>
      nwfilter: accept broadcasted DHCP replies in DHCP snooping code (Stefan Berger),<br/>
      Fix adding ports to OVS bridges without VLAN tags (Kyle Mestery),<br/>
      Fix xen driver following changes to make it stateful (Jim Fehlig),<br/>
      Fix issue of PF brought down if VF is 8021.Qbh and pci passthrough (Nishank Trivedi),<br/>
      nwfilter: loop generated too many rules (Stefan Berger),<br/>
      security: Re-apply commit ce53382ba28179d3a504b29b4f888b6e130d53f0 (Peter Krempa),<br/>
      vcpupin: Fix returning of arrays from virDomainVcpuPinAdd (Peter Krempa),<br/>
      qemu: Fix possible infinite loop and segfault on error path. (Peter Krempa),<br/>
      qemu: Clean up security driver initialisation and config file (Peter Krempa),<br/>
      qemu: Revert to blocking behavior of qemuAgentCommand (Jiri Denemark),<br/>
      qemu: Remove redundant parameter from qemuAgentSend (Jiri Denemark),<br/>
      network: get vlan info for Open vSwitch interfaces from proper source (Laine Stump),<br/>
      Small cleanup on previous patch (Daniel Veillard),<br/>
      Fix a crash when using Open vSwitch virtual ports (Kyle Mestery),<br/>
      qemu: Sort the numa params only when it affects the live config (Osier Yang),<br/>
      Fix configuration of QEMU security drivers (Daniel P. Berrange),<br/>
      qemu: Refactor initialisation of security drivers. (Peter Krempa),<br/>
      Revert "security: Add DAC to security_drivers" (Peter Krempa),<br/>
      qemu: Fix starting domains with no cpu cgroup (Jiri Denemark)<br/>
      </li>

      <li> Documentation:<br/>
      virsh: Document subdriver option of attach-disk (Jiri Denemark),<br/>
      update option force to subcommand change-media (Guannan Ren),<br/>
      Fix typo in CPU tuning (Jiri Denemark),<br/>
      Fix emulator pinning example in formatdomain.html (Peter Krempa)<br/>
      </li>

      <li> Improvement:<br/>
      Implement virMacAddrIsBroadcastRaw (Stefan Berger)<br/>
      </li>

      <li> Cleanup:<br/>
      security: remove dead code from virSecurityDACGenLabel (Alex Jia)<br/>
      </li>
    </ul>

    <h3>0.10.0: August 29 2012</h3>
    <ul>
      <li> Features:<br/>
      agent: add qemuAgentArbitraryCommand() for general qemu agent command (MATSUDA Daiki),<br/>
      Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo functions. (Tang Chen),<br/>
      network: use firewalld instead of iptables, when available (Thomas Woerner),<br/>
      network: make network driver vlan-aware (Laine Stump),<br/>
      esx: Implement network driver (Matthias Bolte),<br/>
      driver for parallels hypervisor (Dmitry Guryanov),<br/>
      Various LXC improvements (Daniel P. Berrange),<br/>
      Add virDomainGetHostname (Guido Günther)<br/>
      </li>

      <li> Documentation:<br/>
      CPU allocation and pinning clarification (Martin Kletzander),<br/>
      libssh2_transport: Add docs to remote.html (Peter Krempa),<br/>
      Fix some typos in messages, docs and comments. (Yuri Chornoivan),<br/>
      fix blockpull/blockcopy bandwidth Mbps -&gt; MiB/s (Stefan Hajnoczi),<br/>
      qemu: modify 3 error messages (Martin Kletzander),<br/>
      Enhance documentation of log_filters (Jiri Denemark),<br/>
      Update libvirtd --help output to match code (Doug Goldstein),<br/>
      Update paths in man page to reflect libvirtd code (Doug Goldstein),<br/>
      Fix man page file paths to real paths (Doug Goldstein),<br/>
      Update documentation for CPU quota/period support for LXC (Sukadev Bhattiprolu),<br/>
      docs/virsh: various minor fixes (Martin Kletzander),<br/>
      autogenerate search.php (Martin Kletzander),<br/>
      fix 404 page when fetched from different location (Martin Kletzander),<br/>
      Add method to print warnings in docBuilder class (Peter Krempa),<br/>
      maint: avoid regression on copyright listings (Eric Blake),<br/>
      maint: Use consistent copyright. (Osier Yang),<br/>
      add more description on libvirtd option timeout (Guannan Ren),<br/>
      virsh man page - domain-id consistency (Jan Tomko),<br/>
      Fixup manpage names and copyright dates (Laine Stump),<br/>
      conf: Fix typo in virDomainHostdevSubsys comment (Jiri Denemark),<br/>
      maint: spelling correction in AUTHORS (Eric Blake),<br/>
      virsh: Clarify that memtune parameters may be rounded in the man page (Jan Tomko),<br/>
      Fix time keeping example for the guest clock (Doug Goldstein),<br/>
      Desert the FSF address in copyright (Osier Yang),<br/>
      Improve patch submission guidelines (Michal Privoznik),<br/>
      Clarify direct migration (Jiri Denemark),<br/>
      added description of the vendor_id attribute (Hendrik Schwartke),<br/>
      virsh: Clarify documentation for virsh dompmsuspend command (Peter Krempa)<br/>
      </li>

      <li> Portability:<br/>
      Don't require gawk for a simple print expression (Guido Günther),<br/>
      Portability fixes for non-linux or old linux platforms (Daniel Veillard),<br/>
      build: define 'inline' iff HAVE_LIBNL1 (Michal Privoznik),<br/>
      build: work with older libnl1 headers (Eric Blake),<br/>
      specfile: require libnl3 for Fedora &gt;= 18 and RHEL &gt;= 7 (Laine Stump),<br/>
      build: add LIBNL_CFLAGS to build of libvirt_lxc (Laine Stump),<br/>
      Fix a missing build requirement on dbus-devel (Daniel Veillard),<br/>
      Fix parameter list in virNetlinkEvent{Add,Remove}Client Win32 stubs (Daniel P. Berrange),<br/>
      build: avoid $(builddir) in Makefile (Eric Blake),<br/>
      build: network requires location of dbus headers (Eric Blake),<br/>
      atomic: mark header functions static (Eric Blake),<br/>
      build: work with glibc that lacks CPU_COUNT (Eric Blake),<br/>
      build: work with older RHEL 5 kernel (Eric Blake),<br/>
      build: silence stupid gcc warning on STREQ_NULLABLE (Eric Blake),<br/>
      Fix parsing of uid/gid on Mingw32 (Daniel P. Berrange),<br/>
      build: fix build with autoconf 2.59 (Eric Blake),<br/>
      Fix build of virsh on Win32 by moving SA_SIGINFO stub (Daniel P. Berrange),<br/>
      Make Win32 stub of vshAskReedit non-static (Daniel P. Berrange),<br/>
      Fix WIN32 conditional for disabling console command (Daniel P. Berrange),<br/>
      build: avoid warnings on older gcc (Eric Blake),<br/>
      Fix virJSONValueToString prototype for Mingw32 (Daniel P. Berrange),<br/>
      random: link with -lm when needed (Eric Blake),<br/>
      build: fix link error with appArmor (Eric Blake),<br/>
      virsh.c: Fix compiler warning (Cole Robinson),<br/>
      Avoid clash of base64 symbols (Daniel P. Berrange),<br/>
      build: fix build without HAVE_CAPNG (Eric Blake),<br/>
      Fix libnl CFLAGS/LIBS inclusion (Doug Goldstein),<br/>
      build: fix compilation without struct ifreq (Eric Blake),<br/>
      configure: rbd doesn't need -lcrypto (Cole Robinson),<br/>
      build: fix typo that breaks non-Linux builds (Eric Blake)<br/>
      </li>

      <li> BugFixes:<br/>
      nwfilter: Don't try to acquire DBus context when DBus is disabled (Peter Krempa),<br/>
      util: Prevent libvirtd crash (Alex Jia),<br/>
      security_dac: Don't return uninitialised uid and gid for image labels (Peter Krempa),<br/>
      security_dac: Don't return uninitialised value when parsing seclabels (Peter Krempa),<br/>
      security_dac: Avoid segfault when no label is requested (Peter Krempa),<br/>
      util: Fix error message when getpwuid_r fails to find the user (Peter Krempa),<br/>
      conf: Fix the problem which cause libvirtd to crash (Osier Yang),<br/>
      qemu: Fix define logic (Michal Privoznik),<br/>
      qemu_agent: Switch to virReportSystemError() on system error (Michal Privoznik),<br/>
      conf: prevent NULL pointer access in virSecurityLabelDefsParseXML (Ján Tomko),<br/>
      rpc: fix segmentation fault caused by null client-sock (Guannan Ren),<br/>
      qemu: fix regression with spice tls port allocation (Martin Kletzander),<br/>
      qemu: fix regression with pinning (Martin Kletzander),<br/>
      virsh: fix missing return value (Alex Jia),<br/>
      xen-xs: fix uuid of renamed domain (Philipp Hahn),<br/>
      openvz: check the exitstatus of vzlist (Laine Stump),<br/>
      network: fix virtual network bridge delay setting (Laine Stump),<br/>
      qemu: forbid suspend if already pmsuspended (Michal Privoznik),<br/>
      fix check of vcpuid in virDomainVcpuPinDefParseXML (Hu Tao),<br/>
      util: eliminate erroneous VIR_WARNs in (eb|ip)tables.c (Laine Stump),<br/>
      dnsmasq: avoid forwarding queries without a domain (Gene Czarcinski),<br/>
      virsh: don't print error info when snapshot xml is not changed (Guannan Ren),<br/>
      Fix typo in Makefile.am  s/LDFOAGS/LDFLAGS/ (Daniel P. Berrange),<br/>
      client: Change default location of known_hosts file for libssh2 layer (Peter Krempa),<br/>
      command: avoid double close in virExecWithHook (Ján Tomko),<br/>
      Fix regression generating image context (Daniel P. Berrange),<br/>
      selinux: Fix incorrect object label generation. (Viktor Mihajlovski),<br/>
      conf: log error when encountering multiple filterrefs in interface (Laine Stump),<br/>
      openvz: unlock virDomainObj objects in openvzOpen (Dmitry Guryanov),<br/>
      util: typos in fallback code fo virDoubleToStr (Martin Kletzander),<br/>
      Fix timebomb in LIBVIRT_VERSION_INFO calculation (Daniel P. Berrange),<br/>
      json: fix interface locale dependency (Martin Kletzander),<br/>
      virsh: say save-image-edit failed only when it does (Ján Tomko),<br/>
      sanlock: don't unlink lockspace if registration fails (Asad Saeed),<br/>
      build: Distribute check-symfile.pl (Cole Robinson),<br/>
      Release only specific sanlock resource (Frido Roose),<br/>
      build: fix binary location in stap files --with-driver-modules (Laine Stump),<br/>
      nwfilter: fix crash during filter define when lxc driver failed startup (Laine Stump),<br/>
      nwfilter: remove target table before renaming it (Stefan Berger),<br/>
      qemu: Fix debug message in p2p migration (Jiri Denemark),<br/>
      Fix errno check, prevent spurious errors under heavy load (Peter Feiner),<br/>
      rpc: fix a virObject typo error in struct _virNetServer (Guannan Ren),<br/>
      Set LIBVIRT_AUTOSTART=0 when running test suites (Daniel P. Berrange),<br/>
      qemu: Set reasonable RSS limit on domain startup (Michal Privoznik),<br/>
      conf: Remove console stream callback only when freeing console helper (Peter Krempa),<br/>
      client: Free message when freeing client (Peter Krempa),<br/>
      build: fix "make rpm" (Laine Stump),<br/>
      Fix typo s/AM_CLFAGS/AM_CFLAGS/ in sanlock link (Daniel P. Berrange),<br/>
      virsh: console: Avoid using stream after being freed. (Peter Krempa),<br/>
      remote: Fill snapshot argument in remoteDomainSnapshotListAllChildren (Peter Krempa),<br/>
      qemu: Fix typo in qemuDomainModifyDeviceFlags (Michal Privoznik),<br/>
      build: commit to 0.10.0 release naming (Eric Blake),<br/>
      build: Link security driver into daemon (Jiri Denemark),<br/>
      Fix rpm build failures (Daniel Veillard),<br/>
      Add missing parallels_utils.h to Makefile.am (Daniel Veillard),<br/>
      qemu: syntax fix (Marc-André Lureau),<br/>
      qemu: fix use after free (Eric Blake),<br/>
      build: distribute virsh related source files (Guannan Ren),<br/>
      daemon: Fix crash in virTypedParameterArrayClear (Jiri Denemark),<br/>
      conf: Remove callback from stream when freeing entries in console hash (Peter Krempa),<br/>
      Process all pending I/O for a RPC client before checking EOF (Daniel P. Berrange),<br/>
      libvirt-guests: systemd host shutdown does not work (Gerd v. Egidy),<br/>
      virsh: Fix error resetting on fallback paths (Peter Krempa),<br/>
      virsh: Check for existence of storage before undefining the domain (Peter Krempa),<br/>
      util: Fix typoes on return value and comments (Guannan Ren),<br/>
      fixed SegFault in virauth (Martin Kletzander),<br/>
      virsh: fixed domdisplay command (Martin Kletzander),<br/>
      building: fix deps error when some drivers are not built (Wen Congyang),<br/>
      ESX: Fix ESX_VI__TEMPLATE__DYNAMIC_DEEP_COPY (Ata E Husain Bohra),<br/>
      tests: avoid seclabeltest crash (Eric Blake),<br/>
      Only enforce check for YAJL when starting a VM (Daniel P. Berrange),<br/>
      Make the 'lxc_driver' global variable non-static (Gao feng),<br/>
      Reset the 'quit' flag in virNetServerRun (Daniel P. Berrange),<br/>
      Don't autostart domains when reloading config (Daniel P. Berrange),<br/>
      esx: Fix esxVI_String_Deserialize (Matthias Bolte),<br/>
      nodeinfo: deal with offline cpus in a node (Eric Blake),<br/>
      lxcContainerMountCGroups also mounts a tmpfs that needs to be labeled. (Dan Walsh),<br/>
      remote: Fix locking in stream APIs (Jiri Denemark),<br/>
      qemu: Do not fail virConnectCompareCPU if host CPU is not known (Jiri Denemark),<br/>
      qemu: Fix probing for guest capabilities (Jiri Denemark),<br/>
      fix failure when building with --disable-debug (Hu Tao),<br/>
      virsh: remove unnecessary sleep for nodecpustats --percent (Viktor Mihajlovski),<br/>
      Fix daemon auto-spawning (Christophe Fergeau),<br/>
      Fix directory removal in filesystem storage driver (Sascha Peilicke),<br/>
      storage: Default pool permission mode to 0755 (Osier Yang),<br/>
      Fix shutdown of LXC controller (Daniel P. Berrange),<br/>
      openvz: Handle domain obj hash map errors (Guido Günther),<br/>
      Fix /domain/features setting in qemuParseCommandLine (Christophe Fergeau),<br/>
      systemd: start libvirtd after network (Jim Fehlig),<br/>
      util: Use current uid and gid if they are passed as -1 for virDirCreate (Osier Yang),<br/>
      virsh: Ensure the parents of the readline history path exists (Osier Yang),<br/>
      Fix a string format bug in qemu_cgroup.c (tangchen),<br/>
      storage_backend_fs: Allocate entry for host before accessing it (Peter Krempa),<br/>
      storage_backend_fs: Don't free a part of a structure on error (Peter Krempa),<br/>
      Only ummount /proc, /sys, /dev if the root source is '/' (Daniel P. Berrange),<br/>
      Fix one test regression on auth Ceph support (Daniel Veillard),<br/>
      Avoid build shared source files again for libvirt_lxc (Daniel P. Berrange),<br/>
      qemu: Always set auth_supported for Ceph disks. (Wido den Hollander),<br/>
      virsh: Fix ordering of arguments when calling vshCalloc. (Peter Krempa),<br/>
      remote: Fill remote parameters in remoteDomainListAllSnapshots() (Peter Krempa),<br/>
      qemu: Mark domains as having managed state image only on managed save (Peter Krempa),<br/>
      fix key error for qemuMonitorGetBlockStatsInfo (lvroyce)<br/>
      </li>

      <li> Improvements:<br/>
      Introduce new VIR_ERR_AGENT_UNRESPONSIVE error code (Michal Privoznik),<br/>
      qemu: Switch to unified func name (Michal Privoznik),<br/>
      snapshot: rename an enum (Eric Blake),<br/>
      snapshot: split snapshot conf code into own file (Eric Blake),<br/>
      snapshot: make virDomainSnapshotObjList opaque (Eric Blake),<br/>
      conf: Don't always require security/@model (Michal Privoznik),<br/>
      security: Add DAC to security_drivers (Michal Privoznik),<br/>
      nwfilter: don't log error if firewalld is disabled, improve diagnostics (Laine Stump),<br/>
      qemu-agent: available in 0.10.0 (Eric Blake),<br/>
      agent: add qemu-agent-command to virsh (MATSUDA Daiki),<br/>
      agent: add python module support (MATSUDA Daiki),<br/>
      agent: add remote driver support (MATSUDA Daiki),<br/>
      agent: add qemu driver support (MATSUDA Daiki),<br/>
      agent: add virDrvDomainQemuAgentCommand prototype for drivers. (MATSUDA Daiki),<br/>
      agent : add @seconds variable to qemuAgentSend(). (MATSUDA Daiki),<br/>
      Add uevent netlink service. (Tang Chen),<br/>
      Introduce virNetlinkEventServiceStopAll() to stop all netlink services. (Tang Chen),<br/>
      Improve netlink to support all protocol. (Tang Chen),<br/>
      libssh2_session: Add support for creating known_hosts file (Peter Krempa),<br/>
      qemu: support of emulator_period and emulator_quota's modification (Wen Congyang),<br/>
      new interface to control emulator_period/emulator_quota (Hu Tao),<br/>
      qemu: introduce period/quota tuning for emulator (Hu Tao),<br/>
      limit cpu bandwidth only for vcpus (Hu Tao),<br/>
      new command emulatorpin (Hu Tao),<br/>
      Add a new function vshPrintPinInfo. (Hu Tao),<br/>
      remote: introduce emulator pinning RPCs (Tang Chen),<br/>
      qemu: support emulator pinning (Hu Tao),<br/>
      Introduce virDomainEmulatorPinAdd and virDomainEmulatorPinDel functions (Tang Chen),<br/>
      Add qemuProcessSetEmulatorAffinites and set emulator threads affinities (Tang Chen),<br/>
      qemu: synchronize emulatorpin info to cgroup (Tang Chen),<br/>
      Support emulatorpin xml parse. (Tang Chen),<br/>
      Change virDomainVcpuPinDefParseXML to support parsing emulatorpin (Hu Tao),<br/>
      Enable cpuset cgroup and synchronous vcpupin info to cgroup. (Hu Tao),<br/>
      updates of some vcpupin related functions (Hu Tao),<br/>
      refactor virDomainVcpuPinAdd() (Hu Tao),<br/>
      add function bitmapFromBytemap() to convert bytemap to bitmap (Hu Tao),<br/>
      create a new cgroup and move all emulator threads to the new cgroup (Wen Congyang),<br/>
      Introduce the function virCgroupMoveTask (Hu Tao),<br/>
      Introduce the function virCgroupForEmulator (Wen Congyang),<br/>
      output status information during guest shutdown again (Gerd v. Egidy),<br/>
      qemu: Disk Geometry Override Support (J.B. Joret),<br/>
      Support for Disk Geometry Override (J.B. Joret),<br/>
      nwfilter: provide basic support for firewalld (Stefan Berger),<br/>
      sanlock: Provide better error if lockspace directory is missing (Jiri Denemark),<br/>
      daemon: Autodetect lock driver directory (Jiri Denemark),<br/>
      build: split driver_storage into convenience library (Eric Blake),<br/>
      libssh2_transport: Use libssh2 driver code in remote driver (Peter Krempa),<br/>
      libssh2_transport: Add libssh2 session support to net client code (Peter Krempa),<br/>
      libssh2_transport: add ssh context support to virNetSocket (Peter Krempa),<br/>
      libssh2_transport: add main libssh2 transport implementation (Peter Krempa),<br/>
      Add test case for SELinux label generation (Daniel P. Berrange),<br/>
      Honour current sensitivity and category ranges in SELinux label generation (Daniel P. Berrange),<br/>
      qemu: configurable remote display port boundaries (Martin Kletzander),<br/>
      qemu: Unify port-wise SPICE and VNC behavior (Martin Kletzander),<br/>
      virsh: split out virsh-volume.c (Eric Blake),<br/>
      virsh: split out virsh-snapshot.c (Eric Blake),<br/>
      virsh: split out virsh-secret.c (Eric Blake),<br/>
      virsh: split out virsh-pool.c (Eric Blake),<br/>
      virsh: split out virsh-nwfilter.c (Eric Blake),<br/>
      virsh: split out virsh-nodedev.c (Eric Blake),<br/>
      virsh: split out virsh-network.c (Eric Blake),<br/>
      virsh: split out virsh-interface.c (Eric Blake),<br/>
      virsh: declare more common functions (Eric Blake),<br/>
      virsh: split out virsh-host.c (Eric Blake),<br/>
      virsh: split out virsh-domain-monitor.c (Eric Blake),<br/>
      Update the remote API (Marcelo Cerri),<br/>
      Support for multiple default security drivers in QEMU config (Marcelo Cerri),<br/>
      Update security layer to handle many security labels (Marcelo Cerri),<br/>
      Multiple security drivers in XML data (Marcelo Cerri),<br/>
      Internal refactory of data structures (Marcelo Cerri),<br/>
      virsh: use common namespacing (Eric Blake),<br/>
      Add support for creating sockets &amp; RPC servers from a pre-opened fd (Daniel P. Berrange),<br/>
      Refactor impl of the virNetServerClientNew method (Daniel P. Berrange),<br/>
      Refactor the way new clients are registered with the server (Daniel P. Berrange),<br/>
      virsh: split out virsh-domain.c (Eric Blake),<br/>
      virsh: split out virsh.h (Eric Blake),<br/>
      virsh: move vshWatchJob earlier (Eric Blake),<br/>
      qemu: support netdevs from &lt;forward mode='hostdev'&gt; networks (Shradha Shah),<br/>
      network: support &lt;forward mode='hostdev'&gt; in network driver (Shradha Shah),<br/>
      conf: add function virDevicePCIAddressEqual (Shradha Shah),<br/>
      network: return netdev name or pci addr of the VF in actualDevice (Shradha Shah),<br/>
      conf: parser/formatter/rng for &lt;forward mode='hostdev'&gt; (Shradha Shah),<br/>
      network: helper function to create interface pool from PF (Shradha Shah),<br/>
      conf: move DevicePCIAddress functions to separate file (Shradha Shah),<br/>
      conf: Fix ABI stability check for spicevmc channel (Jiri Denemark),<br/>
      network: add support for setting VLANs on Open vSwitch ports (Kyle Mestery),<br/>
      qemu: Set swap_hard_limit before hard_limit (Osier Yang),<br/>
      build: ship stamp files (Eric Blake),<br/>
      qemu: support setting vlan tag for &lt;interface type='hostdev'&gt; (Laine Stump),<br/>
      util: properly save/restore original vlan tag for VFs (Laine Stump),<br/>
      qemu: Ensure the cpuset is formatted as expected before passing to cgroup (Osier Yang),<br/>
      conf: add &lt;vlan&gt; element to network and domain interface elements (Laine Stump),<br/>
      util: add virNetDevVlanType (Laine Stump),<br/>
      schema: fix some problems in network/interface schemas (Laine Stump),<br/>
      util: include memory.h even if WITH_VIRTUALPORT isn't defined (Laine Stump),<br/>
      Replace unset REMOTE_PID_FILE with proper value (Doug Goldstein),<br/>
      Refactor RPC client private data setup (Daniel P. Berrange),<br/>
      Add further debugging lines to domain lock manager (Daniel P. Berrange),<br/>
      Allow sync IO and keepalives to be skipped in RPC client setup (Daniel P. Berrange),<br/>
      Change interaction when accepting new RPC client connections (Daniel P. Berrange),<br/>
      Add APIs for virThreadPoolPtr to query some config params (Daniel P. Berrange),<br/>
      Allow control over JSON string pretty printing (Daniel P. Berrange),<br/>
      Change function signature for creating new lock manager instances (Daniel P. Berrange),<br/>
      parallels: add domain configuration example (Dmitry Guryanov),<br/>
      parallels: cleanup parallelsOpen and fix error message (Dmitry Guryanov),<br/>
      parallels: change URI to parallels:///system (Dmitry Guryanov),<br/>
      virsh: Add helper to avoid the strcase check for virsh-*.c (Osier Yang),<br/>
      network: add connections counter to networks (Laine Stump),<br/>
      network: change cleanup: to success/cleanup/error: in network*() functions (Laine Stump),<br/>
      conf: output forward device connections count in network XML (Laine Stump),<br/>
      conf: rename interface "usageCount" to "connections" (Laine Stump),<br/>
      conf: use a unique data type for PF array in virDomainNetDef (Laine Stump),<br/>
      network: merge relevant virtualports rather than choosing one (Laine Stump),<br/>
      conf: support partially-specified &lt;virtualport&gt; in parser and formatter (Laine Stump),<br/>
      conf: simplify Buffer Indentation in virDomainNetDefFormat (Laine Stump),<br/>
      conf: make error returns from virDomainActualNetDefFormat consistent (Laine Stump),<br/>
      conf: move virtPortProfile out of unions in virDomainNetDef (Laine Stump),<br/>
      util: utility functions for virNetDevVPortProfile (Laine Stump),<br/>
      util: add openvswitch case to virNetDevVPortProfileEqual (Laine Stump),<br/>
      util: eliminate union in virNetDevVPortProfile (Laine Stump),<br/>
      util: make return value of virUUIDFormat and virMacAddrFormat useful (Laine Stump),<br/>
      Pull code which finds a free MCS label out into its own method (Daniel P. Berrange),<br/>
      Honour current user and role in SELinux label generation (Daniel P. Berrange),<br/>
      Fix error reporting in virSecuritySELinuxGenNewContext (Daniel P. Berrange),<br/>
      Use VIR_ERR_CONFIG_UNSUPPORTED if requested security driver is disabled (Daniel P. Berrange),<br/>
      Add missing domain_conf.h include in security_manager.h (Daniel P. Berrange),<br/>
      Add virRandom() API to generate numbers with non-power-of-2 limit (Daniel P. Berrange),<br/>
      virsh: make 'help' command ignore spurious options (Cole Robinson),<br/>
      virsh: Convert '&lt;cmd&gt; --help' to 'help &lt;cmd&gt;' (Cole Robinson),<br/>
      virterror: Add error message for unsupported operations. (Peter Krempa),<br/>
      build: fix PROBE() usage of intptr_t (Eric Blake),<br/>
      esx: Remove redundant checks for esxVI_LookupHostSystemProperties result (Matthias Bolte),<br/>
      esx: Fix dynamic deep copy (Matthias Bolte),<br/>
      esx: Implement interface driver (Matthias Bolte),<br/>
      Add APIs for obtaining the unique ID of LVM &amp; SCSI volumes (Daniel P. Berrange),<br/>
      examples: Update strings for event details (Jiri Denemark),<br/>
      qemu: Migrate at unlimited speed by default (Jiri Denemark),<br/>
      qemu: Refactor parsing of block device IO tuning parameters. (Peter Krempa),<br/>
      remote: Clean up coding style and refactor remote connection opening (Peter Krempa),<br/>
      Allow rbd backing stores (Peter Feiner),<br/>
      qemu: add two qemu caps for lsi and virtio-scsi SCSI controllers (Guannan Ren),<br/>
      qemu: add capabilities flags related to scsi controller (Guannan Ren),<br/>
      util: include stderr in log message when an external command fails (Laine Stump),<br/>
      Turn virNetClient* into virObject instances (Daniel P. Berrange),<br/>
      Turn virNetServer* into virObject instances (Daniel P. Berrange),<br/>
      Turn virSocket into a virObject (Daniel P. Berrange),<br/>
      Turn virKeepAlive into a virObject (Daniel P. Berrange),<br/>
      Turn virNetSASLContext and virNetSASLSession into virObject instances (Daniel P. Berrange),<br/>
      Turn virNetTLSContext and virNetTLSSession into virObject instances (Daniel P. Berrange),<br/>
      Turn qemuAgentPtr and qemuMonitorPtr into virObjectPtr instances (Daniel P. Berrange),<br/>
      Turn virDomainObjPtr into a virObjectPtr (Daniel P. Berrange),<br/>
      Convert public datatypes to inherit from virObject (Daniel P. Berrange),<br/>
      Add a generic reference counted virObject type (Daniel P. Berrange),<br/>
      apparmor: QEMU bridge helper policy updates (Richa Marwaha),<br/>
      Add -netdev bridge support (Richa Marwaha),<br/>
      Add -netdev bridge capabilities (Richa Marwaha),<br/>
      virrandom: make virRandomInitialize an automatic one-shot (Eric Blake),<br/>
      virsh: Use vshPrint instead of printf (Osier Yang),<br/>
      xen-xm: Generate UUID if not specified (Jim Fehlig),<br/>
      ESX: Add "Byte" datatype (Ata E Husain Bohra),<br/>
      parallels: translate error message (Eric Blake),<br/>
      Export virUUIDIsValid to libvirt internal code (Daniel P. Berrange),<br/>
      qemu: Allow to attach/detach controller device persistently (Osier Yang),<br/>
      Added timestamps to storage volumes (Hendrik Schwartke),<br/>
      Update xml schemas according to libvirt source (Ján Tomko),<br/>
      build: add stubs so mdns code can be unconditionally compiled (Eric Blake),<br/>
      virsh: Switch to close callback (Michal Privoznik),<br/>
      daemon: Portable auto-detection of driver module directory (Jiri Denemark),<br/>
      build: Rename security manager library (Jiri Denemark),<br/>
      build: Link security manager into libvirt.so (Jiri Denemark),<br/>
      Rewrite virAtomic APIs using GLib's atomic ops code (Daniel P. Berrange),<br/>
      Remove manual one-shot global initializers (Daniel P. Berrange),<br/>
      qemu: Add support for "none" USB controller (Peter Krempa),<br/>
      domain_conf: Add helpers to verify if device configuration is valid (Peter Krempa),<br/>
      domain_conf: Add USB controler model "none" (Peter Krempa),<br/>
      storage: netfs and iscsi need option srcSpec for resource discovery (Guannan Ren),<br/>
      maint: consolidate AUTHOR listings for Gerd von Egidy (Gerd v. Egidy),<br/>
      parallels: implement VM creation (Dmitry Guryanov),<br/>
      parallels: add storage driver (Dmitry Guryanov),<br/>
      parallels: implement virDomainDefineXML operation for existing domains (Dmitry Guryanov),<br/>
      parallels: add support of VNC remote display (Dmitry Guryanov),<br/>
      parallels: get info about serial ports (Dmitry Guryanov),<br/>
      parallels: implement functions for domain life cycle management (Dmitry Guryanov),<br/>
      parallels: add functions to list domains and get info (Dmitry Guryanov),<br/>
      add function virCommandNewVAList (Dmitry Guryanov),<br/>
      parallels: add driver skeleton (Dmitry Guryanov),<br/>
      Only perform symbol check against libvirt.so (Daniel P. Berrange),<br/>
      Don't link nwfilter or secrets driver to libvirt.so (Daniel P. Berrange),<br/>
      Remove bogus libvirt_network.syms file (Daniel P. Berrange),<br/>
      build: Don't export xenLinuxDomainBlockStats symbol (Jiri Denemark),<br/>
      Improve error message in LXC startup with network is not active (Daniel P. Berrange),<br/>
      Remove tabs from all perl files &amp; enforce this (Daniel P. Berrange),<br/>
      Add handling for reboots of LXC containers (Daniel P. Berrange),<br/>
      Allow CAP_SYS_REBOOT on new enough kernels (Daniel P. Berrange),<br/>
      Run an RPC protocol over the LXC controller monitor (Daniel P. Berrange),<br/>
      Make RPC code generator a little more flexible (Daniel P. Berrange),<br/>
      Move LXC monitor code out into separate file (Daniel P. Berrange),<br/>
      Convert the LXC driver to use virNetClient (Daniel P. Berrange),<br/>
      Replace use of lxcError with virReportError (Daniel P. Berrange),<br/>
      Rename lxc_driver_t to virLXCDriver (Daniel P. Berrange),<br/>
      Rename all APIs in lxc_domain.c to have a virLXCDomain prefix (Daniel P. Berrange),<br/>
      Rename all APIs in lxc_process.c to have a virLXCProcess prefix (Daniel P. Berrange),<br/>
      Extend events demo to show close callbacks in use (Daniel P. Berrange),<br/>
      Update remote driver to support the connection close callbacks (Daniel P. Berrange),<br/>
      Add callback to virNetClient to be invoked on connection close (Daniel P. Berrange),<br/>
      Ensure client is marked for close in all error paths (Daniel P. Berrange),<br/>
      Add public API to register a callback to be invoked on connection close (Daniel P. Berrange),<br/>
      esx: Improve error reporting for unknown VI types (Matthias Bolte),<br/>
      security: Skip labeling resources when seclabel defaults to none (Jiri Denemark),<br/>
      lib: Revert removing of Summary and Description fields in headers (Peter Krempa),<br/>
      Add a test case that checks there are no bogus entries in .syms (Daniel P. Berrange),<br/>
      virsh: Refactor error clearing on graceful fallback paths (Peter Krempa),<br/>
      maint: don't permit format strings without % (Eric Blake),<br/>
      maint: avoid empty regex in syntax checker (Eric Blake),<br/>
      virsh: check if specified debug level is in range (Ján Tomko),<br/>
      build: update to latest gnulib, for secure tarball (Eric Blake),<br/>
      util: set minimum value of nodesuspend duration to 60 seconds (Guannan Ren),<br/>
      virsh: Move command group definition into its own file (Osier Yang),<br/>
      virsh: Split cmds in node device group from virsh.c (Osier Yang),<br/>
      virsh: Split cmds in host group from virsh.c (Osier Yang),<br/>
      virsh: Split cmds to manage domain snapshot from virsh.c (Osier Yang),<br/>
      virsh: Split cmds to manage secret from virsh.c (Osier Yang),<br/>
      virsh: Split cmds to manage network filter from virsh.c (Osier Yang),<br/>
      virsh: Split cmds to manage host interface from virsh.c (Osier Yang),<br/>
      virsh: Split cmds to manage network from virsh.c (Osier Yang),<br/>
      virsh: Split cmds of storage pool group from virsh.c (Osier Yang),<br/>
      virsh: Split cmds of storage volume group from virsh.c (Osier Yang),<br/>
      virsh: Split cmds of domain group from virsh.c (Osier Yang),<br/>
      virsh: Split cmds for domain monitoring from virsh.c (Osier Yang),<br/>
      virsh: Move definition of cmds and cmd groups right at the top of main (Osier Yang),<br/>
      daemon: Fix the wrong macro name (Osier Yang),<br/>
      More advanced auto-detection of driver module directory (Daniel P. Berrange),<br/>
      adding handling EINTR to poll to make it more robust (Royce Lv),<br/>
      build: regenerate .png files (Eric Blake),<br/>
      Make ESX &amp; Hyper-V code generator safe with parallel builds (Daniel P. Berrange),<br/>
      tests: Add support for catching domain XML parsing errors (Peter Krempa),<br/>
      maint: Clean up coding style and fix error message spelling (Peter Krempa),<br/>
      Fix test failure when no IPv6 is avail (Doug Goldstein),<br/>
      vmx: handle shared folders parsing (Jean-Baptiste Rouault),<br/>
      vmx: handle shared folders formatting (Jean-Baptiste Rouault),<br/>
      openvz: Implement domainGetHostname (Guido Günther),<br/>
      openvz: Add openvzVEGetStringParam (Guido Günther),<br/>
      remote: Provide RPC call for domainGetHostname (Guido Günther),<br/>
      virsh: Add domhostname (Guido Günther),<br/>
      Report 'errno' in int1 field of virErrorPtr (Daniel P. Berrange),<br/>
      Use a hash table for storing MCS labels (Daniel P. Berrange),<br/>
      Fix error handling when adding MCS labels (Daniel P. Berrange),<br/>
      Use standard naming prefix for SELinux driver function names (Daniel P. Berrange),<br/>
      Disable NWFilter driver completely when unprivileged (Daniel P. Berrange),<br/>
      Replace use of custom macros with virReportError in the Xen drivers (Daniel P. Berrange),<br/>
      Make sure xenHypervisorInit correctly reports errors (Daniel P. Berrange),<br/>
      Ensure failure to talk to Xen hypervisor is fatal when privileged (Daniel P. Berrange),<br/>
      Using virOnce for global initialization (Daniel P. Berrange),<br/>
      Replace use of VMX_ERROR with virReportError (Daniel P. Berrange),<br/>
      Replace use of virNetError with virReportError (Daniel P. Berrange),<br/>
      Replace use of virConfError with virReportError (Daniel P. Berrange),<br/>
      Replace use of nodeReportError with virReportError (Daniel P. Berrange),<br/>
      Replace use of virSecurityReportError with virReportError (Daniel P. Berrange),<br/>
      Replace use of PHYP_ERROR with virReportError (Daniel P. Berrange),<br/>
      Replace use of HYPERV_ERROR with virReportError (Daniel P. Berrange),<br/>
      Replace use of ESX_ERROR &amp; ESX_VI_ERROR with virReportError (Daniel P. Berrange),<br/>
      Replace use of virLockError with virReportError (Daniel P. Berrange),<br/>
      Replace use of libxlError with virReportError (Daniel P. Berrange),<br/>
      Add missing "%s" format string to constant error messages in lock manager (Jiri Denemark),<br/>
      Add missing "%s" format string to constant error messages in libxl driver (Jiri Denemark),<br/>
      Replace use of streamsReportError with virReportError (Daniel P. Berrange),<br/>
      Replace use of remoteError with virReportError (Daniel P. Berrange),<br/>
      Replace use of XENXS_ERROR with virReportError (Daniel P. Berrange),<br/>
      Replace use of openvzError with virReportError (Daniel P. Berrange),<br/>
      Fix Xen driver to have sensible error messages (Daniel P. Berrange),<br/>
      Move LXC process management code into separate file (Daniel P. Berrange),<br/>
      Move cgroup setup code out of lxc_controller.c (Daniel P. Berrange),<br/>
      Move LXC domain private data into separate file (Daniel P. Berrange),<br/>
      Replace use of vmwareError with virReportError (Daniel P. Berrange),<br/>
      Replace use of virCPUReportError with virReportError (Daniel P. Berrange),<br/>
      Replace use of testError with virReportError (Daniel P. Berrange),<br/>
      Replace use of vboxError with virReportError (Daniel P. Berrange),<br/>
      Replace use of xenapiError with virReportError (Daniel P. Berrange),<br/>
      Replace use of qemuReportError with virReportError (Daniel P. Berrange),<br/>
      qemu: Add missing "%s" before translation macros (Peter Krempa),<br/>
      Replace use of umlReportError with virReportError (Daniel P. Berrange),<br/>
      Add lots of internal symbols to libvirt_private.syms (Daniel P. Berrange),<br/>
      If in delay close mode for an RPC client, don't read further data (Daniel P. Berrange),<br/>
      Add missing deps on driver modules in libvirt RPM (Daniel P. Berrange),<br/>
      Replace use of networkReportError with virReportError (Daniel P. Berrange),<br/>
      maint: add mailmap entry for Dan Walsh (Eric Blake),<br/>
      esx: Extend esxVI_CURL_Download for partial downloads (Matthias Bolte),<br/>
      Replace use of interfaceReportError with virReportError (Daniel P. Berrange),<br/>
      Replace use of virNWFilterReportError with virReportError (Daniel P. Berrange)i Add missing "%s" with constant string error message in nwfilter_dhcpsnoop.c (Daniel P. Berrange),<br/>
      Add a sheepdog backend for the storage driver (Sebastian Wiedenroth),<br/>
      Mount all tmpfs filesystems with correct SELinux label (Daniel J Walsh),<br/>
      Replace use of virNodeDeviceReportError with virReportError (Daniel P. Berrange),<br/>
      Replace use of virSecretReportError with virReportError (Daniel P. Berrange),<br/>
      Replace use of virStorageReportError with virReportError (Daniel P. Berrange),<br/>
      Add missing "%s" format to const error message in RBD storage driver (Daniel P. Berrange),<br/>
      Convert all files in src/conf/ to use virReportError() (Daniel P. Berrange),<br/>
      Add missing _(...) around 2 error messages in test driver (Daniel P. Berrange),<br/>
      Fix parameter passed with VIR_ERR_INVALID_ARG in sanlock driver (Daniel P. Berrange),<br/>
      Convert all files in src/rpc/ to use virReportError() (Daniel P. Berrange),<br/>
      Convert (nearly) all files in src/util/ to use virReportError() (Daniel P. Berrange),<br/>
      Fix bogus cast to (int) in virNetServerMDNSTimeoutNew (Daniel P. Berrange),<br/>
      Add missing "%s" with constant string error message in stats_linux.c (Daniel P. Berrange),<br/>
      Remove newline from end of error message in virnodesuspend.c (Daniel P. Berrange),<br/>
      Add _(...) around two error messages in src/util/ (Daniel P. Berrange),<br/>
      Introduce virReportError macro for general error reporting (Daniel P. Berrange),<br/>
      xenapi: Convert to virMacAddr (Jiri Denemark),<br/>
      nwfilter: Convert to virMacAddrPtr not virMacAddrPtr* (Michal Privoznik),<br/>
      nwfilter: Convert to virMacAddrPtr completely (Michal Privoznik),<br/>
      Convert 'raw MAC address' usages to use virMacAddr (Stefan Berger),<br/>
      Wire up handling for QMP's BALLOON_EVENT (Daniel P. Berrange),<br/>
      Define public API for receiving guest memory balloon events (Daniel P. Berrange),<br/>
      ARMHF: CPU Support for armhf. (Chuck Short),<br/>
      Support creation of sparse LVM volumes (Daniel P. Berrange),<br/>
      Remove all use of virRun in storage code (Daniel P. Berrange),<br/>
      test: Add test case for nodeinfotest if host machine doesn't have NUMA (Peter Krempa),<br/>
      test: Add new test case for nodeinfotest (Peter Krempa),<br/>
      nodeinfo: Fix gathering of nodeinfo data structure (Peter Krempa),<br/>
      nodeinfo_test: Enhance test data before changing nodeinfo gathering (Peter Krempa),<br/>
      S390: Adding testcases for s390 (Viktor Mihajlovski),<br/>
      S390: Domain Schema for s390-virtio machines. (Viktor Mihajlovski),<br/>
      S390: Add support for virtio-s390 devices. (Viktor Mihajlovski),<br/>
      qemu: Change tests to use (modified) qemuDomainAssignAddresses (Viktor Mihajlovski),<br/>
      qemu: Extended qemuDomainAssignAddresses to be callable from everywhere. (Viktor Mihajlovski),<br/>
      build: detect all improper uses of _("%s") (Eric Blake),<br/>
      maint: update preferred contributor name (Eric Blake),<br/>
      storage_conf: Break long line and polish coding style (Peter Krempa),<br/>
      esx: Wrap libcurl multi handle (Matthias Bolte),<br/>
      Switch to using virNetServer APIs for monitor socket (Daniel P. Berrange),<br/>
      Move loop device setup code into virfile.{c,h} (Daniel P. Berrange),<br/>
      Move cgroup objects into virLXCControllerPtr (Daniel P. Berrange),<br/>
      Move monitor into virLXCControllerPtr (Daniel P. Berrange),<br/>
      Move /dev/pts setup out of virLXCControllerRun (Daniel P. Berrange),<br/>
      Move security manager into virLXCControllerPtr object (Daniel P. Berrange),<br/>
      Move loop device FDs into virLXCControllerPtr object (Daniel P. Berrange),<br/>
      Move daemon handshake FD into virLXCControllerPtr (Daniel P. Berrange),<br/>
      Make console handling part of virLXCControllerPtr (Daniel P. Berrange),<br/>
      Store the init PID in the virLXCController object (Daniel P. Berrange),<br/>
      Move veth device management into virLXCControllerPtr object (Daniel P. Berrange),<br/>
      Introduce a virLXCControllerPtr object to hold LXC controller state (Daniel P. Berrange),<br/>
      Allow RPC server to run single threaded (Daniel P. Berrange),<br/>
      Add a opaque parameter to the RPC client init callback (Daniel P. Berrange),<br/>
      vmware: detect when a domain was shut down from the inside (Jean-Baptiste Rouault),<br/>
      Added the attribute vendor_id to the cpu model (Hendrik Schwartke),<br/>
      qemu: add rbd to whitelist of migration-safe formats (Josh Durgin)<br/>
      </li>

      <li> Cleanups:<br/>
      atomic: fix whitespace in previous patch (Eric Blake),<br/>
      virsh: drop unused headers (Eric Blake),<br/>
      maint: prohibit translations in testsuite (Eric Blake),<br/>
      Fix syntax-check failures wrt virsh (Daniel P. Berrange),<br/>
      virsh: kill some double underscores (Eric Blake),<br/>
      Fix the indentions of libvirt.h.in (Osier Yang),<br/>
      build: fix syntax check during 'make distcheck' (Eric Blake),<br/>
      Move some SASL symbols into libvirt_sasl.syms (Daniel P. Berrange),<br/>
      Remove unused qemuProcessAutoDestroyRun decl from header (Daniel P. Berrange),<br/>
      maint: drop a leftover comment line (Eric Blake),<br/>
      Destroy virdomainlist.[ch] (Osier Yang),<br/>
      qemu:rename qemuCheckScsiControllerModel function (Guannan Ren),<br/>
      Don't check the 'connect' command in virsh-all test (Daniel P. Berrange),<br/>
      build: drop conditional use of mdns code (Eric Blake),<br/>
      Remove unused uuidstr variable from datatypes.c (Daniel P. Berrange),<br/>
      Fix indentions (Osier Yang),<br/>
      gitignore: Reorder alphabetically (Michal Privoznik),<br/>
      spec: Remove extra () with return statement (Jiri Denemark),<br/>
      conf: Remove dead code from virConsoleOpen() (Peter Krempa),<br/>
      python: Don't generate bodies for close callback functions (Peter Krempa),<br/>
      maint: regenerate bootstrap (Eric Blake),<br/>
      Remove accidentally commited virNetClientSetEOFNotify symbol (Daniel P. Berrange),<br/>
      Remove two non-existant NWFilter driver symbols from .syms (Daniel P. Berrange),<br/>
      tests: reduce length of nodeinfodata test names (Eric Blake),<br/>
      rpc: remove trailing whitespace character in error string (Guannan Ren),<br/>
      po: avoid spurious double spaces in messages (Eric Blake),<br/>
      virsh: remove extra space between function name and opening brace (Guido Günther),<br/>
      maint: revert gnulib update, until fixed automake is in more distros (Eric Blake),<br/>
      maint: use full author name for previous commit (Eric Blake)<br/>
      </li>
    </ul>
    <h3>0.9.13: July 2 2012</h3>
    <ul>
      <li> Features:<br/>
      S390: support for s390(x) (Thang Pham and Viktor Mihajlovski),<br/>
      snapshot: implement new APIs for esx and vbox (Eric Blake),<br/>
      snapshot: new query APIs and many improvements (Eric Blake),<br/>
      virsh: Allow users to reedit rejected XML (Michal Privoznik),<br/>
      nwfilter: add DHCP snooping (Stefan Berger),<br/>
      Enable driver modules in libvirt RPM (Daniel P. Berrange),<br/>
      Default to enable driver modules for libvirtd (Daniel P. Berrange),<br/>
      storage backend: Add RBD (RADOS Block Device) support (Wido den Hollander),<br/>
      sVirt support for LXC domains inprovement (Daniel P. Berrange and Daniel J Walsh)<br/>
      </li>

      <li> Documentation:<br/>
      virsh: Cleanup virsh -V output (Doug Goldstein),<br/>
      configure: show correct default argument in help (Marc-André Lureau),<br/>
      fix typo in virDomainDestroy API doc (Christophe Fergeau),<br/>
      virsh: fix few typos on desc command (Martin Kletzander),<br/>
      virsh: Update vol-create-as manpage (Michal Privoznik),<br/>
      virsh: Tweak attach-* documentation (Michal Privoznik),<br/>
      small typo in formatdomain.html (Laine Stump),<br/>
      client rpc: Improve debug messages in virNetClientIO (Jiri Denemark),<br/>
      minor fixes to domain interface documentation (Laine Stump),<br/>
      link to FLOSS Weekly podcast, virt blogs (Eric Blake),<br/>
      examples: add consolecallback example python script (Dave Allan),<br/>
      Fix typo in comment start (Daniel P. Berrange),<br/>
      typo in acceleration element (Martin Kletzander),<br/>
      Improve docs about compiling libvirt from GIT (Daniel P. Berrange)<br/>
      </li>

      <li> Portability:<br/>
      Fix compilation on older sanlock (Daniel Veillard),<br/>
      Fix unused parameters / functions in virsh on Win32 (Daniel P. Berrange),<br/>
      Update to latest GNULIB to fix compat with Mingw64 toolchain (Daniel P. Berrange),<br/>
      winsock2.h must always be included before windows.h (Daniel P. Berrange),<br/>
      Switch automated builds to use Mingw64 toolchain instead of Mingw32 (Daniel P. Berrange),<br/>
      openvz: Fix wordsize on 64 bit architectures (Guido Günther),<br/>
      Fixes for check and rpm builds without sanlock (and qemu) (Martin Kletzander),<br/>
      Fix Win32 build by linking to ole32 (Daniel P. Berrange),<br/>
      Add impl of APIs to get user directories on Win32 (Daniel P. Berrange),<br/>
      fix building error on non fedora system (Wen Congyang),<br/>
      Add stub impl of virNetlinkEventServiceLocalPid for Win32 (Daniel P. Berrange),<br/>
      Fix build when configuring with polkit0 (Jim Fehlig),<br/>
      build: fix virnetlink on glibc 2.11 (Eric Blake),<br/>
      Fix build compat with older libselinux for LXC (Daniel P. Berrange),<br/>
      build: really silence the 32-bit warning (Eric Blake)<br/>
      </li>

      <li> Bug Fixes:<br/>
      build: use correct limit for unsigned long long (Eric Blake),<br/>
      nwfilter: Fix memory leak (Stefan Berger),<br/>
      network_conf: Don't free uninitialized pointers while parsing DNS SRV (Peter Krempa),<br/>
      storage: Error out if the target is already mounted for netfs pool (Osier Yang),<br/>
      events: Don't fail on registering events for two different domains (Michal Privoznik),<br/>
      Don't install systemd service files executable (Guido Günther),<br/>
      fix a bug of ref count in virnetserver.c (Hu Tao),<br/>
      Fix deadlock on libvirtd shutdown (Jim Fehlig),<br/>
      openvz: check pointer size instead of int (Guido Günther),<br/>
      domain_conf: fix possible memory leak (Martin Kletzander),<br/>
      error: Fix typos in argument checking macros (Peter Krempa),<br/>
      LXC: fix incorrect DEBUG info (Gao feng),<br/>
      LXC: fix memory leak in lxcContainerSetupExtraMounts (Gao feng),<br/>
      LXC: fix memory leak in lxcContainerGetSubtree (Gao feng),<br/>
      LXC: fix memory leak in lxcContainerMountFSBlockHelper (Gao feng),<br/>
      qemu_agent: Wait for events instead of agent response (Michal Privoznik),<br/>
      Fix launch of libvirtd when DHCP snooping support is not available. (Daniel P. Berrange),<br/>
      qemu: fix potential dead lock (Wen Congyang),<br/>
      virsh: Null terminated the string memcpy from buffer explicitly (Osier Yang),<br/>
      qemu: Fix off-by-one error while unescaping monitor strings (Peter Krempa),<br/>
      virsh: Don't generate invalid XML in attach-disk command (Peter Krempa),<br/>
      client rpc: Fix error checking after poll() (Daniel P. Berrange),<br/>
      client rpc: Send keepalive requests from IO event loop (Jiri Denemark),<br/>
      Fix typo in RPM specfile (Daniel P. Berrange),<br/>
      python: fix snapshot listing bugs (Eric Blake),<br/>
      qemu: Don't overwrite security labels (Michal Privoznik),<br/>
      rpc: Fix memleak in virNetMessageEncodeHeader (Michal Privoznik),<br/>
      Fix privileges on /var/run/libvirt directory (Daniel P. Berrange),<br/>
      Only migrate profile in non-privileged libvirtd instance (Daniel P. Berrange),<br/>
      snapshot: avoid virsh crash with older servers (Eric Blake),<br/>
      LXC: fix memory leak in lxcContainerMountFSBlockAuto (Gao feng),<br/>
      LXC: fix incorrect parameter of mount in lxcContainerMountFSBind (Gao feng),<br/>
      util: Fix deadlock in virLogReset (Jiri Denemark),<br/>
      Assign correct address type to spapr-vlan and spapr-vty. (Li Zhang),<br/>
      command: avoid potential deadlock on handshake (Eric Blake),<br/>
      qemu: better detection of crashed domains (Martin Kletzander),<br/>
      command: avoid deadlock on EPIPE situation (Eric Blake),<br/>
      Fix sync issue in virNetClientStreamEventRemoveCallback (Radu Caragea),<br/>
      qemu: avoid closing fd more than once (Wen Congyang),<br/>
      command: check for fork error before closing fd (Wen Congyang),<br/>
      fdstream: avoid double close bug (Eric Blake),<br/>
      command: avoid double close bugs (Eric Blake),<br/>
      avoid fd leak (Wen Congyang),<br/>
      avoid closing uninitialized fd (Wen Congyang),<br/>
      lxc: return correct number of CPUs (Martin Kletzander),<br/>
      leak_fix.diff (Stefan Berger),<br/>
      Fix typos in RPM dependencies (Daniel P. Berrange),<br/>
      Remove more bogus systemd service dependencies (Daniel P. Berrange),<br/>
      qemu_hotplug: Don't free the PCI device structure after hot-unplug (Peter Krempa),<br/>
      Fix potential events deadlock when unref'ing virConnectPtr (Daniel P. Berrange),<br/>
      qemu: Don't delete USB device on failed qemuPrepareHostdevUSBDevices (Michal Privoznik),<br/>
      nodeinfo: Get the correct CPU number on AMD Magny Cours platform (Osier Yang),<br/>
      nodeinfo: avoid probing host filesystem during test (Eric Blake)<br/>
      </li>

      <li> Improvements:<br/>
      Remove sub-mounts under /dev when starting an LXC container (Daniel P. Berrange),<br/>
      Fix vm's outbound traffic control problem (Eiichi Tsukata),<br/>
      conf: Don't shadow error from virGetDomain() (Peter Krempa),<br/>
      maint: include ignore-value in internal.h (Peter Krempa),<br/>
      vbox: Add support for virConnectListAllDomains() (Peter Krempa),<br/>
      virsh: Add domdisplay cmd for VNC, SPICE and RDP (Doug Goldstein),<br/>
      AUTHORS: Update (Michal Privoznik),<br/>
      S390: Added sysinfo for host on s390(x). (Thang Pham),<br/>
      S390: Fixed core identification for s390 (Viktor Mihajlovski),<br/>
      S390: Fixed Parser for /proc/cpuinfo needs to be adapted for your architecture (Thang Pham),<br/>
      S390: Override QEMU_CAPS_NO_ACPI for s390x (Viktor Mihajlovski),<br/>
      storage backend rbd: Do not prefix rbd: on volume names. (Wido den Hollander),<br/>
      qemu: Improve error if setmem fails for lacking of balloon support (Osier Yang),<br/>
      Include the default listen address in the live guest XML (Daniel P. Berrange),<br/>
      storage: Introduce --inactive for pool-dumpxml (Michal Privoznik),<br/>
      storage: Switch to new def on pool-destroy (Michal Privoznik),<br/>
      Support bind mounting host files, as well as directories in LXC (Daniel J Walsh),<br/>
      Allow NOCONFIGURE=1 to make autogen.sh skip ./configure (Daniel P. Berrange),<br/>
      virsh: Use virXPath wrappers for vncdisplay cmd (Doug Goldstein),<br/>
      Add support for shared sanlock leases (Daniel P. Berrange),<br/>
      Add support for guest bind mounts with LXC (Daniel P. Berrange),<br/>
      Add support for RAM filesystems for LXC (Daniel P. Berrange),<br/>
      virsh: Improve error when trying to change vm's cpu count 0 (Peter Krempa),<br/>
      qemu: Add xhci support (Gerd Hoffmann),<br/>
      virsh: add support for virConnectListAllDomains and clean up cmdList (Peter Krempa),<br/>
      virsh: Rename namesorter to vshNameSorter and clean up indentation (Peter Krempa),<br/>
      Initialize random generator in lxc controller (Jim Fehlig),<br/>
      storage: Set the perms if the pool target already exists for fs pools (Osier Yang),<br/>
      snapshot: require existence before returning success (Eric Blake),<br/>
      drivers: Implement virListAllDomains for drivers using virDomainObj (Peter Krempa),<br/>
      Fix default USB controller for ppc64 (Dipankar Sarma),<br/>
      list: add qemu snapshot list support (Eric Blake),<br/>
      list: new helper function to collect snapshots (Eric Blake),<br/>
      list: provide RPC call for snapshots (Eric Blake),<br/>
      list: provide python bindings for snapshots (Eric Blake),<br/>
      list: use the new snapshot API in virsh when possible (Eric Blake),<br/>
      snapshot: expose new flags in virsh (Eric Blake),<br/>
      snapshot: add additional filters when getting lists (Eric Blake),<br/>
      virsh: make domiftune interface help string consistent (Martin Kletzander),<br/>
      snapshot: merge count and name collection (Eric Blake),<br/>
      snapshot: merge domain and snapshot computation (Eric Blake),<br/>
      snapshot: use metaroot node to simplify management (Eric Blake),<br/>
      conf: Add helper for listing domains on drivers supporting virDomainObj (Peter Krempa),<br/>
      conf: Store managed save image existence in virDomainObj (Peter Krempa),<br/>
      remote: implement remote protocol for virConnectListAllDomains() (Peter Krempa),<br/>
      python: add API exports for virConnectListAllDomains() (Peter Krempa),<br/>
      lib: Add public api to enable atomic listing of guest (Peter Krempa),<br/>
      Add a custom 404 error page for the website (Daniel P. Berrange),<br/>
      qemu_agent: Add some more debug prints (Michal Privoznik),<br/>
      snapshot: use new virsh function for snapshot-list (Eric Blake),<br/>
      snapshot: new virsh function factored from snapshot-list (Eric Blake),<br/>
      autogen: Always abide --system (Cole Robinson),<br/>
      Check for errors when parsing bridge interface XML (Jim Fehlig),<br/>
      Add more debug logging for libvirtd startup (Daniel P. Berrange),<br/>
      schema: Update domain XML schema (Osier Yang),<br/>
      virsh: allow the user to specify vmcore's format (Wen Congyang),<br/>
      qemu: allow the client to choose the vmcore's format (Wen Congyang),<br/>
      qemu: implement qemu's dump-guest-memory (Wen Congyang),<br/>
      Always pivot_root event if the new root source is '/' (Daniel P. Berrange),<br/>
      Improve error message diagnosing incorrect XML CPU mode (Daniel P. Berrange),<br/>
      qemu: Enable disconnecting SPICE clients without changing password (Peter Krempa),<br/>
      virsh: Report name from edited object (Michal Privoznik),<br/>
      virsh: Honor reedit opts printing to a function (Michal Privoznik),<br/>
      network: fully support/use VIR_NETWORK_XML_INACTIVE flag (Laine Stump),<br/>
      Add some missing hook functions (Daniel P. Berrange),<br/>
      server rpc: Remove APIs for manipulating filters on locked client (Jiri Denemark),<br/>
      rpc: Remove unused parameter in virKeepAliveStopInternal (Jiri Denemark),<br/>
      rpc: Do not use timer for sending keepalive responses (Jiri Denemark),<br/>
      client rpc: Separate call creation from running IO loop (Jiri Denemark),<br/>
      rpc: Add APIs for direct triggering of keepalive timer (Jiri Denemark),<br/>
      rpc: Refactor keepalive timer code (Jiri Denemark),<br/>
      client rpc: Drop unused return value of virNetClientSendNonBlock (Jiri Denemark),<br/>
      client rpc: Just queue non-blocking call if another thread has the buck (Jiri Denemark),<br/>
      client rpc: Don't drop non-blocking calls (Jiri Denemark),<br/>
      client rpc: Use event loop for writing (Jiri Denemark),<br/>
      build: fix 'make dist' on virgin checkout (Eric Blake),<br/>
      build: silence gettext warning (Eric Blake),<br/>
      openvz: wire up domainUpdateDeviceFlags (Guido Günther),<br/>
      openvz: add persist parameter to openvzSetDiskQuota (Guido Günther),<br/>
      Introduce virDomainFSIndexByName (Guido Günther),<br/>
      python: use simpler methods (Eric Blake),<br/>
      qemuProcessStop: Switch to flags (Michal Privoznik),<br/>
      snapshot: implement new APIs for qemu (Eric Blake),<br/>
      snapshot: RPC for new query APIs (Eric Blake),<br/>
      snapshot: add 'virsh snapshot-info' (Eric Blake),<br/>
      Two RPM conditional fixes for RHEL-7 (Daniel P. Berrange),<br/>
      snapshot: virsh indentation cleanup (Eric Blake),<br/>
      virsh: make tree listing more flexible (Eric Blake),<br/>
      virsh: remove limits on tree listing (Eric Blake),<br/>
      buf: support peeking at string contents (Eric Blake),<br/>
      Update AUTHORS (Osier Yang),<br/>
      LXC: Delete unused variable src in lxcContainerMountBasicFS (Gao feng),<br/>
      msg_buf_size is unsigned long not size_t (Guido Günther),<br/>
      Only check for cluster fs if we're using a filesystem (Guido Günther),<br/>
      snapshot: add virDomainSnapshotRef API (Eric Blake),<br/>
      Fix missing ) in 2 strings (Cole Robinson),<br/>
      maint: make it easier to copy FORTIFY_SOURCE snippet (Eric Blake),<br/>
      build: fix build without i18n (Eric Blake),<br/>
      spec: Build against systemd for udev (Cole Robinson),<br/>
      build: fix build of fresh checkout (Eric Blake),<br/>
      build: ensure storage driver is used (Eric Blake),<br/>
      rpc: Size up RPC limits (Michal Privoznik),<br/>
      rpc: Switch to dynamically allocated message buffer (Michal Privoznik),<br/>
      build: fix 'make distcheck' issues (Eric Blake),<br/>
      tests: Refresh qemu-1.1.0 data (Jiri Denemark),<br/>
      virsh: Back out if the argument for vol-create-as is malformed (Osier Yang),<br/>
      virsh: Accept UUID as an argument for net-info and net-start (Osier Yang),<br/>
      virsh: Accept UUID as an argument for storage commands (Osier Yang),<br/>
      Fix for parallel port passthrough for QEMU (Beat Jörg),<br/>
      util: fix "make rpm" when viratomic.h is used (Laine Stump),<br/>
      build: allow building with newer glibc-headers and -O0 (Eric Blake),<br/>
      fix make syntax-check failed (Wen Congyang),<br/>
      build: fix sc_prohibit_readlink (Eric Blake),<br/>
      file: Log closing filedescriptors (Jiri Denemark),<br/>
      command: Fix debug message during handshake (Jiri Denemark),<br/>
      virsh: Switch from generated cmd*Edit commands to nongenerated (Michal Privoznik),<br/>
      nwfilter: Add multiple IP address support to DHCP snooping (Stefan Berger),<br/>
      nwfilter: move code for IP address map into separate file (Stefan Berger),<br/>
      qemu: move -name arg to be 1st in "ps x" output (Marti Raudsepp),<br/>
      qemu: fix netdev alias name assignment wrt type='hostdev' (Laine Stump),<br/>
      tools: make virt-pki-validate work with acls and xattrs (Martin Kletzander),<br/>
      build: include augeas-gentest.pl into dist file (Wen Congyang),<br/>
      build: use same perl binary throughout build (Eric Blake),<br/>
      build: fix testing of augeas files in VPATH builds (Eric Blake),<br/>
      build: silence warning from autoconf (Eric Blake),<br/>
      virCommand: Extend debug message for handshake (Michal Privoznik),<br/>
      build: Fixed generating of libvirt_qemu_probes.h (Martin Kletzander),<br/>
      build: don't lose probes.o files (Eric Blake),<br/>
      build: fix missing dependencies for libvirt-qemu.so (Eric Blake),<br/>
      build: don't clean a file that belongs in the tarball (Eric Blake),<br/>
      virsh: avoid strncpy (Eric Blake),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      Introduce virMacAddr typedef (Stefan Berger),<br/>
      Santize the reporting of VIR_ERR_INVALID_ERROR (Daniel P. Berrange),<br/>
      build: silence libtool during tests (Eric Blake),<br/>
      Fix linking to DTrace probes file (Daniel P. Berrange),<br/>
      Autogenerate augeas test case from default config files (Daniel P. Berrange),<br/>
      Re-order config options in qemu driver augeas lens (Daniel P. Berrange),<br/>
      Fix mistakes in augeas lens (Daniel P. Berrange),<br/>
      Standardize whitespace used in example config files (Daniel P. Berrange),<br/>
      Remove uid param from directory lookup APIs (Daniel P. Berrange),<br/>
      Fix check for socket existence / daemon spawn (Daniel P. Berrange),<br/>
      Remove last usage of PATH_MAX and ban its future use (Daniel P. Berrange),<br/>
      maint: avoid new automake warning about AM_PROG_CC_STDC (Jim Meyering),<br/>
      build: silence libtool warning on probes.o (Eric Blake),<br/>
      tests: run valgrind on real executables, not libtool wrappers (Eric Blake),<br/>
      qemu augeas: Add spice_tls/spice_tls_x509_cert_dir (Douglas Schilling Landgraf),<br/>
      tests: back to short test names (Eric Blake),<br/>
      maint: ignore more files from version control (Eric Blake),<br/>
      Add sentinel for virErrorDomain enum (Daniel P. Berrange),<br/>
      Add parsing for VIR_ENUM_IMPL &amp; VIR_ENUM_DECL in apibuild.py (Daniel P. Berrange),<br/>
      security: Switch to C99-style struct initialization (Michal Privoznik),<br/>
      Add test case for loading driver modules (Daniel P. Berrange),<br/>
      Override default driver dir when running from GIT (Daniel P. Berrange),<br/>
      Split QEMU dtrace probes into separate file (Daniel P. Berrange),<br/>
      Replace RTLD_LOCAL with RTLD_GLOBAL (Daniel P. Berrange),<br/>
      Ensure LXC driver links against libblkid explicitly. (Daniel P. Berrange),<br/>
      Remove libvirt_test.la library (Daniel P. Berrange),<br/>
      Fix broken linkage of libvirt_driver_nodedev.la (Daniel P. Berrange),<br/>
      Only build server side drivers as modules (Daniel P. Berrange),<br/>
      Fix dep from libvirt-lock-sanlock RPM (Daniel P. Berrange),<br/>
      openvz: add quota argument when creating container (Guido Günther),<br/>
      openvz: support file system quota reporting (Guido Günther),<br/>
      Introduce filesystem limits to virDomainFSDef (Guido Günther),<br/>
      Introduce virDomainParseScaledValue (Guido Günther),<br/>
      util: export virBufferTrim (Laine Stump),<br/>
      virBuffer: add way to trim back extra text (Eric Blake),<br/>
      build: fix unused variable after last patch (Eric Blake),<br/>
      nwfilter: Add support for ipset (Stefan Berger),<br/>
      Adds support to param 'vcpu_time' in qemu_driver. (Hu Tao),<br/>
      Add a new param 'vcpu_time' to virDomainGetCPUStats (Hu Tao),<br/>
      tests: add ich6 codec type test to qemuxml2argv-sound-device (Marc-André Lureau),<br/>
      qemu: honour sound &lt;codec&gt; sub-elements (Marc-André Lureau),<br/>
      domain: add &lt;codec&gt; sound sub-element (Marc-André Lureau),<br/>
      qemu: test CAPS_HDA_MICRO (Marc-André Lureau),<br/>
      nodeinfo: test more details (Eric Blake),<br/>
      Add a virLogMessage alternative taking va_list args (Daniel P. Berrange),<br/>
      build: fix recent syntax-check breakage (Eric Blake),<br/>
      qemu: Rollback on used USB devices (Michal Privoznik),<br/>
      Reject any non-option command line arguments (Daniel P. Berrange),<br/>
      Remount cgroups controllers after setting up new /sys in LXC (Daniel P. Berrange),<br/>
      Trim /proc &amp; /sys subtrees before mounting new instances (Daniel P. Berrange),<br/>
      Avoid LXC pivot root in the root source is still / (Daniel P. Berrange),<br/>
      Mount fresh instance of sysfs/selinux in LXC (Daniel P. Berrange),<br/>
      Convert the LXC driver to use the security driver API for mount options (Daniel Walsh),<br/>
      Add security driver APIs for getting mount options (Daniel Walsh),<br/>
      Add support for LXC specific SELinux configuration (Daniel Walsh),<br/>
      Use private data struct in SELinux driver (Daniel Walsh),<br/>
      Don't enable the AppArmour security driver with LXC (Daniel Walsh),<br/>
      Pass the virt driver name into security drivers (Daniel Walsh),<br/>
      Remove bogus udev.target dep from libvirtd unit (Daniel P. Berrange),<br/>
      qemu: Add support for -no-user-config (Jiri Denemark),<br/>
      Set a sensible default master start port for ehci companion controllers (Daniel P. Berrange),<br/>
      Fix logic for assigning PCI addresses to USB2 companion controllers (Daniel P. Berrange),<br/>
      Fix virDomainDeviceInfoIsSet() to check all struct fields (Daniel P. Berrange),<br/>
      Remove redundant trailing slash in user dir paths (Daniel P. Berrange),<br/>
      Allow stack traces to be included with log messages (Daniel P. Berrange),<br/>
      Move user libvirtd socket out of abstract namespace (Daniel P. Berrange),<br/>
      Add openvz_util.c to POTFILES (Daniel P. Berrange),<br/>
      Add bundled(gnulib) to RPM specfile (Daniel P. Berrange),<br/>
      openvz: determine kb/pages only once (Guido Günther),<br/>
      libvirt-guests: Remove LISTFILE if it's empty when stopping service (Osier Yang),<br/>
      qemu: Set memory policy using cgroup if placement is auto (Osier Yang),<br/>
      qemu: Use the CPU index in capabilities to map NUMA node to cpu list. (Osier Yang),<br/>
      Assign spapr-vio bus address to ibmvscsi controller (Li Zhang),<br/>
      sanlock: fix locking for readonly devices (David Weber),<br/>
      nodeinfo: add some more tests (Eric Blake),<br/>
      nodeinfo: drop static variable (Eric Blake),<br/>
      maint: fix AUTHORS (Eric Blake),<br/>
      Use XDG Base Directories instead of storing in home directory (William Jon McCann)<br/>
      </li>

      <li> Cleanups:<br/>
      Remove accidentally added Patch: lines from mingw-libvirt.spec.in (Daniel P. Berrange),<br/>
      Add /tools/libvirt-guests.service to .gitignore (Guido Günther),<br/>
      sanlock: Properly indent (Michal Privoznik),<br/>
      Remove stray debug fprintf in XML parser (Daniel P. Berrange),<br/>
      util: Fix the indention (Osier Yang),<br/>
      LXC: avoid useless duplicate memory free (Gao feng),<br/>
      driver: Clean up driver header to space indentation (Peter Krempa),<br/>
      build: fix whitespace damage (Eric Blake),<br/>
      build: hoist qemu dependence on yajl to configure (Eric Blake),<br/>
      maint: command.c whitespace cleanups (Eric Blake),<br/>
      Revert "rpc: Discard non-blocking calls only when necessary" (Jiri Denemark<br/>
      </li>
    </ul>
    <h3>0.9.12: May 14 2012</h3>
    <ul>
      <li> Features:<br/>
      qemu: allow snapshotting of sheepdog and rbd disks (Josh Durgin),<br/>
      blockjob: add new APIs (Eric Blake)<br/>
      </li>

      <li> Documentation:<br/>
      mention migration issue of which credentials are used (Eric Blake),<br/>
      Add 'maintenance releases' link in 'News' sidebar (Cole Robinson),<br/>
      Added Snooze cloud manager to the IaaS section (Eugen Feller),<br/>
      python: Fix doc directory name for stable releases (Cole Robinson),<br/>
      virsh: Fix and clarify the --title flag for the list command in man page (Peter Krempa),<br/>
      Improve the schema for fs device (Osier Yang),<br/>
      openvz: Correct the comments for new node APIs (Osier Yang),<br/>
      fix 'omitted' typo in &lt;cputune&gt; doc (Christophe Fergeau),<br/>
      add missing &lt;span&gt; in &lt;vcpu placement&gt; doc (Christophe Fergeau),<br/>
      fix path to openvz network configuration file (Guido Günther),<br/>
      Fix comment about GNUTLS initialization/cleanup (Daniel P. Berrange),<br/>
      fix typo in previous patch (Eric Blake),<br/>
      news.html.in: Fix &lt;br&gt; void tag (Michal Privoznik)<br/>
      </li>

      <li> Portability:<br/>
      qemu: fix build when !HAVE_NUMACTL (Eric Blake),<br/>
      netlink: Fix build with libnl-3 (Jiri Denemark),<br/>
      build: avoid link failure on Windows (Eric Blake),<br/>
      qemu: avoid 32-bit compiler warning (Eric Blake),<br/>
      build: fix build on cygwin (Eric Blake),<br/>
      storage: fix build with iscsi (Eric Blake),<br/>
      build: fix bootstrap on RHEL (Eric Blake),<br/>
      win32: Properly handle TlsGetValue returning NULL (Matthias Bolte),<br/>
      build: avoid type-punning in vbox (Eric Blake),<br/>
      build: fix fresh checkout on RHEL5 (Eric Blake),<br/>
      fix dependencies on DBus (Daniel P. Berrange),<br/>
      tests: Fix libvirtdconftest in VPATH build (Jiri Denemark),<br/>
      build: avoid s390 compiler warnings (Eric Blake),<br/>
      Fix compilation error on 32bit (Stefan Berger),<br/>
      test: fix build errors with gcc 4.7.0 and -O0 (Laine Stump),<br/>
      Pull in GNULIB regex module for benefit of test suite on Win32 (Daniel P. Berrange),<br/>
      Fix format specifiers in test cases on Win32 (Daniel P. Berrange)<br/>
      </li>

      <li> Bug Fixes:<br/>
      esx: Fix memory leaks in error paths related to transferred ownership (Matthias Bolte),<br/>
      qemu: Don't skip detection of virtual cpu's on non KVM targets (Peter Krempa),<br/>
      qemu: Re-detect virtual cpu threads after cpu hot (un)plug. (Peter Krempa),<br/>
      build: fix stamp file name (Eric Blake),<br/>
      usb: fix crash when failing to attach a second usb device (Guannan Ren),<br/>
      build: Fix the typo in configure.ac (Osier Yang),<br/>
      conf: Fix memory leaks in virStoragePoolDefParseSource (Alex Jia),<br/>
      Report error when parsing character device target type (Jim Fehlig),<br/>
      snapshot: allow block devices past cgroup (Eric Blake),<br/>
      domain_conf: add "default" to list of valid spice channels (Alon Levy),<br/>
      domain_conf: add "usbredir" to list of valid spice channels (Alon Levy),<br/>
      virsh: avoid heap corruption leading to virsh abort (Jim Meyering),<br/>
      util: fix libvirtd startup failure due to netlink error (Laine Stump),<br/>
      qemu: call usb search function for hostdev initialization and hotplug (Guannan Ren),<br/>
      qemu: Emit compatible XML when migrating a domain (Jiri Denemark),<br/>
      qemu: don't modify domain on failed blockiotune (Eric Blake),<br/>
      node_device: fix possible non-terminated string (Stefan Berger),<br/>
      uuid: fix possible non-terminated string (Stefan Berger),<br/>
      tests: fix resource leak (Stefan Berger),<br/>
      qemu: fix resource leak (Stefan Berger),<br/>
      vmx: fix resource leak (Stefan Berger),<br/>
      Coverity: Fix resource leak in virnetlink.c (Osier Yang),<br/>
      Coverity: Fix resource leak in nodeinfo.c (Osier Yang),<br/>
      Coverity: Fix resource leak in test driver (Osier Yang),<br/>
      Coverity: Fix resource leak in xen driver (Osier Yang),<br/>
      Coverity: Fix resource leaks in phyp driver (Osier Yang),<br/>
      Coverity: Fix the forward_null error in Python binding codes (Osier Yang),<br/>
      Correct indent errors in the function qemuDomainNetsRestart (Li Zhang),<br/>
      Make lxcContainerSetStdio the last thing to be called in container startup (Daniel P. Berrange),<br/>
      maint: avoid false positives on unmarked diagnostics (Eric Blake),<br/>
      util: Avoid libvirtd crash in virNetDevTapCreate (Alex Jia),<br/>
      storage: Break out the loop if duplicate pool is found (Osier Yang),<br/>
      qemu: Make sure qemu can access its directory in hugetlbfs (Jiri Denemark),<br/>
      More coverity findings addressed (Stefan Berger),<br/>
      blockjob: fix block-stream bandwidth race (Eric Blake),<br/>
      lxc: Fix coverity findings (Stefan Berger),<br/>
      Serialize running apibuild.py (Cole Robinson),<br/>
      macvtap: fix a typo (Stefan Berger),<br/>
      nwfilter: address more coverity findings (Stefan Berger),<br/>
      nwfilter: address coverity findings (Stefan Berger),<br/>
      util: fix error messages in virNetlinkEventServiceStart (Laine Stump),<br/>
      qemu: Avoid bogus error at the end of tunnelled migration (Jiri Denemark),<br/>
      qemu: Fix detection of failed migration (Jiri Denemark),<br/>
      rpc: Discard non-blocking calls only when necessary (Jiri Denemark),<br/>
      qemu: Preserve original error during migration (Jiri Denemark),<br/>
      util: fix crash when starting macvtap interfaces (Laine Stump),<br/>
      fix memleak in linuxParseCPUmap (Hu Tao),<br/>
      vbox: Fix passing an empty IMedium* array to IMachine::Delete (Matthias Bolte),<br/>
      esx: Fix segfault in esxConnectToHost (Ryan Woodsmall),<br/>
      virnetserver: handle sigaction correctly (Eric Blake),<br/>
      virsh: avoid uninitialized memory usage (Eric Blake),<br/>
      nwfilter: Fix support for trusted DHCP servers (Stefan Berger),<br/>
      Fix a memory leak (Stefan Berger),<br/>
      Do not enforce source type of console[0] (Jan Kiszka),<br/>
      storage: lvm: use correct lv* command parameters (Cole Robinson),<br/>
      Fix macvtap detection by also checking for IFLA_VF_MAX (Guido Günther),<br/>
      conf: Avoid double assignment in virDomainDiskRemove (Michal Privoznik),<br/>
      qemu: Fix mem leak in qemuProcessInitCpuAffinity (Michal Privoznik),<br/>
      qemu,util: fix netlink callback registration for migration (D. Herrendoerfer),<br/>
      qemuOpenFile: Don't force chown on NFS (Michal Privoznik),<br/>
      daemon: Plug memory leaks (Alex Jia),<br/>
      blockjob: allow for fast-finishing job (Eric Blake),<br/>
      qemu: Fix deadlock when qemuDomainOpenConsole cleans up a connection (Peter Krempa),<br/>
      snapshot: fix memory leak on error (Eric Blake),<br/>
      qemu_ga: Don't overwrite errors on FSThaw (Michal Privoznik),<br/>
      xen config: No vfb in HVM guest configuration (Stefan Bader),<br/>
      virURIParse: don't forget to copy the user part (Guido Günther),<br/>
      test: fix segfault in networkxml2argvtest (Laine Stump),<br/>
      conf: Plug memory leaks on virDomainDiskDefParseXML (Alex Jia),<br/>
      Fix parallel build in docs/ directory (Daniel P. Berrange),<br/>
      qemu: Don't leak temporary list of USB devices (Michal Privoznik)<br/>
      </li>

      <li> Improvements:<br/>
      qemu: Refactor qemuDomainSetVcpusFlags (Peter Krempa),<br/>
      numad: Update comments in libvirt.spec.in (Osier Yang),<br/>
      numad: Check numactl-devel if compiled with numad support (Osier Yang),<br/>
      numad: Divide cur_balloon by 1024 before passing it to numad (Osier Yang),<br/>
      numad: Always output 'placement' of &lt;vcpu&gt; (Osier Yang),<br/>
      numad: Copy 'placement' of &lt;numatune&gt; to &lt;vcpu&gt; by default (Osier Yang),<br/>
      numad: Set memory policy from numad advisory nodeset (Osier Yang),<br/>
      tests: add some self-documentation to tests (Alon Levy),<br/>
      util: set src_pid for virNetlinkCommand when appropriate (Laine Stump),<br/>
      util: function to get local nl_pid used by netlink event socket (Laine Stump),<br/>
      util: allow specifying both src and dst pid in virNetlinkCommand (Laine Stump),<br/>
      openvz: simplify openvzDomainDefineCmd by using virCommandPtr (Guido Günther),<br/>
      usb: create functions to search usb device accurately (Guannan Ren),<br/>
      rpm: Handle different source URLs for maint releases (Cole Robinson),<br/>
      qemu: Don't use virDomainDefFormat* directly (Jiri Denemark),<br/>
      qemu: reject blockiotune if qemu too old (Eric Blake),<br/>
      util: remove error log from stubs of virNetlinkEventServiceStart|Stop (Laine Stump),<br/>
      openvz: read vmguarpages/privvmpages to set memory tunables (Guido Günther),<br/>
      build: support libnl-3 (Serge Hallyn),<br/>
      util: add functions for interating over json object (Dmitry Guryanov),<br/>
      build: update pid_t type static check (Marc-André Lureau),<br/>
      build: fix output of pid values (Marc-André Lureau),<br/>
      virsh: output scaled values with correct units (Eric Blake),<br/>
      virsh: make -h always give help (Eric Blake),<br/>
      build: make ATTRIBUTE_NONNULL() a NOP unless STATIC_ANALYSIS is on (Laine Stump),<br/>
      Ensure logging is initialized early in libvirt_lxc (Daniel P. Berrange),<br/>
      Ensure LXC security driver is set unconditonally (Daniel P. Berrange),<br/>
      Ensure libvirt_lxc process loads the live XML config (Daniel P. Berrange),<br/>
      qemu: change rbd auth_supported separation character to ; (Josh Durgin),<br/>
      storage: Allow multiple hosts for a storage pool (Wido den Hollander),<br/>
      qemu_agent: Report error class at least (Michal Privoznik),<br/>
      configure: Use ustar format for dist tarball (Cole Robinson),<br/>
      qemu: Use common helper when probing qemu capabilities (Jiri Denemark),<br/>
      qemu: improve errors related to offline domains (Eric Blake),<br/>
      keepalive: Add ability to disable keepalive messages (Peter Krempa),<br/>
      Add new functions to virSocketAddr (Stefan Berger),<br/>
      macvtap: use embedded buffers (Stefan Berger),<br/>
      Improve on virAtomic implementation (Stefan Berger),<br/>
      build: Fix version of gettext macros (Peter Krempa),<br/>
      openvz: add network interface stats (Guido Günther),<br/>
      blockjob: enhance xml to track mirrors across libvirtd restart (Eric Blake),<br/>
      blockjob: add 'blockcopy' to virsh (Eric Blake),<br/>
      cpu: Improve error reporting on incompatible CPUs (Peter Krempa),<br/>
      openvz: wire up getHostname (Guido Günther),<br/>
      build: avoid strtol and strtod (Eric Blake),<br/>
      conf: tighten up XML integer parsing (Eric Blake),<br/>
      virsh: avoid strtol (Eric Blake),<br/>
      Support for atomic operations on integers (Stefan Berger),<br/>
      Implement virHashRemoveAll function (Stefan Berger),<br/>
      util: only register callbacks for CREATE operations in virnetdevmacvlan.c (D. Herrendoerfer),<br/>
      blockjob: add virsh blockpull --wait (Eric Blake),<br/>
      qemu: use consistent error when qemu binary is too old (Eric Blake),<br/>
      vbox: avoid provoking assertions in VBoxSVC (Jean-Baptiste Rouault),<br/>
      conf: Do not parse cpuset only if the placement is auto (Osier Yang),<br/>
      tests: Update read-bufsiz to delete the UUID of vm XML (Osier Yang),<br/>
      test: Set the fixed uuid for the default XMLs (Osier Yang),<br/>
      qemu: Split ide-drive into ide-cd and ide-hd (Osier Yang),<br/>
      qemu: Split scsi-disk into into scsi-hd and scsi-cd (Osier Yang),<br/>
      xen: do not use ioemu type for any emulated NIC (Stefan Bader),<br/>
      qemuProcessStart: Switch to flags instead of bunch booleans (Michal Privoznik),<br/>
      qemu: Avoid the memory allocation and freeing (Osier Yang),<br/>
      numad: Ignore cpuset if placement is auto (Osier Yang),<br/>
      numad: Convert node list to cpumap before setting affinity (Osier Yang),<br/>
      openvz: wire up more node information functions (Guido Günther),<br/>
      virnetdev: Check for defined IFLA_VF_* (Philipp Hahn),<br/>
      Web placeholder for pending patches on the web site (Daniel Veillard),<br/>
      xend_internal: Use domain/status for shutdown check (Stefan Bader),<br/>
      blockjob: wire up qemu async virDomainBlockJobAbort (Eric Blake),<br/>
      blockjob: optimize JSON event handler lookup (Eric Blake),<br/>
      blockjob: add API for async virDomainBlockJobAbort (Adam Litke),<br/>
      blockjob: add qemu capabilities related to block pull jobs (Eric Blake),<br/>
      qemu: Warn on possibly incorrect usage of EnterMonitor* (Jiri Denemark),<br/>
      qemu: Track job owner for better debugging (Jiri Denemark),<br/>
      qemu: Avoid excessive calls to qemuDomainObjSaveJob() (Jiri Denemark),<br/>
      daemon: Add libvirtd-config.c to the list of files to translate (Jiri Denemark),<br/>
      Wire up &lt;loader&gt; to set the QEMU BIOS path (Daniel P. Berrange),<br/>
      virsh: Clean up usage of boolean flag variables (Peter Krempa),<br/>
      virsh: Clarify use of the --managed-save flag for the list command (Peter Krempa),<br/>
      Replace daemon-conf test script with a proper test case (Daniel P. Berrange),<br/>
      Switch libvirtd config loading code to use error APIs (Daniel P. Berrange),<br/>
      Add API for loading daemon config from in-memory blob (Daniel P. Berrange),<br/>
      Split libvirtd config file loading out into separate files (Daniel P. Berrange),<br/>
      UML: fix iteration over consoles (MATSUDA, Daiki),<br/>
      tests: avoid compiler warnings (Eric Blake),<br/>
      openvz: support vzctl 3.1 (Ilja Livenson),<br/>
      Don't install sysctl file on non-Linux hosts (Daniel P. Berrange),<br/>
      Add linuxNodeInfoCPUPopulate to src/libvirt_linux.syms (Daniel P. Berrange),<br/>
      qemu: Build activeUsbHostdevs list on process reconnect (Michal Privoznik),<br/>
      qemu: Delete USB devices used by domain on stop (Michal Privoznik),<br/>
      Fix initial hypervisor conditionals (Daniel P. Berrange),<br/>
      Remove bogus xen-devel dep from libvirt-devel RPM (Daniel P. Berrange),<br/>
      Introduce per-hypervisor virtual RPMs (Daniel P. Berrange),<br/>
      Split config files &amp; daemon off from main daemon RPM (Daniel P. Berrange),<br/>
      Remove API XML files from libvirt RPM (Daniel P. Berrange),<br/>
      Move all documentation into a -docs sub-RPM (Daniel P. Berrange),<br/>
      virsh: Clarify escape sequence (Michal Privoznik)<br/>
      </li>

      <li> Cleanups:<br/>
      building: remove libvirt_dbus.syms from EXTRA_DIST (Wen Congyang),<br/>
      conf: remove redundant () (Eric Blake),<br/>
      util: remove dead casts (Eric Blake),<br/>
      virsh: minor syntactic cleanups (Eric Blake),<br/>
      gitignore: Reorder alphabetically (Michal Privoznik)<br/>
      </li>
    </ul>
    <h3>0.9.11: Apr 3 2012</h3>
    <ul>
      <li> Features:<br/>
      Add support for the suspend event (Osier Yang),<br/>
      Add support for event tray moved of removable disks (Osier Yang),<br/>
      qemu: Support numad (Osier Yang),<br/>
      cpustats: API, improvements and qemu support (KAMEZAWA Hiroyuki and Eric Blake),<br/>
      qemu: support type='hostdev' network devices at domain start (Laine Stump),<br/>
      Introduce virDomainPMWakeup API (Michal Privoznik),<br/>
      network: support Open vSwitch (Ansis Atteka),<br/>
      a number of snapshot improvements (Eric Blake)<br/>
      </li>

      <li> Portability:<br/>
      build: fix build on cygwin (Eric Blake),<br/>
      build: fix mingw ssize_t, syntax check (Eric Blake),<br/>
      Disable build of commandhelper &amp; ssh on Win32 (Daniel P. Berrange),<br/>
      build: avoid 'devname' for BSD (Eric Blake),<br/>
      build: avoid frame size error when building without -O2 (Laine Stump),<br/>
      spec: Add missed dependancy for numad (Osier Yang),<br/>
      util: fix build mingw (and all non-linux) build failure (Laine Stump),<br/>
      Build error on OSX in src/util/virnetlink.c (Duncan Rance),<br/>
      Fix build after commit e3ba4025 (Jim Fehlig),<br/>
      build: Fix build with dtrace + apparmor (Jiri Denemark),<br/>
      build: fix output of pid values (Eric Blake),<br/>
      avoid global variable shadowed (Hu Tao),<br/>
      lxc: Cleaner fix for compilation without SELinux (Martin Kletzander),<br/>
      Fix compilation on MacOS X (Lincoln Myers)<br/>
      </li>

      <li> Documentation:<br/>
      snapshot: fix virsh docs (Eric Blake),<br/>
      Expand docs for timer tick policy (Daniel P. Berrange),<br/>
      Add documentation for new attribute tray of disk target (Osier Yang),<br/>
      Clarify virsh freecell manpage entry (Dave Allan),<br/>
      fix typo (Zhou Peng),<br/>
      Clarify what documentation is being referenced (Dave Allan),<br/>
      Minor docs fix (Martin Kletzander),<br/>
      libvirt: fix comment typo (Alex Jia),<br/>
      fix usage example on setting log levels (Eric Blake),<br/>
      use correct terminology for 1024 bytes (Eric Blake),<br/>
      Fix typo (Osier Yang),<br/>
      Fix typo in domain XML documentation (Christophe Fergeau),<br/>
      storage: fix typo (Michal Privoznik),<br/>
      comments wiping supported algorithms (Alex Jia),<br/>
      Fix libvirt name in qemu commandline namespace URL (Michal Privoznik),<br/>
      virsh: Break long lines in virsh.pod (Osier Yang),<br/>
      Update bug reporting page (Dave Allan),<br/>
      lib: Fix function documentation for virConnectListDomains (Peter Krempa),<br/>
      virsh: Fix docs for list command (Peter Krempa)<br/>
      </li>

      <li> Bug fixes:<br/>
      qemu: Start nested job in qemuDomainCheckEjectableMedia (Jiri Denemark),<br/>
      qemu: fix memory leak in virDomainGetVcpus (Laine Stump),<br/>
      conf: allow fuzz in XML with cur balloon &gt; max (Eric Blake),<br/>
      qemu: reflect any memory rounding back to xml (Eric Blake),<br/>
      qemu: support live change of the bridge used by a guest network device (Hendrik Schwartke),<br/>
      qemu_agent: Issue guest-sync prior to every command (Michal Privoznik),<br/>
      conf: Prevent crash of libvirtd without channel target name (Alex Jia),<br/>
      fix a deadlock when qemu cannot start (Wen Congyang),<br/>
      qemu: Make migration fail when port profile association fails on the dst host (Christian Benvenuti),<br/>
      virsh: plug memory leaks on failure path (Alex Jia),<br/>
      snapshot: don't pass NULL to QMP command creation (Eric Blake),<br/>
      qemu: Avoid entering monitor with locked driver (Jiri Denemark),<br/>
      Leave all child processes running when stopping systemd service (Daniel P. Berrange),<br/>
      python: Avoid memory leaks on libvirt_virNodeGetCPUStats (Alex Jia),<br/>
      qemu: Avoid dangling migration-out job when client dies (Jiri Denemark),<br/>
      qemu: Avoid dangling migration-in job on shutoff domains (Jiri Denemark),<br/>
      qemu: Use unlimited speed when migrating to file (Jiri Denemark),<br/>
      python: Avoid memory leaks on libvirt_virNodeGetMemoryStats (Alex Jia),<br/>
      conf: forbid use of multicast mac addresses (Laine Stump),<br/>
      conf: return immediately on error in dhcp host element (Laine Stump),<br/>
      util: fail attempts to use same mac address for guest and tap (Laine Stump),<br/>
      snapshot: make quiesce a bit safer (Eric Blake),<br/>
      virConfGetValue: Fixed NULL pointer check (Martin Kletzander),<br/>
      Fix handling of blkio deviceWeight empty string (Daniel P. Berrange),<br/>
      remote: Fix migration leaks (Osier Yang),<br/>
      lib: Don't access configuration if none is present (Peter Krempa),<br/>
      qemuDomainDetachPciDiskDevice: Free allocated cgroup (Michal Privoznik),<br/>
      virsh: fix invalid free (Alex Jia),<br/>
      qemu: Reverse condition in qemuDomainCheckDiskPresence (Michal Privoznik),<br/>
      qemu: fix segfault when detaching non-existent network device (Guannan Ren),<br/>
      qemu: Fix (managed)save and snapshots with host mode CPU (Jiri Denemark),<br/>
      qemu: support disk filenames with comma (Eric Blake),<br/>
      Fix a few typo in translated strings (Daniel Veillard),<br/>
      qemuBuildCommandLine: Don't add tlsPort if none set (Michal Privoznik),<br/>
      qemu: eliminate memory leak in qemuDomainUpdateDeviceConfig (Laine Stump),<br/>
      util: eliminate device object leaks related to virDomain*Remove*() (Laine Stump),<br/>
      qemu: don't 'remove' hostdev objects from domain if operation fails (Laine Stump),<br/>
      util: Don't overflow on errno in virFileAccessibleAs (Michal Privoznik),<br/>
      sanlock: Use STREQ_NULLABLE instead of STREQ on strings that may be null (Peter Krempa),<br/>
      qemu: Fix startupPolicy for snapshot-revert (Michal Privoznik),<br/>
      rpc: allow truncated return for virDomainGetCPUStats (Eric Blake),<br/>
      conf: fix error log with "address address" (Laine Stump),<br/>
      Ensure max_id is initialized in linuxParseCPUmap() (Daniel P. Berrange),<br/>
      util: eliminate crash in virNetDevMacVLanCreateWithVPortProfile (Laine Stump),<br/>
      rpc: Fix client crash on connection close (Jiri Denemark),<br/>
      Correct a check for capacity arg of storageVolumeResize() (Zeeshan Ali (Khattak)),<br/>
      qemu: Don't emit tls-port spice option if port is -1 (Jiri Denemark),<br/>
      libxl: eliminate memory leak in libxmlDomainModifyDeviceFlags (Laine Stump),<br/>
      qemu: fix cleanup of bridge during failure of qemuDomainAttachNetDevice (Laine Stump),<br/>
      qemu: unescape HMP commands before converting them to json (Josh Durgin),<br/>
      virsh: fix informational message in iface-bridge command (Laine Stump),<br/>
      virterror: Misleading error message when name is missing (Benjamin Cama),<br/>
      util: Fix virFileAccessibleAs return path from parent (Michal Privoznik),<br/>
      qemu: Prevent crash of libvirtd without guest agent (Alex Jia),<br/>
      qemu: Unlock monitor when connecting to dest qemu fails (Jiri Denemark),<br/>
      qemu: Fix segfault when host CPU is empty (Jiri Denemark),<br/>
      Fix polkit0 authentication (Jim Fehlig),<br/>
      snapshot: fix snapshot deletion use-after-free (Eric Blake),<br/>
      daemon: fix logic bug with virAsprintf (Eric Blake),<br/>
      daemon: plug memory leak (Eric Blake),<br/>
      Fix typos in API XML file paths (Daniel P. Berrange)<br/>
      </li>

      <li> Improvements:<br/>
      Xen: Fix &lt;clock&gt; handling (Philipp Hahn),<br/>
      Support clock=variable relative to localtime (Philipp Hahn),<br/>
      python: improve conversion validation (Eric Blake),<br/>
      Fix client only RPM build &amp; other misc RPM problems (Daniel P. Berrange),<br/>
      Refactor the libvirt RPM daemon pieces (Daniel P. Berrange),<br/>
      virnetdevtap: Don't check for flags in virNetDevTapCreateFlags (Michal Privoznik),<br/>
      Consistent style for usage of sizeof operator (Daniel P. Berrange),<br/>
      Don't redefine the CPU comparison constants in CPU test (Daniel P. Berrange),<br/>
      Fix some format specifiers for size_t vs ssize_t (Daniel P. Berrange),<br/>
      build: silence recent syntax check violations (Eric Blake),<br/>
      private.syms: Add virNetDevMacVLanRestartWithVPortProfile (Zhou Peng),<br/>
      Set default name for SPICE agent channel (Christophe Fergeau),<br/>
      python: make python APIs use these helper functions (Guannan Ren),<br/>
      python: Add new helper functions for python to C integral conversion (Guannan Ren),<br/>
      Enable all warnings permanently &amp; default to -Werror for GIT builds (Daniel P. Berrange),<br/>
      Enable build of test suite programs by default for GIT checkouts (Daniel P. Berrange),<br/>
      Change the default of mdns_adv to false (Stef Walter),<br/>
      Add LXC XML files to schema test &amp; fix problems this uncovers (Daniel P. Berrange),<br/>
      Add support for setting init argv for LXC (Daniel P. Berrange),<br/>
      Detect location fo selinux mount point (Daniel P. Berrange),<br/>
      qemu,util: on restart of libvirt restart vepa callbacks (D. Herrendoerfer),<br/>
      build: fix "missing initializer" error in qemu_process.c (Laine Stump),<br/>
      build: fix "missing initializer" errors in virsh.c (Laine Stump),<br/>
      Added syntax-check rule for return with parentheses (Martin Kletzander),<br/>
      Cleanup for a return statement in source files (Martin Kletzander),<br/>
      Fix and test round-trip of query parameters (Eric Blake),<br/>
      snapshot: improve qemu handling of reused snapshot targets (Eric Blake),<br/>
      snapshot: wire up qemu transaction command (Eric Blake),<br/>
      snapshot: add support for qemu transaction command (Eric Blake),<br/>
      snapshot: rudimentary qemu support for atomic disk snapshot (Eric Blake),<br/>
      snapshot: make offline qemu snapshots atomic (Eric Blake),<br/>
      snapshot: add atomic create flag (Eric Blake),<br/>
      snapshot: add qemu capability for 'transaction' command (Eric Blake),<br/>
      build: fix incorrect enum declaration (Eric Blake),<br/>
      Add qemu support for ppc64 on FC16 or above for rpm packaging (Li Zhang),<br/>
      Fix typo s/virURIFormatQuery/virURIFormatParams/ (Daniel P. Berrange),<br/>
      qemu: Update domain status to running while wakeup event is emitted (Osier Yang),<br/>
      qemu: Update domain state to pmsuspended while suspend event occurs (Osier Yang),<br/>
      New domain state pmsuspended (Osier Yang),<br/>
      Add support for the wakeup event (Osier Yang),<br/>
      qemu: Update tray status while tray moved event is emitted (Osier Yang),<br/>
      qemu: Prohibit setting tray status as open for block type disk (Osier Yang),<br/>
      qemu: Do not start with source for removable disks if tray is open (Osier Yang),<br/>
      conf: Parse and for the tray attribute (Osier Yang),<br/>
      Implement sysinfo on PowerPC. (Prerna Saxena),<br/>
      Lookup auth credentials in config file before prompting (Daniel P. Berrange),<br/>
      Refactor code prompting for SASL credentials (Daniel P. Berrange),<br/>
      Add helper API for finding auth file path (Daniel P. Berrange),<br/>
      Rename virRequest{Username,Password} to virAuthGet{Username,Password} (Daniel P. Berrange),<br/>
      Rename src/util/authhelper.[ch] to src/util/virauth.[ch] (Daniel P. Berrange),<br/>
      Add a virKeyfilePtr object for parsing '.ini' files (Daniel P. Berrange),<br/>
      Convert drivers over to use virURIPtr for query params (Daniel P. Berrange),<br/>
      Store parsed query parameters directly in the virURIPtr struct (Daniel P. Berrange),<br/>
      Use a libvirt custom struct for virURIPtr (Daniel P. Berrange),<br/>
      Centralize error reporting for URI parsing/formatting problems (Daniel P. Berrange),<br/>
      s/xmlURIPtr/virURIPtr/ in virURIFormat impl (Daniel P. Berrange),<br/>
      Use virURIFree instead of xmlFreeURI (Daniel P. Berrange),<br/>
      Add test case for virURIPtr classs (Daniel P. Berrange),<br/>
      python: add virDomainGetCPUStats python binding API (Guannan Ren),<br/>
      qemu: Make autodestroy utilize connection close callbacks (Jiri Denemark),<br/>
      qemu: Add connection close callbacks (Jiri Denemark),<br/>
      qemu: Add support for domain cleanup callbacks (Jiri Denemark),<br/>
      python: always include config.h first (Eric Blake),<br/>
      Cpu mapping cleanup (Martin Kletzander),<br/>
      virsh: trim aliases from -h output (Eric Blake),<br/>
      Add support for forcing a private network namespace for LXC guests (Daniel P. Berrange),<br/>
      Emit graphics events when a SPICE client connects/disconnects (Laine Stump),<br/>
      numad: Fix typo and warning (Osier Yang),<br/>
      Add container_uuid env variable to LXC guests (Daniel P. Berrange),<br/>
      Allow overriding default URI in config file (Daniel P. Berrange),<br/>
      virsh: A bit smarter attach-disk (Osier Yang),<br/>
      qemu: Use scsi-block for lun passthrough instead of scsi-disk (Osier Yang),<br/>
      cpu: Add cpu definition for Intel Sandy Bridge cpu type (Peter Krempa),<br/>
      Added support for AMD Bulldozer CPU (Martin Kletzander),<br/>
      graphics: Cleanup port policy (Michal Privoznik),<br/>
      cpustats: report user and sys times (Eric Blake),<br/>
      qemuxml2argvtest: Pass some additional flags to graphics-spice-agentmouse (Michal Privoznik),<br/>
      qemu: spice agent-mouse support (Peng Zhou),<br/>
      virsh: Use option alias for outmoded "--persistent" (Osier Yang),<br/>
      util: consolidate duplicated error messages in pci.c (Laine Stump),<br/>
      qemu: support persistent hotplug of &lt;hostdev&gt; devices (Laine Stump),<br/>
      util: standardize return from functions calling virNetlinkCommand (Laine Stump),<br/>
      util: make virDomainLeaseDefFree global (Laine Stump),<br/>
      util: consolidate duplicated error messages in virnetlink.c (Laine Stump),<br/>
      util: log error on OOM in virNetDevOpenvswitchAddPort (Laine Stump),<br/>
      Attach vm-id to Open vSwitch interfaces. (Ansis Atteka),<br/>
      util: whitespace change to virNetDevOpenvswitchAddPort (Laine Stump),<br/>
      util: add stub pciConfigAddressToSysfsFile for non-linux platforms (Laine Stump),<br/>
      rpc: generalize solution for VPATH builds (Eric Blake),<br/>
      xml: Clean up schemas to use shared data types instead of local (Peter Krempa),<br/>
      qemu: Don't parse device twice in attach/detach (Michal Privoznik),<br/>
      virsh: improve memory unit parsing (Eric Blake),<br/>
      virsh: improve storage unit parsing (Eric Blake),<br/>
      virsh: add command aliases, and rename nodedev-detach (Eric Blake),<br/>
      virsh: use option aliases (Eric Blake),<br/>
      virsh: add option aliases (Eric Blake),<br/>
      xml: allow scaled memory on input (Eric Blake),<br/>
      xml: use better types for memory values (Eric Blake),<br/>
      xml: use long long internally, to centralize overflow checks (Eric Blake),<br/>
      xml: drop unenforced minimum memory limit from RNG (Eric Blake),<br/>
      storage: support more scaling suffixes (Eric Blake),<br/>
      xml: output memory unit for clarity (Eric Blake),<br/>
      xml: share 'unit' in RNG (Eric Blake),<br/>
      util: new function for scaling numbers (Eric Blake),<br/>
      api: add overflow error (Eric Blake),<br/>
      cpu-stats command shows cpu statistics information of a domain. (KAMEZAWA Hiroyuki),<br/>
      qemu driver for virDomainGetCPUstats using cpuacct cgroup. (KAMEZAWA Hiroyuki),<br/>
      add nodeGetCPUmap() for getting available CPU IDs in a cpumap. (KAMEZAWA Hiroyuki),<br/>
      qemu: install port profile and mac address on netdev hostdevs (Roopa Prabhu),<br/>
      util: Changes to support portprofiles for hostdevs (Roopa Prabhu),<br/>
      util: support functions for mac/portprofile associations on hostdev (Roopa Prabhu),<br/>
      util: two new pci util functions (Roopa Prabhu),<br/>
      qemu: support type=hostdev network device live hotplug attach/detach (Laine Stump),<br/>
      qemu: use virDomainNetRemove instead of inline code (Laine Stump),<br/>
      conf: change virDomainNetRemove from static to global (Laine Stump),<br/>
      conf: parse/format type='hostdev' network interfaces (Laine Stump),<br/>
      qemu: refactor hotplug detach of hostdevs (Laine Stump),<br/>
      qemu: re-order functions in qemu_hotplug.c (Laine Stump),<br/>
      conf: hostdev utility functions (Laine Stump),<br/>
      conf: put subsys part of virDomainHostdevDef into its own struct (Laine Stump),<br/>
      conf: give each hostdevdef a parent pointer (Laine Stump),<br/>
      conf: HostdevDef parse/format helper functions (Laine Stump),<br/>
      conf: make hostdev info a separate object (Laine Stump),<br/>
      conf: add device pointer to args of virDomainDeviceInfoIterate callback (Laine Stump),<br/>
      qemu: rename virDomainDeviceInfoPtr variables to avoid confusion (Laine Stump),<br/>
      conf: reorder static functions in domain_conf.c (Laine Stump),<br/>
      conf: relocate virDomainDeviceDef and virDomainHostdevDef (Laine Stump),<br/>
      conf: add missing device types to virDomainDevice(Type|Def) (Laine Stump),<br/>
      blockResize: add flag for bytes (Eric Blake),<br/>
      qemu: Shared or readonly disks are always safe wrt migration (Jiri Denemark),<br/>
      libvirt-guests: Add parallel startup and shutdown of guests (Peter Krempa),<br/>
      Fix type and add missed comment for diskChange callback (Osier Yang),<br/>
      cpu: Add new flag supported by qemu to the cpu definition (Peter Krempa),<br/>
      util: combine bools in virNetDevTapCreateInBridgePort into flags (Laine Stump),<br/>
      util: centralize tap device MAC address 1st byte "0xFE" modification (Ansis Atteka),<br/>
      build: use correct type for pid and similar types (Eric Blake),<br/>
      build: prohibit cross-inclusion (Eric Blake),<br/>
      virsh: expose partial pull (Eric Blake),<br/>
      qemu: pass block pull backing file to monitor (Eric Blake),<br/>
      qemu: require json for block jobs (Eric Blake),<br/>
      fix alphabetical order of virNetlink functions in symbol file (Laine Stump),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      Add de-association handling to macvlan code (D. Herrendoerfer),<br/>
      util: Add netlink event handling to virnetlink.c (D. Herrendoerfer),<br/>
      Support for cpu64-rhel* qemu cpu models (Martin Kletzander),<br/>
      libvirt-guests: Check if URI is reachable before launching commands (Peter Krempa),<br/>
      libvirt-guests: Don't try to do a managed-save of transient guests (Peter Krempa),<br/>
      libvirt-guests: Add documentation and clean up to use virsh's improved list (Peter Krempa),<br/>
      qemu: Add pre-migration hook (Jiri Denemark),<br/>
      hooks: Add support for capturing hook output (Jiri Denemark),<br/>
      util: fix a typo (Alex Jia),<br/>
      storage: fix a typo (Alex Jia),<br/>
      Do not include binaries in EXTRA_DIST (Daniel Veillard),<br/>
      virsh: New command cmdChangeMedia (Osier Yang),<br/>
      virsh: Use vshFindDisk and vshPrepareDiskXML in cmdDetachDisk (Osier Yang),<br/>
      virsh: Two new helper functions for disk device changes (Osier Yang),<br/>
      tests: Add tests for virtio-scsi and ibmvscsi controllers (Osier Yang),<br/>
      qemu: Build command line for the new address format (Osier Yang),<br/>
      qemu: New cap flag to indicate if channel is supported by scsi-disk (Osier Yang),<br/>
      conf: Introduce new attribute for device address format (Osier Yang),<br/>
      conf: Add helper function to look up disk controller model (Osier Yang),<br/>
      qemu: add virtio-scsi controller model (Paolo Bonzini),<br/>
      qemu: add ibmvscsi controller model (Paolo Bonzini),<br/>
      qemu: Add ability to abort existing console while creating new one (Peter Krempa),<br/>
      util: Add helpers for safe domain console operations (Peter Krempa),<br/>
      fdstream: Add internal callback on stream close (Peter Krempa),<br/>
      fdstream: Emit stream abort callback even if poll() doesnt. (Peter Krempa),<br/>
      virsh: add support for VIR_DOMAIN_CONSOLE_* flags (Peter Krempa),<br/>
      Add flags for virDomainOpenConsole (Peter Krempa),<br/>
      pidfile: Make checking binary path in virPidFileRead optional (Peter Krempa),<br/>
      qemu: Implement virDomainPMWakeup API (Michal Privoznik),<br/>
      virsh: Expose virDomainPMWakeup (Michal Privoznik),<br/>
      Fixed URI parsing (Martin Kletzander),<br/>
      Workaround python header file insanity (Daniel P. Berrange),<br/>
      Improve error reporting when virsh console is run without a TTY (Daniel P. Berrange),<br/>
      Error out when using SPICE TLS with spice_tls=0 (Christophe Fergeau),<br/>
      vmx: Better Workstation vmx handling (Jean-Baptiste Rouault),<br/>
      qemu: nicer error message on failed graceful destroy (Eric Blake),<br/>
      qemu: Forbid migration with cache != none (Jiri Denemark),<br/>
      Introduce virStorageFileIsClusterFS (Jiri Denemark),<br/>
      virsh: Add --unsafe option to migrate command (Jiri Denemark),<br/>
      Add support for unsafe migration (Jiri Denemark),<br/>
      configure: Define program name if not found (Michal Privoznik),<br/>
      virsh: Enhance list command to ease creation of shell scripts (Peter Krempa),<br/>
      vmware: implement domainXMLFromNative (Jean-Baptiste Rouault),<br/>
      esx: Correctly disable HTTP Expect header usage of libcurl (Matthias Bolte),<br/>
      caps: Improve error if passed an unknown arch (Cole Robinson),<br/>
      spec: use ix86 macros (Peter Robinson),<br/>
      nwfilter: improved logging during driver initialization (Stefan Berger),<br/>
      storage: Allow runtime detection of scrub (Michal Privoznik),<br/>
      Fix build with polkit0 (Jim Fehlig),<br/>
      python: Expose virDomain{G,S}etInterfaceParameters APIs in python binding (Alex Jia),<br/>
      conf: rename virDomainNetGetActualDirectVirtPortProfile (Laine Stump),<br/>
      qemu: increase the timeout before sending SIGKILL to qemu process (Laine Stump),<br/>
      qemu: drop driver lock while trying to terminate qemu process (Laine Stump),<br/>
      qemu: Implement DomainPMSuspendForDuration (Michal Privoznik),<br/>
      qemu: Set capabilities based on supported monitor commands (Michal Privoznik),<br/>
      Install API XML desc to a standard location (Daniel P. Berrange),<br/>
      qemu: make block io tuning smarter (Eric Blake)<br/>
      </li>

      <li> Cleanups:<br/>
      Fix typos and spacing in messages. (Yuri Chornoivan),<br/>
      qemu: eliminate nested switch, simplify code (Laine Stump),<br/>
      Fix typo in previous patch (Daniel P. Berrange),<br/>
      build: drop obsolete qparams test (Eric Blake),<br/>
      build: drop a painfully long gnulib test (Eric Blake),<br/>
      Removed more AMD-specific features from cpu64-rhel* models (Martin Kletzander),<br/>
      conf: eliminate redundant VIR_ALLOC of 1st element of network DNS hosts. (Laine Stump),<br/>
      remove daemon/probes.h from .gitignore (Laine Stump),<br/>
      sanlock: Fix condition left crippled while debugging (Peter Krempa),<br/>
      qemu: Fix indention (Osier Yang),<br/>
      daemon: Remove deprecated HAL from init script dependencies (Peter Krempa),<br/>
      util: remove unneeded #include in virrandom.c (Laine Stump),<br/>
      util: wrap virnetlink.c to 80 columns (Laine Stump),<br/>
      Fixed service handling in specfile (Martin Kletzander)<br/>
      </li>
    </ul>

    <h3>0.9.10: Feb 13 2012</h3>
    <ul>
      <li> Features:<br/>
      Add support for sVirt in the LXC driver (Daniel P. Berrange),<br/>
      block rebase: add new API virDomainBlockRebase (Eric Blake),<br/>
      API: Add api to set and get domain metadata (Peter Krempa),<br/>
      virDomainGetDiskErrors public API (Jiri Denemark),<br/>
      conf: add rawio attribute to disk element of domain XML (Taku Izumi),<br/>
      Add new public API virDomainGetCPUStats() (KAMEZAWA Hiroyuki),<br/>
      Introduce virDomainPMSuspendForDuration API (Michal Privoznik),<br/>
      resize: add virStorageVolResize() API (Zeeshan Ali (Khattak)),<br/>
      Add a virt-host-validate command to sanity check HV config (Daniel P. Berrange),<br/>
      Add new virDomainShutdownFlags API (Daniel P. Berrange),<br/>
      QEMU guest agent support (Daniel P. Berrange)<br/>
      </li>

      <li> Documentation:<br/>
      fix typo in python bindings (Eric Blake),<br/>
      conf: small changes to comments in virDomainDeviceInfo (Laine Stump),<br/>
      Clarify the purpose of domxml-from-native (Dave Allan),<br/>
      Enhance documentation of the old-style boot configuration (Jiri Denemark),<br/>
      virterror.c: Fix several spelling mistakes (Philipp Hahn),<br/>
      Add detail to documentation on storage pools and volumes. (Dave Allan),<br/>
      fill out rawio description (Laine Stump),<br/>
      XenXs: Update documentation (Philipp Hahn),<br/>
      reorder public header (Eric Blake),<br/>
      tweak recent suspend API additions (Eric Blake),<br/>
      Add missing docs for &lt;viridian/&gt; feature flag (Daniel P. Berrange),<br/>
      fix virsh man page (Eric Blake),<br/>
      fix a few small typos in formatdomain.html.in (Laine Stump),<br/>
      src/datatypes.h: fix typo (Alon Levy),<br/>
      Clarify semantics of virDomainMigrate{,ToURI}2 (Jiri Denemark),<br/>
      Add missed RNG schema for interface (Osier Yang),<br/>
      Add documentation new ways to access members of variables (Stefan Berger),<br/>
      virsh: improve doMigrate function docs (Alex Jia),<br/>
      standardize description of flags (Eric Blake),<br/>
      Document Android application using libvirt (Michal Privoznik)<br/>
      </li>

      <li> Portability:<br/>
      virpidfile: replace fopen/fwrite/fscanf with more portable version (Marc-André Lureau),<br/>
      util: Do not use PRIx64 macro (Osier Yang),<br/>
      Replace truncate() with ftruncate() (Daniel P. Berrange),<br/>
      build: avoid gcc 4.7 warning about inlines (Eric Blake),<br/>
      lxc: Fix build with AppArmor (Jiri Denemark),<br/>
      Update gnulib to fix mingw64 compilation errors (Marc-André Lureau),<br/>
      tests: virnettlscontexttest needs gnutls-2.6.0 (Philipp Hahn),<br/>
      qemu: Silent bogus warning about unitialized variable (Jiri Denemark),<br/>
      build: fix text regression (Eric Blake),<br/>
      Add virt-host-validate.1 to Mingw32 RPM spec file list (Daniel P. Berrange),<br/>
      build: fix missing include (Eric Blake),<br/>
      qemu: support qmp on RHEL/CentOS qemu (Eric Blake),<br/>
      util: Include stdint.h because of uint32_t (Michal Privoznik),<br/>
      Cast pointer to int using intptr_t (Marc-André Lureau),<br/>
      build: fix header order on mingw (Eric Blake),<br/>
      errcode is typedef by mingw, rename an argument name (Marc-André Lureau),<br/>
      Add missing virGetGroupName() (Marc-André Lureau),<br/>
      build: skip lxc with too-old glibc (Eric Blake),<br/>
      Remove dmidecode dependancy outside PC arches (Daniel Veillard),<br/>
      build: fix bootstrap on fresh clone (Eric Blake),<br/>
      tests: Add qemuxml2argv tests for PPC64 pseries machine (Michael Ellerman),<br/>
      tests: Teach qemuxml2argvtest about spapr-vio addresses (Michael Ellerman),<br/>
      Disable netcf if building without libvirtd (Daniel P. Berrange),<br/>
      build: fix build on mingw with netcf available (Eric Blake),<br/>
      build: avoid spurious compiler warning (Eric Blake)<br/>
      </li>

      <li> Bug Fixes:<br/>
      rpc: Plug memory leaks on doRemoteOpen() failure path (Alex Jia),<br/>
      GetCPUStats: fix overflow test (Lai Jiangshan),<br/>
      python: Correct arguments number for migrateSetMaxSpeed (Osier Yang),<br/>
      qemu: fix persistent setting of blkiodevice weights (Eric Blake),<br/>
      qemu: Fix memory leak when building -cpu argument (Jiri Denemark),<br/>
      security: Driver 'none' cannot create confined guests (Jiri Denemark),<br/>
      seclabel: Do not output relabel attribute for type 'none' (Jiri Denemark),<br/>
      virsh: Plug memory leak on cmdDesc (Alex Jia),<br/>
      virsh: Do not check the input XML at virsh layer for cmdDetachDevice (Osier Yang),<br/>
      On systems with dmidecode version 2.10 or older, (Prerna Saxena),<br/>
      storage: Don't unsparsify images when cloning (Cole Robinson),<br/>
      build: don't require avahi during install (Laine Stump),<br/>
      pyhton: Don't link against libvirt_util.la (Michal Privoznik),<br/>
      xen-xm: SIGSEGV in xenXMDomainDefineXML: filename (Philipp Hahn),<br/>
      xen-xm: fix data loss in domain edit (Philipp Hahn),<br/>
      virsh: Fix resource leak while listing inactive domains with titles (Peter Krempa),<br/>
      xen_xm: Fix SIGSEGV in xenXMDomainDefineXML (Philipp Hahn),<br/>
      qemu: Fix seamless spice migration (Jiri Denemark),<br/>
      apparmor: Add missing comma (Jiri Denemark),<br/>
      virsh: Avoid invalid read of size errors (Alex Jia),<br/>
      qemu: eliminate "Ignoring open failure" when using root-squash NFS (Laine Stump),<br/>
      conf: Plug memory on virDomainDiskDefParseXML (Alex Jia),<br/>
      virsh: Plug memory leak on cmdUndefine (Alex Jia),<br/>
      network: fix testsuite regression (Eric Blake),<br/>
      network: Avoid memory leaks on networkBuildDnsmasqArgv (Alex Jia),<br/>
      python: correct a copy-paste error (Alex Jia),<br/>
      qemu: Don't jump to endjob if no job was even started (Michal Privoznik),<br/>
      qemu: fix my typo at commit 74e034964c32edb1732d0ff7642f3977f3587d72 (Taku Izumi),<br/>
      qemu: Fix segfault in qemuMonitorTextGetBlockInfo (Hendrik Schwartke),<br/>
      tests: fix reversed comparisons (Eric Blake),<br/>
      qemu: avoid double free of qemu help output (Eric Blake),<br/>
      apparmor: Fix use of uninitialized random_data (Jiri Denemark),<br/>
      storage: Fix any VolLookupByPath if we have an empty logical pool (Cole Robinson),<br/>
      Don't bind mount onto a char device for /dev/ptmx in LXC (Daniel P. Berrange),<br/>
      xen: Don't crash when we fail to init caps (Guido Günther),<br/>
      xen: properly report out of memory when hvm_type is too small (Guido Günther),<br/>
      threads: check for failure to set thread-local value (Eric Blake),<br/>
      Fix rpc generator to anchor matches for method names (Daniel P. Berrange),<br/>
      Fix startup of LXC containers with filesystems containing symlinks (Daniel P. Berrange),<br/>
      qemu: Prohibit reattaching node device if it is in use (Osier Yang),<br/>
      qemu: Don't break domain with 0:0:2.0 assigned to anything but VGA (Jiri Denemark),<br/>
      Fixed dumpxml of &lt;iotune&gt; parameters (Martin Kletzander),<br/>
      nwfilter: fix typing error in filter (Stefan Berger),<br/>
      events: Return the correct number of registered events (Adam Litke),<br/>
      uuid: fix off-by-one (Eric Blake),<br/>
      build: fix virsh reformat fallout (Eric Blake),<br/>
      stream: Check for stream EOF (Michal Privoznik),<br/>
      Do not generate security_model when fs driver is anything but 'path' (Deepak C Shetty),<br/>
      qemu: check for kvm availability before starting kvm guests (Laine Stump),<br/>
      qemu: fix a typo on qemuDomainSetBlkioParameters (Alex Jia),<br/>
      config: report error when script given for inappropriate interface type (Laine Stump)<br/>
      </li>

      <li> Improvements:<br/>
      python: make other APIs share common {get, set}PyVirTypedParameter (Guannan Ren),<br/>
      npiv: Auto-generate WWN if it's not specified (Osier Yang),<br/>
      Remove single quotes from audit records (Marcelo Cerri),<br/>
      domain: add implicit USB controller (Marc-André Lureau),<br/>
      python: refactoring virTypedParameter conversion for NUMA tuning APIs (Guannan Ren),<br/>
      qemu: make blkiodevice weights easier to read (Eric Blake),<br/>
      sysinfo: simplify function signature (Eric Blake),<br/>
      Populate /dev/std{in,out,err} symlinks in LXC containers (Daniel P. Berrange),<br/>
      Update symbols file for virFileDirectFd/virFileWrapperFd rename (Daniel P. Berrange),<br/>
      virsh: Fix flag semantics and docs for "desc" command (Peter Krempa),<br/>
      qemu: Always use iohelper for domain save (Jiri Denemark),<br/>
      qemu: Always use iohelper for dumping domain core (Jiri Denemark),<br/>
      util: Generalize virFileDirectFd (Jiri Denemark),<br/>
      Allow polkit auth for VNC and SSH users (Cole Robinson),<br/>
      seclabel: make code and RNG match (Eric Blake),<br/>
      maint: Add test output files to .gitignore (Peter Krempa),<br/>
      tests: Fix build with -Werror (Jiri Denemark),<br/>
      maint: consolidate several .gitignore files (Eric Blake),<br/>
      util: refactor virFileOpenAs (Laine Stump),<br/>
      util: rename netlink.[ch] to virnetlink.[ch] (D. Herrendoerfer),<br/>
      virsh: add --graceful switch to destroy command (Laine Stump),<br/>
      qemu: new GRACEFUL flag for virDomainDestroy w/ QEMU support (Laine Stump),<br/>
      Added missing memory reporting into python bindings (Martin Kletzander),<br/>
      python: use libvirt_util to avoid raw free (Eric Blake),<br/>
      build: expand rule to cover testsuite (Eric Blake),<br/>
      build: prohibit raw malloc and free (Eric Blake),<br/>
      build: clean up CPPFLAGS/INCLUDES usage (Eric Blake),<br/>
      command: allow merging stdout and stderr in string capture (Eric Blake),<br/>
      maint: prune duplicate listings in AUTHORS (Eric Blake),<br/>
      virsh: extension of virsh attach-disk for rawio (Taku Izumi),<br/>
      Fixed connection definition for non-SELinux builds (Martin Kletzander),<br/>
      Added RSS reporting (Martin Kletzander),<br/>
      Added RSS information gathering into qemudGetProcessInfo (Martin Kletzander),<br/>
      Set a security context on /dev and /dev/pts mounts (Daniel P. Berrange),<br/>
      Add two new security label types (Daniel P. Berrange),<br/>
      Re-add domain device seclabel parsing / formatting (Daniel P. Berrange),<br/>
      Revert changes to sec label parsing (Daniel P. Berrange),<br/>
      tests: dynamically replace dnsmasq path (Philipp Hahn),<br/>
      xen_xs: name xendConfigVersion magic numbers (Philipp Hahn),<br/>
      block rebase: initial qemu implementation (Eric Blake),<br/>
      block rebase: wire up remote protocol (Eric Blake),<br/>
      qemu: Add support for virDomainGetMetadata and virDomainSetMetadata (Peter Krempa),<br/>
      virsh: Add support for modifying domain description and titles (Peter Krempa),<br/>
      xml: Add element &lt;title&gt; to allow short description of domains (Peter Krempa),<br/>
      build: add missing virStorageFileResize to libvirt_private.syms (Laine Stump),<br/>
      build: add missing virCommandAddCap to libvirt_private.syms (Laine Stump),<br/>
      daemon: Allow overriding NOFILES ulimit for the daemon as well (Michal Privoznik),<br/>
      python: Add binding for virDomainGetDiskErrors (Jiri Denemark),<br/>
      virsh: Implement domblkerror command (Jiri Denemark),<br/>
      qemu: Implement virDomainGetDiskErrors (Jiri Denemark),<br/>
      Remote protocol for virDomainGetDiskErrors (Jiri Denemark),<br/>
      command: Fix ATTRIBUTE_UNUSED on virSetCapabilities (Michal Privoznik),<br/>
      simplify block of codes (Alex Jia),<br/>
      qemu: make qemu processes to retain rawio capability (Taku Izumi),<br/>
      util: extend virExecWithHook() (Taku Izumi),<br/>
      util: add functions to keep capabilities (Taku Izumi),<br/>
      Implement virStorageVolResize() for FS backend (Zeeshan Ali (Khattak)),<br/>
      resize: slightly alter signature (Eric Blake),<br/>
      qemu: add "romfile" support to specify device boot ROM (Laine Stump),<br/>
      qemu: (and conf) support rombar for network devices (Laine Stump),<br/>
      conf: relocate rombar and boot order parse/format (Laine Stump),<br/>
      conf: put all guest-related HostdevDef data in one object (Laine Stump),<br/>
      xen: Don't add &lt;console&gt; to xml for dom0 (Cole Robinson),<br/>
      remote handler for virDomainGetCPUStats() (KAMEZAWA Hiroyuki),<br/>
      virsh: Expose new virDomainPMSuspendForDuration API (Michal Privoznik),<br/>
      resize: implement remote protocol for virStorageVolResize() (Zeeshan Ali (Khattak)),<br/>
      Return more error output if policykit auth fails. (Cole Robinson),<br/>
      Add new error code VIR_ERROR_AUTH_CANCELLED (Cole Robinson),<br/>
      Move virEmitXMLWarning into xml.h (Daniel P. Berrange),<br/>
      Move virMacAddrXXX functions to src/util/virmacaddr.[ch] (Daniel P. Berrange),<br/>
      Rename virXXXXMacAddr to virMacAddrXXX (Daniel P. Berrange),<br/>
      qemu: parse and create -cpu ...,-kvmclock (Paolo Bonzini),<br/>
      conf: add kvmclock timer (Paolo Bonzini),<br/>
      qemu: do not create useless &lt;cpu&gt; element (Paolo Bonzini),<br/>
      qemu: get arch name from &lt;cpu&gt; element (Paolo Bonzini),<br/>
      qemu: detect arch correctly for KVM (Paolo Bonzini),<br/>
      x86: add kvm32 and kvm64, update qemu64 (Paolo Bonzini),<br/>
      qemu: parse -enable-kvm (Paolo Bonzini),<br/>
      qemu: require qmp on new enough qemu (Eric Blake),<br/>
      nwfilter: Rebuild filters only if new filter is different than current (Stefan Berger),<br/>
      nwfilter: Force instantiation of filters upon driver reload (Stefan Berger),<br/>
      qemu: Refactor qemuMonitorGetBlockInfo (Jiri Denemark),<br/>
      Update VIRT_CONTROL audit record with pid. (Marcelo Cerri),<br/>
      build: allow for 64-bit pid in daemon (Eric Blake),<br/>
      daemon: convert virRun to virCommand (Eric Blake),<br/>
      hash: minor touchups (Eric Blake),<br/>
      Replace hashing algorithm with murmurhash (Daniel P. Berrange),<br/>
      Rename  hash.h and hash.c to virhash.h and virhash.c (Daniel P. Berrange),<br/>
      Convert various virHash functions to use size_t / uint32 (Daniel P. Berrange),<br/>
      Introduce new API for generating random numbers (Daniel P. Berrange),<br/>
      schema: Relax schema for domain name (Peter Krempa),<br/>
      storage: Support different wiping algorithms (Michal Privoznik),<br/>
      lxc: export container=lxc-libvirt for systemd (Eric Blake),<br/>
      Add virFileTouch for creating empty files (Daniel P. Berrange),<br/>
      virsh: Expose new VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag (Michal Privoznik),<br/>
      snapshots: Introduce VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag (Michal Privoznik),<br/>
      qemu_agent: Create file system freeze and thaw functions (Michal Privoznik),<br/>
      qemu: Emit bootindex even for direct boot (Jiri Denemark),<br/>
      metadata: group metadata next to description (Eric Blake),<br/>
      build: simplify xmlFreeNode usage (Eric Blake),<br/>
      Allow custom metadata in domain configuration XML (Zeeshan Ali (Khattak)),<br/>
      virCommandProcessIO(): make poll() usage more robust (Laszlo Ersek),<br/>
      Allow choice of shutdown method via virsh (Daniel P. Berrange),<br/>
      Wire up QEMU agent to reboot/shutdown APIs (Daniel P. Berrange),<br/>
      hashtest: Initialize variable in virHashEqual test (Michal Privoznik),<br/>
      Add test case for virHashEqual function (Stefan Berger),<br/>
      Compare two hash tables for equality (Stefan Berger),<br/>
      virsh: let domif-{get,set}link take target name (Taku Izumi),<br/>
      maint: cleanup qemu capabilities (Eric Blake),<br/>
      maint: enforce use of _LAST marker (Eric Blake),<br/>
      API: make declaration of _LAST enum values conditional (Eric Blake),<br/>
      error: drop old-style error reporting (Eric Blake),<br/>
      util: use new virTypedParameter helpers (Eric Blake),<br/>
      util: add new file for virTypedParameter utils (Eric Blake),<br/>
      lxc: use live/config helper (Eric Blake),<br/>
      build: silence some compiler warnings from gnulib (Eric Blake),<br/>
      Rename APIs for fetching UNIX socket credentials (Daniel P. Berrange),<br/>
      Add virGetGroupName to convert from GID to group name (Daniel P. Berrange),<br/>
      Remove duplicate call to virNetSASLSessionGetIdentity (Daniel P. Berrange),<br/>
      Also retrieve GID from SO_PEERCRED (Daniel P. Berrange),<br/>
      Added capability checking for block &lt;iotune&gt; setting. (Martin Kletzander),<br/>
      qemu: Introduce inactive PCI device list (Osier Yang),<br/>
      Permission change for systemtap examples. (Martin Kletzander),<br/>
      Add new attribute wrpolicy to &lt;driver&gt; element (Deepak C Shetty),<br/>
      tests: avoid dirname in tests (Eric Blake),<br/>
      qemu: Add support for host CPU modes (Jiri Denemark),<br/>
      Taint domains configured with cpu mode=host-passthrough (Jiri Denemark),<br/>
      cpu: Update guest CPU in host-* mode (Jiri Denemark),<br/>
      Add support for cpu mode attribute (Jiri Denemark),<br/>
      cpu: Optionally forbid fallback CPU models (Jiri Denemark),<br/>
      tests: Print XML file name in verbose CPU test (Jiri Denemark),<br/>
      docs: Expose alias tag in domain RNG schema (Osier Yang),<br/>
      docs: Add readonly to filesystem RNG schema (Osier Yang),<br/>
      conf: Remove do-nothing validation functions (Michael Ellerman),<br/>
      Make drive unit attribute optional in the XML schema (Michael Ellerman),<br/>
      virsh domiflist: change output (Taku Izumi),<br/>
      export virNetDevGetVirtualFunctions as a private symbol (Paolo Bonzini),<br/>
      virsh: Two new fields for command domblklist (Osier Yang),<br/>
      qemu: Support copy on read for disk (Osier Yang),<br/>
      Added check for maximum number of vcpus exceeding topology limit (Martin Kletzander),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      Rsync keymaps.csv file with GTK-VNC (Daniel P. Berrange),<br/>
      Re-write LXC controller end-of-file I/O handling yet again (Daniel P. Berrange),<br/>
      Allow 10 chars for domain IDs &amp; 30 chars for names in virsh list (Daniel P. Berrange),<br/>
      virsh: New command print summary of all virtual interfaces (Osier Yang),<br/>
      Added new option to virsh net-dumpxml called --inactive (Shradha Shah),<br/>
      Functionality to implicitly get interface pool from SR-IOV PF. (Shradha Shah),<br/>
      Adding the element pf to network xml. (Shradha Shah),<br/>
      Added Function virNetDevGetVirtualFunctions (Shradha Shah),<br/>
      Added function pciSysfsFile to enable access to the PCI SYSFS files. (Shradha Shah),<br/>
      Add test cases for new ways to access variables in filters (Stefan Berger),<br/>
      Address side effects of accessing vars via index (Stefan Berger),<br/>
      Add access to elements of variables via index (Stefan Berger),<br/>
      Introduce possibility to have an iterator per variable (Stefan Berger),<br/>
      Optimize the elements the iterator visits. (Stefan Berger),<br/>
      apparmor: Mark pid parameter as unused (Jiri Denemark),<br/>
      Change security driver APIs to use virDomainDefPtr instead of virDomainObjPtr (Daniel P. Berrange),<br/>
      snapshot: allow reuse of existing files in disk snapshot (Eric Blake),<br/>
      PolicyKit: Check auth before asking client to obtain it (Jim Fehlig),<br/>
      qemu: add new disk device='lun' for bus='virtio' &amp; type='block' (Laine Stump),<br/>
      qemu: add capabilities flags related to SG_IO (Laine Stump),<br/>
      qemu: one more client to live/config helper (Eric Blake)<br/>
      </li>

      <li> Cleanups:<br/>
      python: drop unused function (Eric Blake),<br/>
      python: drop redundant function (Eric Blake),<br/>
      Replace TAB with white spaces (Osier Yang),<br/>
      qemu: Clenup qemuDomainSetInterfaceParameters (Michal Privoznik),<br/>
      conf: remove duplicate call to VIR_FREE(info-&gt;alias) (Laine Stump),<br/>
      xml: fix struct typos (Eric Blake),<br/>
      Remove tabs from libvirt_public.syms &amp; enforce it (Daniel P. Berrange)<br/>
      </li>
    </ul>
    <h3>0.9.9: Jan 7 2012</h3>
    <ul>
      <li> Features:<br/>
      Add new API virDomain{S,G}etInterfaceParameters (Hu Tao),<br/>
      Add new API virDomain{G,S}etNumaParameters (Hu Tao),<br/>
      Add support for ppc64 qemu (Prerna Saxena, Bharata B Rao, Michael Ellerman),<br/>
      Support Xen domctl v8 (Jim Fehlig)<br/>
      </li>

      <li> Documentation:<br/>
      Fix typos in messages. (Yuri Chornoivan),<br/>
      docs: re-fix stray / (Eric Blake),<br/>
      virsh: move version command to host group (Lai Jiangshan),<br/>
      docs: Move 'echo' command description into the generic commands section (Satoru SATOH),<br/>
      docs: Move 'send-key' command description into the domain commands section (Satoru SATOH),<br/>
      docs: remove stray / (Eric Blake),<br/>
      docs: fix missing / in xml examples (Eric Blake),<br/>
      docs: improve virsh domxml-*-native command docs (Alex Jia),<br/>
      docs: document &lt;qemu:commandline&gt; xml (Eric Blake),<br/>
      Fix typo in storage pool documentation (Christophe Fergeau),<br/>
      docs: tweak 'virsh edit' wording (Eric Blake),<br/>
      docs: document &lt;address&gt; elements in one place (Eric Blake),<br/>
      threads: Document spurious wakeups on virCondWait (Michal Privoznik)<br/>
      </li>

      <li> Portability:<br/>
      build: fix mingw virCommand build (Eric Blake),<br/>
      tests: avoid test failure on rawhide gnutls (Eric Blake),<br/>
      build: drop check for ANSI compiler (Eric Blake),<br/>
      Fix build on s390(x) and other stange arches (Daniel Veillard),<br/>
      Require avahi as an rpm dependancy (Daniel Veillard),<br/>
      Disable python explicitly in mingw32 autobuild (Daniel P. Berrange),<br/>
      build: disable dtrace on non-Linux builds (Eric Blake),<br/>
      build: let autobuild check more code (Eric Blake),<br/>
      maint: allow bootstrap in a sandbox (Eric Blake)<br/>
      </li>

      <li> Bug Fixes:<br/>
      qemu: Avoid memory leaks on qemuParseRBDString (Alex Jia),<br/>
      qemu: fix a bug in numatune (Hu Tao),<br/>
      qemu: fix use-after-free regression (Eric Blake),<br/>
      seclabel: fix regression in libvirtd restart (Eric Blake),<br/>
      command: Discard FD_SETSIZE limit for opened files (Michal Privoznik),<br/>
      Fix xenstore serial console path for HVM guests (Jim Fehlig),<br/>
      schemas: Allow '.' in CPU feature name (Jiri Denemark),<br/>
      virCommand: Properly handle POLLHUP (Michal Privoznik),<br/>
      virCPUDefCopy forgot to copy NUMA topology (Jiri Denemark),<br/>
      qemu: fix block stat naming (Eric Blake),<br/>
      domiftune: clean up previous patches (Eric Blake),<br/>
      virsh: Fix checking for reconnect conditions (Peter Krempa),<br/>
      qemu: Fix bandwidth memory leak on failure (Alex Jia),<br/>
      qemu: fix blkio memory leak on failure (Eric Blake),<br/>
      remove a static limit on max domains in python bindings (Daniel Veillard),<br/>
      python: Fix problems of virDomain{Set, Get}BlockIoTune bindings (Alex Jia),<br/>
      qemu: fix inf-loop in blkio parameters (Eric Blake),<br/>
      qemu: Keep list of USB devices attached to domains (Michal Privoznik),<br/>
      qemu: Release the lock on domobj if fails on finding the disk path (Osier Yang),<br/>
      virsh: plug mem leaks in domxml-*-native (Alex Jia),<br/>
      console: plug memory leaks (Alex Jia),<br/>
      rpc: handle param_int, plug memory leaks (Eric Blake),<br/>
      python: plug memory leak on libvirt_virConnectOpenAuth (Alex Jia),<br/>
      Only add the timer when a callback is registered (Daniel P. Berrange),<br/>
      qemu: detect truncated file as invalid save image (Eric Blake),<br/>
      qemu: Don't drop hostdev config until security label restore (Michal Privoznik),<br/>
      Fix default migration speed in qemu driver (Jim Fehlig),<br/>
      qemu: Fix race between async and query jobs (Jiri Denemark),<br/>
      qemu: Do not free the device from activePciHostdevs if it's in use (Osier Yang),<br/>
      qemu: Honor the original properties of PCI device when detaching (Osier Yang),<br/>
      spec: fix inverted logic on sanlock (Wen Congyang),<br/>
      tests: plug memory leak on linuxTestNodeInfo (Alex Jia),<br/>
      storage: Fix a potential crash when creating vol object (Osier Yang),<br/>
      qemu: Disable EOF processing during qemuDomainDestroy (Jiri Denemark),<br/>
      virsh: Free returned MIME type string (Michal Privoznik),<br/>
      storage: Activate/deactivate logical volumes only on local node (Rommer),<br/>
      security: don't try to label network disks (Josh Durgin),<br/>
      test: replace deprecated "fedora-13" machine with "pc-0.13" (Laine Stump),<br/>
      network: don't add iptables rules for externally managed networks (Laine Stump),<br/>
      threadpool: Use while loop on virCondWait (Michal Privoznik),<br/>
      virsh: plug memory leak on cmdDomblklist (Alex Jia),<br/>
      fix error when parsing ppc64 models on x86 host (Stefan Berger),<br/>
      fix memory leak in src/nodeinfo.c (Stefan Berger),<br/>
      threadpool: Don't wait on condition if pool has no workers (Michal Privoznik),<br/>
      bridge: Fix forward delay APIs (Jiri Denemark),<br/>
      virsh: return correct value from cmdDomIfGetLink (Peter Krempa),<br/>
      virsh: plug memory leak on cmdDomIfGetLink() sucessful path (Alex Jia),<br/>
      virsh: plug memory leak on cmdBlkdeviotune() sucessful path (Alex Jia),<br/>
      test: fix potential lock corruption in test driver (Laine Stump),<br/>
      spec: fix logic bug in deciding to turn on cgconfig (Eric Blake),<br/>
      When checking nttyFDs to see if it is != 1, be sure to use '1' and not '-1' (Daniel P. Berrange),<br/>
      Fix installation of libvirt-guests.service (Daniel P. Berrange)<br/>
      </li>

      <li> Improvements:<br/>
      Implement DNS SRV record into the bridge driver (Michal Novotny),<br/>
      seclabel: honor device override in selinux (Eric Blake),<br/>
      seclabel: allow a seclabel override on a disk src (Eric Blake),<br/>
      seclabel: extend XML to allow per-disk label overrides (Eric Blake),<br/>
      seclabel: move seclabel stuff earlier (Eric Blake),<br/>
      seclabel: refactor existing domain_conf usage (Eric Blake),<br/>
      schema: rewrite seclabel rng to match code (Eric Blake),<br/>
      domiftune: Enable the virDomain{S,G}etInterfaceParameters in virsh (Hu Tao),<br/>
      domiftune: Add virDomain{S,G}etInterfaceParameters support to qemu driver (Hu Tao),<br/>
      domiftune: Add a util function virDomainNetFind (Hu Tao),<br/>
      domiftune: Add support of new APIs to the remote driver (Hu Tao),<br/>
      domiftune: virDomain{S,G}etInterfaceParameters: the main entry points (Hu Tao),<br/>
      daemon: clean up daemonization (Eric Blake),<br/>
      tests: fix schema checks sorting (Eric Blake),<br/>
      qemu: Support for overriding NOFILE limit (Michal Privoznik),<br/>
      virsh: Use vshWatchJob in cmdManagedSave (Michal Privoznik),<br/>
      virsh: Use vshWatchJob in cmdSave (Michal Privoznik),<br/>
      virsh: Use vshWatchJob in cmdDump (Michal Privoznik),<br/>
      virsh: Move job watch code to a separate function (Michal Privoznik),<br/>
      qemuhelptest: Add new qemuCap flag (Michal Privoznik),<br/>
      qemu: Support readonly filesystem passthrough (Osier Yang),<br/>
      nwfilter: Do not require DHCP requests to be broadcasted (Stefan Berger),<br/>
      tests: run schema checks in sorted order (Eric Blake),<br/>
      tests: Add fake PPC64 emulator for QEMU testing (Michael Ellerman),<br/>
      qemu: Add spapr-vio address assignment (Michael Ellerman),<br/>
      Add New address type spapr-vio to domain.rng (Bharata B Rao),<br/>
      Add address type for SPAPR VIO devices (Michael Ellerman),<br/>
      qemu: Add a capability flag for -no-acpi (Michael Ellerman),<br/>
      add new command numatune to virsh (Hu Tao),<br/>
      Implement virDomain{G, S}etNumaParameters for the qemu driver (Hu Tao),<br/>
      Add virDomain{G, S}etNumaParameters support to the remote driver (Hu Tao),<br/>
      use cpuset to manage numa (Hu Tao),<br/>
      Add functions to set/get cgroup cpuset parameters (Hu Tao),<br/>
      virsh: simplify printing of typed parameters (Eric Blake),<br/>
      Hide use of timers for domain event dispatch (Daniel P. Berrange),<br/>
      Remove decl of all APIs related to domain event callbacks &amp; queues (Daniel P. Berrange),<br/>
      Remove all domain event structs from header (Daniel P. Berrange),<br/>
      Convert drivers to thread safe APIs for adding callbacks (Daniel P. Berrange),<br/>
      Add APIs to allow management of callbacks purely with virDomainEventState (Daniel P. Berrange),<br/>
      Return count of callbacks when registering callbacks (Daniel P. Berrange),<br/>
      Convert Xen &amp; VBox drivers to use virDomainEventState (Daniel P. Berrange),<br/>
      nwfilter: do not create ebtables chain unnecessarily (Stefan Berger),<br/>
      migration: Add more specific error code/message on migration abort (Peter Krempa),<br/>
      virsh: Add option to undefine storage with domains (Peter Krempa),<br/>
      python: Expose blockPeek and memoryPeek in Python binding (Osier Yang),<br/>
      virsh: support multifunction in attach-disk (KAMEZAWA Hiroyuki),<br/>
      python: Fix export of virDomainSnapshotListChildrenNames (Peter Krempa),<br/>
      Provide a helper method virDomainLiveConfigHelperMethod (Lei Li),<br/>
      virsh: Print error message if argument parsing fails for cmdNodesuspend (Peter Krempa),<br/>
      build: follow directory install conventions (Eric Blake),<br/>
      Fix make uninstall (Dave Allan),<br/>
      qemu: Prepare to cater for more general address assignment (Michael Ellerman),<br/>
      qemu: Add address in qemuBuildChrDeviceStr() on pseries (Michael Ellerman),<br/>
      qemu: Use spapr-vscsi on pseries machine type (Michael Ellerman),<br/>
      network: allow '-' in model name (Eric Blake),<br/>
      cpu: Add cpu flags supported by newest qemu (Peter Krempa),<br/>
      Pass the VM's UUID into the nwfilter subsystem (Stefan Berger),<br/>
      nwfilter: cleanup return codes in nwfilter subsystem (Stefan Berger),<br/>
      spec: make it easier to autoreconf when building rpm (Eric Blake),<br/>
      Ensure to prefix %{buildroot} when overriding systemd install location (Daniel P. Berrange),<br/>
      Add ppc64 specific definitions to domain.rng (Bharata B Rao),<br/>
      Clean up qemuBuildCommandLine to remove x86-specific (Prerna Saxena),<br/>
      Modify the tests/nodeinfotest.c to use sysfs in addition (Prerna Saxena),<br/>
      Use sysfs to gather host topology, in place of (Prerna Saxena)<br/>
      </li>

      <li> Cleanups:<br/>
      network_conf: Fix whitespace to pass syntax-check (Peter Krempa)<br/>
      </li>
    </ul>
    <h3>0.9.8: Dec 8 2011</h3>
    <ul>
      <li> Features:<br/>
      Add support for QEMU 1.0 (Jiri Denemark),<br/>
      Add first parts of PPC cpu driver. (Prerna Saxena),<br/>
      Add new API virDomain{Set, Get}BlockIoTune (Lei Li),<br/>
      block_resize: Define the new API (Osier Yang),<br/>
      Add a public API to invoke suspend/resume on the host (Srivatsa S. Bhat),<br/>
      Various improvements for LXC containers (Daniel P. Berrange),<br/>
      Define keepalive protocol and add virConnectIsAlive API (Jiri Denemark),<br/>
      Add support for STP and VLANfiltering (Stefan Berger)<br/>
      </li>

      <li> Documentation:<br/>
      Add documentation for &lt;disk&gt;&lt;source type="dir"&gt; (Christophe Fergeau),<br/>
      Fix typo in virDomainResume API doc (Christophe Fergeau),<br/>
      maint: fix improper use of 'an' (Eric Blake),<br/>
      virsh: translate net-info help (Eric Blake),<br/>
      maint: typo fixes (Eric Blake),<br/>
      virsh: Fix typos in man page (Jiri Denemark),<br/>
      rpc: Fix a typo in virNetClientSendNonBlock documentation (Jiri Denemark),<br/>
      docs: fix grammar of capabilities (Eric Blake),<br/>
      Documentation about chains' priorities, lists of elements etc. (Stefan Berger)<br/>
      </li>

      <li> Portability:<br/>
      spec: don't use chkconfig --list (Eric Blake),<br/>
      build: fix build with older libxml2 (Eric Blake),<br/>
      Conditionalize daemonPath decl for Win32 which lacks UNIX sockets (Daniel P. Berrange),<br/>
      build: reduce warnings from older gcc (Eric Blake),<br/>
      Fix incorrect symbols for virtime.h module breaking Mingw32 (Daniel P. Berrange),<br/>
      build: fix build on Cygwin (Eric Blake),<br/>
      build: fix build at -O2 on rawhide (Eric Blake),<br/>
      Fix build for platforms lacking struct ifreq (Daniel P. Berrange),<br/>
      build: fix 'make dist' without dtrace (Eric Blake),<br/>
      Don't use undocumented __isleap macro (Daniel P. Berrange),<br/>
      virnetsocket: pass XAUTORITY for ssh connection (Christian Franke),<br/>
      Fix build on Mingw32 wrt export of virNetServerGetDBusConn (Daniel P. Berrange),<br/>
      build: fix compile error with no macvtap (Eric Blake),<br/>
      Fix build with polkit0 (Jim Fehlig),<br/>
      Fix strchr call triggering gcc 4.3 &amp; 4.4 bug (Stefan Berger),<br/>
      PATCH: Fix build without MACVTAP (Michael Wood),<br/>
      util: fix compile error on debian (Eli Qiao),<br/>
      Disable numactl on ARM architectures too (Daniel P. Berrange),<br/>
      Add libvirt confdir to files section in mingw32 spec (Daniel P. Berrange),<br/>
      build: fix mingw build of gnulib openpty (Eric Blake)<br/>
      </li>

      <li> Bug Fixes:<br/>
      Fix updating of haveTheBuck in RPC client to be race-free (Daniel P. Berrange),<br/>
      Prevent crash of libvirtd when attaching to existing qemu process (Jim Fehlig),<br/>
      qemu: Ignore shutdown event from destroyed domain (Jiri Denemark),<br/>
      remote_driver: don't fail if keepalive check fails (Guido Günther),<br/>
      command: handle empty buffer argument correctly (Eric Blake),<br/>
      client: Check if other thread claims it has the buck before claiming it. (Peter Krempa),<br/>
      Avoid crash in shunloadtest (Daniel P. Berrange),<br/>
      Fix a logic error for setting block I/O (Lei Li),<br/>
      virsh: Allow other escape characters for console (Michal Privoznik),<br/>
      bridge_driver: Don't define network if XML contains more IPv4 adreses. (Peter Krempa),<br/>
      virsh: Fix possible deadlock when virsh is about to exit (Jiri Denemark),<br/>
      util: Plug memory leak on virNetDevMacVLanCreateWithVPortProfile() error path (Alex Jia),<br/>
      util: Plug memory leak on virNetDevBridgeGet() sucessful path (Alex Jia),<br/>
      uml: Plug memory leak on umlStartVMDaemon() error path (Alex Jia),<br/>
      rpc: Plug memory leak on virNetClientSendInternal() error path (Alex Jia),<br/>
      conf: Plug memory leak on virDomainDefParseXML() error path (Alex Jia),<br/>
      qemu: Plug memory leak onqemuProcessWaitForMonitor() error path (Alex Jia),<br/>
      conf: reject duplicate paths in device weights (Eric Blake),<br/>
      Make logging async signal safe wrt time stamp generation (Daniel P. Berrange),<br/>
      Don't mark suspend as active until we know it is running (Daniel P. Berrange),<br/>
      util: avoid null deref on qcowXGetBackingStore (Alex Jia),<br/>
      virsh: correct return value error (Alex Jia),<br/>
      qemu: fix blkiotune --live --config (Eric Blake),<br/>
      lxc: Fix suspend/resume with freezer cgroup (Jiri Denemark),<br/>
      rpc: Really send non-blocking calls while waiting for another call (Jiri Denemark),<br/>
      util: fix thinko in runIO (Paolo Bonzini),<br/>
      storage: Skip socket and fifo on pool-start (Michal Privoznik),<br/>
      conf: Don't drop console definition on domain restart (Michal Privoznik),<br/>
      qemu: Avoid dereference of NULL pointer (Peter Krempa),<br/>
      nwfilter: Initialize virNWFilterAddIpAddrForIfname return variable (Michal Privoznik),<br/>
      Fix disabling of virtual port profile code on old hosts (Daniel P. Berrange),<br/>
      Fix uninitialized variable in NWfilter IP learning code (Daniel P. Berrange),<br/>
      storage: Fallback to use lvchange first if lvremove fails (Chang Liu),<br/>
      conf: don't modify cpu set string during parsing (Eric Blake),<br/>
      qemu: don't release network actual device twice (Roopa Prabhu),<br/>
      tests: avoid xend ABRT crash report (Eric Blake),<br/>
      Fix use of uninitialized variable in QEMU driver (Daniel P. Berrange),<br/>
      snapshot: refuse to generate names for non-regular backing files (Eric Blake),<br/>
      fix a bug in remoteSerializeTypedParameters (Hu Tao),<br/>
      Don't return a fatal error if receiving unexpected stream data (Daniel P. Berrange),<br/>
      Fix handling of stream EOF (Daniel P. Berrange),<br/>
      storage: forbid rebuilding existing disk storage pools (Guido Günther),<br/>
      qemu: fix domjobabort regression (Eric Blake),<br/>
      fix two bugs in bridge_driver.c (Hu Tao),<br/>
      nwfilter: avoid failure with noexec /tmp (Eric Blake),<br/>
      lxc: free error object to avoid memory leak (Alex Jia),<br/>
      lxc: free 'ttyFDs' array on return from lxcVmStart (Alex Jia)<br/>
      </li>

      <li> Improvements:<br/>
      npiv: Expose fabric_name outside (Osier Yang),<br/>
      Improve error reporting when libvirtd is not installed (Daniel P. Berrange),<br/>
      spec: fix sanlock dependency (Eric Blake),<br/>
      spec: add dmidecode as prereq (Eric Blake),<br/>
      examples: Update event tests for shutdown event (Jiri Denemark),<br/>
      qemu: Rework handling of shutdown event (Jiri Denemark),<br/>
      python: Expose binding for virNodeGetMemoryStats() (Peter Krempa),<br/>
      python: Expose binding for virNodeGetCPUStats() (Peter Krempa),<br/>
      build: require more tools from maintainers (Eric Blake),<br/>
      apparmor: allow tunnelled migrations. (Serge Hallyn),<br/>
      Update of filters to handle multiple IP addresses (Stefan Berger),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      build: properly skip tests (Eric Blake),<br/>
      spec: mark directories in /var/run as ghosts (Eric Blake),<br/>
      qemu: filter blkio 0-device-weight at two other places (Hu Tao),<br/>
      qemu: amend existing table of device weights (Eric Blake),<br/>
      virsh: fix setting weight and device-weights at the same time (Hu Tao),<br/>
      Add tests for blkdeviotune (Lei Li),<br/>
      Support virDomain{Set, Get}BlockIoTune in the python API (Lei Li),<br/>
      Enable the blkdeviotune command in virsh (Lei Li),<br/>
      Implement virDomain{Set, Get}BlockIoTune for the qemu driver (Lei Li),<br/>
      Support block I/O throttle in XML (Lei Li),<br/>
      Add virDomain{Set, Get}BlockIoTune support to the remote driver (Lei Li),<br/>
      Fix leak build config file path (Daniel P. Berrange),<br/>
      Add internal APIs for dealing with time (Daniel P. Berrange),<br/>
      Remove obsolete virGetPMCapabilities sym from private symbols file (Daniel P. Berrange),<br/>
      Add suspend info to Xen, LXC and UML hypervisor capabilities (Daniel P. Berrange),<br/>
      Remove pointless strdup in node suspend code (Daniel P. Berrange),<br/>
      Do lazy init of host PM features (Daniel P. Berrange),<br/>
      Remove powerMgmt_valid field from capabilities struct (Daniel P. Berrange),<br/>
      Add export of node suspend capabilities APIs (Daniel P. Berrange),<br/>
      Move suspend capabilities APIs out of util.h into virnodesuspend.c (Daniel P. Berrange),<br/>
      Rename suspend capabilities APIs (Daniel P. Berrange),<br/>
      Sanitize virDiscoverHostPMFeature to return a boolean (Daniel P. Berrange),<br/>
      Move the virHostPMCapability enum helpers into capabilities.c (Daniel P. Berrange),<br/>
      Fix capabilities XML to use generic terms for suspend targets (Daniel P. Berrange),<br/>
      Remove internal only virHostPMCapability enum (Daniel P. Berrange),<br/>
      Fix values of PM target type constants (Daniel P. Berrange),<br/>
      blkiotune: add qemu support for blkiotune.device_weight (Hu Tao),<br/>
      blkiotune: add interface for blkiotune.device_weight (Hu Tao),<br/>
      qemu, lxc: drop redundant checks (Eric Blake),<br/>
      API: prevent query of --live and --config at once (Eric Blake),<br/>
      build: fix typo in last patch (Eric Blake),<br/>
      block_resize: Update test file for RPC (Osier Yang),<br/>
      block_resize: Expose the new API to virsh (Osier Yang),<br/>
      block_resize: Implement qemu driver method (Osier Yang),<br/>
      block_resize: Implement qemu monitor functions (Osier Yang),<br/>
      block_resize: Wire up the remote protocol (Osier Yang),<br/>
      examples: Correct the example command to use testnode.xml (Osier Yang),<br/>
      Add virsh command to initiate suspend on the host (Srivatsa S. Bhat),<br/>
      Implement the core API to suspend/resume the host (Srivatsa S. Bhat),<br/>
      Add the remote protocol implementation for virNodeSuspendForDuration (Srivatsa S. Bhat),<br/>
      Add 'Hybrid-Suspend' power management discovery for the host (Srivatsa S. Bhat),<br/>
      virsh: Don't traverse childless nodes in vshNodeIsSuperset (Michal Privoznik),<br/>
      conf: make virt-xml-validate work with vbox domains (Lorin Hochstein),<br/>
      conf: Improve incorrect root element error messages (Michal Privoznik),<br/>
      Refactor initial LXC mem tune / device ACL code (Daniel P. Berrange),<br/>
      Add support for blkio tuning of LXC containers (Daniel P. Berrange),<br/>
      Add support for CPU quota/period to LXC driver (Daniel P. Berrange),<br/>
      Support CPU placement in LXC driver (Daniel P. Berrange),<br/>
      Support NUMA memory placement for LXC containers (Daniel P. Berrange),<br/>
      storage: Refetch file status after open (Michal Privoznik),<br/>
      Fix version numbers for isAlive and setKeepAlive driver APIs (Jiri Denemark),<br/>
      build: Properly generate and check virkeepaliveprotocol-structs (Jiri Denemark),<br/>
      examples: Use virConnectOpenAuth in events-c (Jiri Denemark),<br/>
      qemu: Cancel p2p migration when connection breaks (Jiri Denemark),<br/>
      qemu: Add support for keepalive messages during p2p migration (Jiri Denemark),<br/>
      Add keepalive support into domain-events examples (Jiri Denemark),<br/>
      Implement virConnectIsAlive in all drivers (Jiri Denemark),<br/>
      Introduce virConnectIsAlive API (Jiri Denemark),<br/>
      Implement keepalive protocol in remote driver (Jiri Denemark),<br/>
      Add support for async close of client RPC socket (Jiri Denemark),<br/>
      Implement keepalive protocol in libvirt daemon (Jiri Denemark),<br/>
      virsh: Always run event loop (Jiri Denemark),<br/>
      Introduce virConnectSetKeepAlive (Jiri Denemark),<br/>
      Implement common keepalive handling (Jiri Denemark),<br/>
      rpc: Add some debug messages to virNetClient (Jiri Denemark),<br/>
      rpc: Fix handling of non-blocking calls that could not be sent (Jiri Denemark),<br/>
      rpc: Pass the buck only to the first available thread (Jiri Denemark),<br/>
      nwfilter: remove virConnectPtr from internal API calls (Stefan Berger),<br/>
      API: prefer 'disk' over 'block' or 'path' (Eric Blake),<br/>
      blockstats: support lookup by path in blockstats (Eric Blake),<br/>
      virsh: Increase device-detach intelligence (Michal Prívozník),<br/>
      Enable detection of multiple IP addresses (Stefan Berger),<br/>
      fix error message when using wrong URI alias (Eli Qiao),<br/>
      Pass additional parameter into applyDHCPOnly function (Stefan Berger),<br/>
      nwfilter: use shell variable to invoke 'ip(6)tables' command (Stefan Berger),<br/>
      nwfilter: use shell variable to invoke 'ebtables' command (Stefan Berger),<br/>
      Improve error reporting of failures to apply filtering rules (Stefan Berger),<br/>
      Add documentation for STP filtering support (Stefan Berger),<br/>
      Add test cases for STP traffic filtering (Stefan Berger),<br/>
      Add a 'mac' chain (Stefan Berger),<br/>
      Add strings.h include to capabilities.h for ffs() function prototype (Daniel P. Berrange),<br/>
      build: Update AUTHORS (Osier Yang),<br/>
      Export KVM Host Power Management capabilities (Srivatsa S. Bhat),<br/>
      qemu: Copy console definition from serial (Michal Privoznik),<br/>
      storage: Skips backingStore of virtual snapshot lv (Osier Yang),<br/>
      Add documentation for VLAN filtering support (Stefan Berger),<br/>
      Add test cases for VLAN traffic filtering (Stefan Berger),<br/>
      Don't copy sexpr node value that is an empty string (Jim Fehlig),<br/>
      enable cgroup cpuset by default (Hu Tao),<br/>
      tests: test recent hash addition (Eric Blake),<br/>
      Add test cases for parsing of list values (Stefan Berger),<br/>
      Extend NWFilter parameter parser to cope with lists of values (Stefan Berger),<br/>
      Create rules for each member of a list (Stefan Berger),<br/>
      Rework value part of name-value pairs (Stefan Berger),<br/>
      Add test cases (Stefan Berger),<br/>
      Interleave jumping into chains with filtering rules in 'root' table (Stefan Berger),<br/>
      Extend rule priorities into negative numbers (Stefan Berger),<br/>
      Enable chains with names having a known prefix (Stefan Berger),<br/>
      Extend the filter XML to support priorities of chains (Stefan Berger),<br/>
      Use the actual names of chains in data structure (Stefan Berger),<br/>
      Use scripting for cleaning and renaming of chains (Stefan Berger),<br/>
      Make filter creation in root table more flexible (Stefan Berger),<br/>
      Introduce an internal priority for chains (Stefan Berger),<br/>
      Add function to get hash table's key/value pairs (Stefan Berger),<br/>
      Add support for systemd init service (Daniel P. Berrange),<br/>
      Add support for interfaces with type=direct to LXC (Daniel P. Berrange),<br/>
      Allow creation of plain macvlan devices (Daniel P. Berrange),<br/>
      Refactor LXC network setup to allow future enhancements (Daniel P. Berrange),<br/>
      Add missing 'const' annotations for internal domain conf helpers (Daniel P. Berrange),<br/>
      qemu: Generate -numa option (Bharata B Rao),<br/>
      XML definitions for guest NUMA and parsing routines (Bharata B Rao),<br/>
      virsh: add iface-bridge and iface-unbridge commands (Laine Stump),<br/>
      Allow non-blocking message sending on virNetClient (Daniel P. Berrange),<br/>
      Refactor code for enabling/disabling I/O callback in remote client (Daniel P. Berrange),<br/>
      Split virNetClientSend into 2 methods (Daniel P. Berrange),<br/>
      Refactor code for passing the buck in the remote client (Daniel P. Berrange),<br/>
      Explicitly track whether the buck is held in remote client (Daniel P. Berrange),<br/>
      Remove all linked list handling from remote client event loop (Daniel P. Berrange),<br/>
      util: Add netdev helper functions to private symbols (Eli Qiao),<br/>
      qemu/rbd: improve rbd device specification (Sage Weil),<br/>
      maint: fix build (Stefan Berger),<br/>
      Fix error reporting in port profile parsing/formatting APIs (Daniel P. Berrange),<br/>
      API: add trivial qemu support for VIR_TYPED_PARAM_STRING (Eric Blake),<br/>
      API: remote support for VIR_TYPED_PARAM_STRING (Eric Blake),<br/>
      API: add VIR_TYPED_PARAM_STRING (Eric Blake),<br/>
      maint: use mailmap, not AUTHORS, for secondary addresses (Eric Blake),<br/>
      maint: fix make syntax-check (Stefan Berger),<br/>
      nwfilter: simplify execution of ebiptables scripts (Eric Blake),<br/>
      Remove usage of brctl command line tool (Daniel P. Berrange),<br/>
      Add an API for retrieving the MAC address of an interface (Daniel P. Berrange),<br/>
      Expose MTU management APIs (Daniel P. Berrange),<br/>
      Turn two int parameters into bools in bridge APIs (Daniel P. Berrange),<br/>
      Make all brXXX APIs raise errors, instead of returning errnos (Daniel P. Berrange),<br/>
      build: allow for local gnulib diffs (Eric Blake),<br/>
      qemu: Fix improper error message for disk detaching (Osier Yang),<br/>
      virsh: Add VSH_OFLAG_EMPTY_OK for attach-disk command (Xu He Jie)<br/>
      </li>

      <li> Cleanups:<br/>
      Remove time APIs from src/util/util.h (Daniel P. Berrange),<br/>
      bandwidth: Fix funky identation (Michal Privoznik),<br/>
      qemu: fix a const-correctness issue (Eric Blake),<br/>
      build: fix accidental POTFILES.in regression (Eric Blake),<br/>
      Fix up ordering of private symbols file (Daniel P. Berrange),<br/>
      Move ifaceMacvtapLinkDump and ifaceGetNthParent functions (Daniel P. Berrange),<br/>
      Move functions for dealing with physical/virtual devices (Daniel P. Berrange),<br/>
      Rename APIs for dealing with virtual/physical functions (Daniel P. Berrange),<br/>
      Move virNetDevValidateConfig to virnetdev.c (Daniel P. Berrange),<br/>
      Rename ifaceCheck to virNetDevValidateConfig (Daniel P. Berrange),<br/>
      Move virNetDevGetIPv4Address to virnetdev.c (Daniel P. Berrange),<br/>
      Rename ifaceGetIPAddress to virNetDevGetIPv4Address (Daniel P. Berrange),<br/>
      Move virNetDevGetIndex &amp; virNetDevGetVLanID to virnetdev.c (Daniel P. Berrange),<br/>
      Rename ifaceGetIndex and ifaceGetVLAN (Daniel P. Berrange),<br/>
      Move MAC address replacement functions to virnetdev.c (Daniel P. Berrange),<br/>
      Rename interface MAC address replacement APIs (Daniel P. Berrange),<br/>
      Move the low level macvlan creation APIs (Daniel P. Berrange),<br/>
      Rename low level macvlan creation APIs (Daniel P. Berrange),<br/>
      Rename high level macvlan creation APIs (Daniel P. Berrange),<br/>
      Rename and split the macvtap.c file (Daniel P. Berrange),<br/>
      Rename Macvtap management APIs (Daniel P. Berrange),<br/>
      Remove ifaceSetMac and ifaceGetMac APIs (Daniel P. Berrange),<br/>
      Remove ifaceUp, ifaceDown, ifaceCtrl &amp; ifaceIsUp APIs (Daniel P. Berrange),<br/>
      Move LXC veth.c code into shared utility APIs (Daniel P. Berrange),<br/>
      Rename the LXC veth management APIs and delete duplicated APIs (Daniel P. Berrange),<br/>
      Split src/util/network.{c,h} into 5 pieces (Daniel P. Berrange),<br/>
      Rename virVirtualPortProfileParams &amp; APIs (Daniel P. Berrange),<br/>
      build: drop useless dirent.h includes (Eric Blake),<br/>
      xenapi: remove unused variable (Eric Blake),<br/>
      Remove code instantiating filters on direct interfaces (Stefan Berger),<br/>
      Adjust naming of network device bandwidth management APIs (Daniel P. Berrange),<br/>
      Santize naming of socket address APIs (Daniel P. Berrange),<br/>
      Split bridge.h into three separate files (Daniel P. Berrange),<br/>
      Rename all brXXXX APIs to follow new convention (Daniel P. Berrange),<br/>
      Remove 'brControl' object (Daniel P. Berrange)<br/>
      </li>
    </ul>
    <h3>0.9.7: Nov 8 2011</h3>
    <ul>
      <li> Features:<br/>
      esx: support vSphere 5.x (Patrice LACHANCE),<br/>
      vbox: support for VirtualBox 4.1 (Matthias Bolte),<br/>
      Introduce the virDomainOpenGraphics API (Daniel P. Berrange),<br/>
      Add AHCI support to qemu driver (Jim Fehlig),<br/>
      snapshot: many improvements and 2 new APIs (Eric Blake),<br/>
      api: Add public api for 'reset' (Xu He Jie)<br/>
      </li>

      <li> Documentation:<br/>
      Add &lt;deviceboot&gt; capability. (Philipp Hahn),<br/>
      API: document scheduler parameter names (Eric Blake),<br/>
      improve typed parameter documentation (Eric Blake),<br/>
      fix typo in &lt;disk&gt;/&lt;target&gt; example (Eric Blake),<br/>
      python: Fix documentation of virStream recv (Matthias Bolte),<br/>
      Add documentation about migration. (Daniel P. Berrange),<br/>
      Document filesystem type='block' for LXC (Ryota Ozaki),<br/>
      fix incorrect info about routed networks (Laine Stump),<br/>
      document managed=yes of hostdev passthrough (Eric Blake),<br/>
      trivial spelling fix (Philipp Hahn),<br/>
      Fix virt-sanlock-cleanup documentation (Philipp Hahn),<br/>
      Fix two comments related to error handling (Philipp Hahn),<br/>
      fix network XML documentation (Laine Stump),<br/>
      Clarify semantics of virDomainMigrate2 (Jiri Denemark),<br/>
      Update examples for probing with systemtap (Daniel P. Berrange),<br/>
      fix html bug (Eric Blake),<br/>
      virsh: Update the help information for undefine command. (tangchen),<br/>
      Document STREQ_NULLABLE and STRNEQ_NULLABLE (Guido Günther),<br/>
      Document that ff callbacks need to be invoked from a clean stack. (Guido Günther),<br/>
      formatdomain.html.in: fix tickpolicy (Douglas Schilling Landgraf),<br/>
      virsh: describe attach-interface parameter target (Daniel Veillard),<br/>
      virsh: update man page for cpu_shares parameter (Daniel Veillard),<br/>
      document node device XML (Eric Blake),<br/>
      document virsh nodedev-* commands (Eric Blake),<br/>
      snapshot: fix man page typos (Eric Blake),<br/>
      virsh: Better document --copy-storage migrate options (Jiri Denemark),<br/>
      virsh: Enhance documentation of commands starting jobs (Jiri Denemark),<br/>
      virsh: Improve virsh manual for virsh memtune command (Peter Krempa)<br/>
      </li>

      <li> Portability:<br/>
      build: fix build on platforms without ptsname_r (Eric Blake),<br/>
      build: silence compiler warning on BSD (Eric Blake),<br/>
      build: fix linking on BSD (Eric Blake),<br/>
      remote: fix mingw32 build (Laine Stump),<br/>
      build: fix deep VPATH builds (Eric Blake),<br/>
      Use ENAMETOOLONG if the socket path is longer than UNIX_PATH_MAX (Guido Günther),<br/>
      build: avoid RHEL 5 build failure on LXC (Eric Blake),<br/>
      build: use gnulib fdatasync (Eric Blake),<br/>
      Fix virFileOpenTty definition on Win32 (Daniel P. Berrange),<br/>
      compile: fix undefined reference to gnutls_x509_crt_get_dn with gcc-4.6.1 (Xu He Jie),<br/>
      Fix VPATH build (Jiri Denemark),<br/>
      build: fix 'make dist' error (Wen Congyang),<br/>
      Fix syntax problem in mingw32-libvirt.spec.in (Daniel P. Berrange),<br/>
      spec: mingw cleanups (Eric Blake),<br/>
      build: fix mingw build without sasl (Eric Blake),<br/>
      build: fix 'make rpm' (Eric Blake),<br/>
      build: fix 'make distcheck' (Eric Blake),<br/>
      disable xenlight for non-Xen platforms (Dan Horák),<br/>
      build: Fix VPATH build with new probes (Jiri Denemark),<br/>
      build: fix 'make distcheck' with pdwtags installed (Eric Blake),<br/>
      spec: F15 still uses cgconfig, RHEL lacks hyperv (Eric Blake)<br/>
      </li>

      <li> Bug Fixes:<br/>
      Fix sending/receiving of FDs when stream returns EAGAIN (Daniel P. Berrange),<br/>
      lxc: avoid use-after-free (Eric Blake),<br/>
      conf: Don't free uninitialized pointer (Jiri Denemark),<br/>
      Fix default console type setting (Daniel P. Berrange),<br/>
      Fix crash formatting virtio console (Daniel P. Berrange),<br/>
      Fix off-by-one printing month in logging code (Daniel P. Berrange),<br/>
      Add missing param initialization in qemuDomainBlockStatsFlags (Daniel P. Berrange),<br/>
      fix crash when starting network (Wen Congyang),<br/>
      Don't overwrite error message during VM cleanup (Daniel P. Berrange),<br/>
      Correctly handle '*' in /etc/filesystems (Daniel P. Berrange),<br/>
      Fix URI alias prefix matching (Wen Ruo Lv),<br/>
      ServerClient: Flush cached data (Michal Privoznik),<br/>
      Fix storage pool source comparison to avoid comparing with self (Daniel P. Berrange),<br/>
      qemu: plug memory leak (Alex Jia),<br/>
      qemu: Restore the original states of PCI device when restarting daemon (Osier Yang),<br/>
      macvtap: Fix error return value convention/inconsistencies (Roopa Prabhu),<br/>
      pci address conflict when virtio disk with drive type (Xu He Jie),<br/>
      qemu: plug memory leak (Alex Jia),<br/>
      qemu: avoid leaking uninit data from hotplug to dumpxml (Eric Blake),<br/>
      util: Fix virUUIDGeneratePseudoRandomBytes (Ryota Ozaki),<br/>
      lxc: Revert zeroing count of allocated items if VIR_REALLOC_N fails (Peter Krempa),<br/>
      lxc: avoid null deref on lxcSetupLoopDevices failure (Alex Jia),<br/>
      lxc: avoid missing '{' in the function (Alex Jia),<br/>
      storage: avoid null deref on qemu-img failure (Eric Blake),<br/>
      storage: make previous leak less likely to regress (Eric Blake),<br/>
      storage: plug iscsi memory leak (Eric Blake),<br/>
      qemu: avoid leaking uninit data from hotplug to dumpxml (Eric Blake),<br/>
      qemu: Do not wait if the PCI device is not managed when reattaching (Osier Yang),<br/>
      Add missing strdup return value check (Roopa Prabhu),<br/>
      macvtap: avoid invalid free (Roopa Prabhu),<br/>
      util: Fix typo in virGetHostname description (Jiri Denemark),<br/>
      macvtap: plug memory leak for 802.1Qbh (Eric Blake),<br/>
      qemu: plug memory leak on migration (Eric Blake),<br/>
      conf: plug memory leak on error (Eric Blake),<br/>
      storage: plug memory leak on error (Eric Blake),<br/>
      util: Make getaddrinfo failure nonfatal in virGetHostname (Jiri Denemark),<br/>
      qemu: fix text block info parsing (Eric Blake),<br/>
      qemu: avoid text monitor null deref (Eric Blake),<br/>
      qemu: check for json allocation failure (Eric Blake),<br/>
      virFDStream: close also given errfd (fd leak) (Marc-André Lureau),<br/>
      command: avoid fd leak on failure (Eric Blake),<br/>
      qemu: Check for domain being active on successful job acquire (Michal Privoznik),<br/>
      xen: Return tap2 for tap2 disks (Philipp Hahn),<br/>
      xen: fix PyGrub boot device order (Philipp Hahn),<br/>
      build: fix 'make check' linkage with dtrace (Eric Blake),<br/>
      Fix deps for probes.o to ensure correct build ordering (Daniel P. Berrange),<br/>
      If receiving a stream error, mark EOF on the stream (Daniel P. Berrange),<br/>
      xen_xs: Guard against set but empty kernel argument (Guido Günther),<br/>
      snapshot: avoid accidental renames with snapshot-edit (Eric Blake),<br/>
      storage: Do not use comma as seperator for lvs output (Osier Yang),<br/>
      qemuDomainAttach: Initialize pidfile variable (Michal Privoznik),<br/>
      lxc: fix logic bug (Eric Blake),<br/>
      Don't send back unknown program errors for async messages (Daniel P. Berrange),<br/>
      Fix deadlock when the RPC program is unknown (Daniel P. Berrange),<br/>
      remote_driver: Avoid double free in EventControl building (Michal Privoznik),<br/>
      xenParseXM: don't dereference NULL pointer when script is empty (Guido Günther),<br/>
      qemu: Fix migration with dname (Jiri Denemark),<br/>
      virsh: do not unlink NULL file (Marc-André Lureau),<br/>
      qemu: Fix error message mentioning VNC instead of SPICE (Peter Krempa),<br/>
      qemu: Check for ejected media during startup and migration (Michal Privoznik),<br/>
      qemu: add return value check (Alex Jia),<br/>
      qemu: Always remove domain object if MigratePrepare fails (Jiri Denemark),<br/>
      fix AppArmor driver for pipe character devices (Jamie Strandboge),<br/>
      daemon: Don't remove pidfiles in init scripts (Peter Krempa),<br/>
      storage: Do not break the whole vol lookup process in the middle (Osier Yang),<br/>
      Fix synchronous reading of stream data (Daniel P. Berrange)<br/>
      </li>

      <li> Improvements:<br/>
      Add missing defaultConsoleTargetType callback for AppArmour (Daniel P. Berrange),<br/>
      Fix naming of constant for disk event (Daniel P. Berrange),<br/>
      lxc: use common code for process cleanup (Eric Blake),<br/>
      Set aliases for LXC/UML console devices (Daniel P. Berrange),<br/>
      Default console target type with no &lt;target&gt; element (Daniel P. Berrange),<br/>
      Add support for multiple consoles in LXC (Daniel P. Berrange),<br/>
      Rewrite LXC I/O forwarding to use main event loop (Daniel P. Berrange),<br/>
      Allow multiple consoles per virtual guest (Daniel P. Berrange),<br/>
      virnetsockettest: Use a temporary directory in /tmp (Guido Günther),<br/>
      xen: allow getting &lt; max typed parameters (Eric Blake),<br/>
      lxc: allow getting &lt; max typed parameters (Eric Blake),<br/>
      libxl: allow getting &lt; max typed parameters (Eric Blake),<br/>
      esx: allow getting &lt; max typed parameters (Eric Blake),<br/>
      qemu: allow getting &lt; max typed parameters (Eric Blake),<br/>
      Add support for probing filesystem with libblkid (Daniel P. Berrange),<br/>
      Fix error message when failing to detect filesystem (Daniel P. Berrange),<br/>
      Workaround for broken kernel autofs mounts (Daniel P. Berrange),<br/>
      Ensure errno is valid when returning from lxcContainerWaitForContinue (Daniel P. Berrange),<br/>
      Create /var/lib/libvirt/filesystems for LXC trees (Daniel P. Berrange),<br/>
      esx: Support folders in the path of vpx:// connection URIs (Matthias Bolte),<br/>
      qemu: pass virConnectPtr into Domain{Attach,Detach}* (Sage Weil),<br/>
      vbox: Support shared folders (Matthias Bolte),<br/>
      xenapi: Improve error reporting in xenapiOpen once again (Matthias Bolte),<br/>
      Use a common xml type for ceph secret usage. (Josh Durgin),<br/>
      storage: add auth to virDomainDiskDef (Josh Durgin),<br/>
      secret: add Ceph secret type (Sage Weil),<br/>
      Implement RPC driver support for virDomainOpenGraphics (Daniel P. Berrange),<br/>
      Extend RPC server to allow FD passing (Daniel P. Berrange),<br/>
      Add client side support for FD passing (Daniel P. Berrange),<br/>
      Extend RPC protocol to allow FD passing (Daniel P. Berrange),<br/>
      Add APIs for virNetSocket for sending/receiving file descriptors (Daniel P. Berrange),<br/>
      Wire up QEMU implementation for virDomainOpenGraphics (Daniel P. Berrange),<br/>
      Extend graphics event to include UNIX socket (Daniel P. Berrange),<br/>
      virsh: Fix error message on vol-create-from failure (Ryota Ozaki),<br/>
      bridge: modify for use when sVirt is enabled with qemu (Tyler Coumbes),<br/>
      Use virXMLSaveFile when writing XML config (Jiri Denemark),<br/>
      Introduce virXMLSaveFile as a wrapper for virFileRewrite (Jiri Denemark),<br/>
      Introduce virFileRewrite for safe file rewrite (Jiri Denemark),<br/>
      Add a systemtap script for watching QEMU monitor interactions (Daniel P. Berrange),<br/>
      qemu: simplify use of HAVE_YAJL (Eric Blake),<br/>
      snapshot: simplify indentation of disk encryption xml (Eric Blake),<br/>
      snapshot: simplify indentation of nwfilter (Eric Blake),<br/>
      Add REMOTE_PROC_DOMAIN_EVENT_DISK_CHANGE to remote_protocol-structs (Daniel P. Berrange),<br/>
      nwfilter: extend schema to support new targets (Stefan Berger),<br/>
      util: Add virFileAccessibleAs to private symbols (Michal Privoznik),<br/>
      startupPolicy: Emit event on disk source dropping (Michal Privoznik),<br/>
      qemu: implement startupPolicy (Michal Privoznik),<br/>
      qemu: Move device alias assigning before command line construction (Michal Privoznik),<br/>
      util: Create virFileAccessibleAs function (Michal Privoznik),<br/>
      conf: Introduce optional startupPolicy attribute for cdrom and floppy (Michal Privoznik),<br/>
      waitpid: improve safety (Eric Blake),<br/>
      virsh: Fix vol-info's 'Type' output (Ryota Ozaki),<br/>
      support continue/return targets in nwfilter (David L Stevens),<br/>
      snapshot: simplify indentation of network xml (Eric Blake),<br/>
      snapshot: simplify indentation of cpu features (Eric Blake),<br/>
      snapshot: simplify indentation of sysinfo (Eric Blake),<br/>
      snapshot: test domainsnapshot indentation (Eric Blake),<br/>
      snapshot: indent domain xml when nesting (Eric Blake),<br/>
      virbuf: add auto-indentation support (Eric Blake),<br/>
      virbuf: more detailed error reporting (Eric Blake),<br/>
      virbuf: improve testsuite reporting (Eric Blake),<br/>
      virbuf: fix const-correctness (Eric Blake),<br/>
      qemu: allow json in domxml-to-native (tangchen),<br/>
      support setting bandwidth from virsh attach-interface (Hu Tao),<br/>
      lxc: use hand-rolled code in place of unlockpt and grantpt (Serge E. Hallyn),<br/>
      qemu: Test name-space handling (Philipp Hahn),<br/>
      qemu: Fix name-space handling (Philipp Hahn),<br/>
      Replace virBufferAdd with virBufferAddLit for const string (Daniel P. Berrange),<br/>
      Allow for URI aliases when connecting to libvirt (Daniel P. Berrange),<br/>
      Add support for autodestroy of guests to the LXC and UML drivers (Daniel P. Berrange),<br/>
      Use virBufferEscapeShell in cmdEcho (Guido Günther),<br/>
      qemu: replace qemuMonitorEscapeShell by virBufferEscapeShell (Guido Günther),<br/>
      virBufferEscapeShell: Emit quotes for the empty string (Guido Günther),<br/>
      snapshot: detect when qemu lacks disk-snapshot support (Eric Blake),<br/>
      virBufferEscapeShell: Fix escaping of single quotes. (Guido Günther),<br/>
      compile: Add a missing function 'pciDeviceListFind' to libvirt_private.syms (Xu He Jie),<br/>
      snapshot: implement LIST_LEAVES flag in esx (Eric Blake),<br/>
      qemu: Relax -no-shutdown check to [0.14.0, 0.15.0] (Jiri Denemark),<br/>
      qemu: Honor the orginal PCI dev properties when reattaching (Osier Yang),<br/>
      qemu: Do not reattach PCI device used by other domain when shutdown (Osier Yang),<br/>
      Xen: Fake versions in xencapstest (Philipp Hahn),<br/>
      Xen: move versions to struct (Philipp Hahn),<br/>
      Use virBufferEscapeShell in virNetSocketNewConnectSSH (Guido Günther),<br/>
      Add virBufferEscapeShell (Guido Günther),<br/>
      Autodetect if the remote nc command supports the -q option (Guido Günther),<br/>
      qemu: Make sure BeginJob is always followed by EndJob (Jiri Denemark),<br/>
      qemu: Log debug messages when changing job (Jiri Denemark),<br/>
      build: add compiler attributes to virUUIDParse (Eric Blake),<br/>
      Fix typo in lxc_controller (Serge E. Hallyn),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      events: Propose a separate lock for event queue (Michal Privoznik),<br/>
      qemu: Implement VIR_DUMP_RESET (Michal Privoznik),<br/>
      virDomainCoreDump: Introduce VIR_DUMP_RESET flag (Michal Privoznik),<br/>
      example: Support debug output and loop switch (Philipp Hahn),<br/>
      example: Redirect --help output to stdout/stderr (Philipp Hahn),<br/>
      example: Fix argument handling (Philipp Hahn),<br/>
      snapshot: implement LIST_LEAVES flag in qemu (Eric Blake),<br/>
      snapshot: add API for filtering by leaves (Eric Blake),<br/>
      tests: Add support for skipping tests (Philipp Hahn),<br/>
      Introduce &lt;driver&gt; under &lt;filesystem&gt; to support open-by-handle (Harsh Prateek Bora),<br/>
      buf: implement generic virBufferEscape (Sage Weil),<br/>
      daemon: Always advertise libvirtd service (Osier Yang),<br/>
      snapshot: take advantage of new relations (Eric Blake),<br/>
      snapshot: track qemu snapshot relations (Eric Blake),<br/>
      snapshot: framework for more efficient relation traversal (Eric Blake),<br/>
      snapshot: use correct qmp monitor command (Eric Blake),<br/>
      snapshot: virsh shorthand for operating on current snap (Eric Blake),<br/>
      build: ship helper scripts (Eric Blake),<br/>
      Rewrite all the DTrace/SystemTAP probing (Daniel P. Berrange),<br/>
      Fix missing lock calls on virNetTLSContextRef (Daniel P. Berrange),<br/>
      Refactor TLS to facilitate dynamic probing (Daniel P. Berrange),<br/>
      Add virSocketRef API to facilitate dynamic probing (Daniel P. Berrange),<br/>
      Make libvirt.so include the RPC server code (Daniel P. Berrange),<br/>
      snapshot: implement snapshot children listing in esx (Eric Blake),<br/>
      snapshot: implement snapshot children listing in qemu (Eric Blake),<br/>
      snapshot: remote protocol for snapshot children (Eric Blake),<br/>
      snapshot: virsh fallback for snapshot-list --descendants --from (Eric Blake),<br/>
      snapshot: virsh fallback for snapshot-list --from children (Eric Blake),<br/>
      snapshot: virsh fallback for snapshot-list --tree --from (Eric Blake),<br/>
      snapshot: virsh snapshot-list and children (Eric Blake),<br/>
      xen: add error handling to UUID parsing (Guido Günther),<br/>
      maint: typo fixes (Eric Blake),<br/>
      snapshot: sort snapshot-list --tree (Eric Blake),<br/>
      snapshot: simplify redefinition of disk snapshot (Eric Blake),<br/>
      snapshot: let virsh edit disk snapshots (Eric Blake),<br/>
      snapshot: fix virsh error message typo (Eric Blake),<br/>
      qemu: add separate rerror_policy for disk errors (Laine Stump),<br/>
      qemu: leave rerror policy at default when enospace is requested (Laine Stump),<br/>
      qemu: enable multifunction for older qemu (Eric Blake),<br/>
      Make LXC work with new network configuration types (Daniel P. Berrange),<br/>
      init: raise default system aio limits (Eric Blake),<br/>
      maint: fix minor issues in virterror public header (Eric Blake),<br/>
      snapshot: enforce REVERT_FORCE on qemu (Eric Blake),<br/>
      snapshot: use qemu-img on disks in use at time of snapshot (Eric Blake),<br/>
      snapshot: add REVERT_FORCE to API (Eric Blake),<br/>
      snapshot: implement snapshot roots listing in vbox (Eric Blake),<br/>
      qemu: Don't fail virDomainGetInfo if we can't update balloon info (Jiri Denemark),<br/>
      snapshot: simplify esx snapshot name lookup (Eric Blake),<br/>
      snapshot: implement snapshot roots listing in esx (Eric Blake),<br/>
      qemu: correct misspelled 'enospc' option, and only use for werror (Laine Stump),<br/>
      snapshot: better virsh handling of missing current, parent (Eric Blake),<br/>
      Allow passing of command line args to LXC container (Daniel P. Berrange),<br/>
      Add support for bandwidth filtering on LXC guests (Daniel P. Berrange),<br/>
      network: fill in bandwidth from portgroup for all forward modes (Laine Stump),<br/>
      bridge_driver.c: Fix autoconf setting (Neil Wilson),<br/>
      Set to NULL members that have been freed to prevent crashes (Marc-André Lureau),<br/>
      snapshot: implement getparent for vbox (Eric Blake),<br/>
      snapshot: implement getparent for esx (Eric Blake),<br/>
      qemu: make PCI multifunction support more manual (Laine Stump),<br/>
      lvm storage backend: handle command_names=1 in lvm.conf (Serge E. Hallyn),<br/>
      qemu: Check for outstanding async job too (Michal Privoznik),<br/>
      virsh: Add 'reset' command for virsh (Xu He Jie),<br/>
      remote: Implement 'reset' for remote driver (Xu He Jie),<br/>
      qemu: Implement 'reset' for qemu driver (Xu He Jie),<br/>
      logging: Add date to log timestamp (Jiri Denemark),<br/>
      logging: Do not log timestamp through syslog (Jiri Denemark),<br/>
      hyperv: Report an error for acceptable URI schemes with a transport (Matthias Bolte),<br/>
      esx: Report an error for acceptable URI schemes with a transport (Matthias Bolte),<br/>
      snapshot: implement getparent in qemu (Eric Blake),<br/>
      snapshot: add virsh snapshot-list --tree (Eric Blake),<br/>
      snapshot: refactor virsh snapshot parent computation (Eric Blake),<br/>
      snapshot: remote protocol for getparent (Eric Blake),<br/>
      security: properly chown/label bidirectional and unidirectional fifos (Laine Stump),<br/>
      qemu: Preserve fakeReboot flag in domain status (Jiri Denemark),<br/>
      qemu: Finish domain shutdown on reconnect (Jiri Denemark),<br/>
      qemu: Check domain status details when reconnecting monitor (Jiri Denemark),<br/>
      virsh: Allow using complete &lt;capabilities&gt; elements with cpu-baseline (Peter Krempa),<br/>
      virsh: Allow using domain and capabilities XMLs with cpu-compare (Peter Krempa),<br/>
      qemu: add ability to set PCI device "rombar" on or off (Laine Stump),<br/>
      qemu: Relax -no-shutdown check to [0.14.0, 0.15.50) (Jiri Denemark),<br/>
      virLockManagerNopInit: Rename flags to unused_flags (Michal Privoznik),<br/>
      debug: Annotate some variables as unused (Michal Privoznik),<br/>
      maint: update authors (Peter Krempa),<br/>
      Add unsafe cache mode support for disk driver (Oskari Saarenmaa),<br/>
      selinux: Correctly report warning if virt_use_nfs not set (Michal Privoznik),<br/>
      virsh: Do not ignore the specified flags for cmdSaveImageDefine (Osier Yang),<br/>
      qemu: Transfer inactive XML among cookie (Michal Privoznik)<br/>
      </li>

      <li> Cleanups:<br/>
      Remove translations in socket test case (Daniel P. Berrange),<br/>
      test: drop redundant check (Eric Blake),<br/>
      startupPolicty: Minor cleanups (Michal Privoznik),<br/>
      secret: fix bad patch application (Eric Blake),<br/>
      Remove trailing whitespace from all xfig files (Daniel P. Berrange),<br/>
      Fix typo in virFileAccessibleAs (Daniel P. Berrange),<br/>
      snapshot: minor cleanups from reviewing indentation (Eric Blake),<br/>
      build: ignore test executable (Eric Blake),<br/>
      esx: drop dead code to silence Coverity (Eric Blake),<br/>
      snapshot: drop dead parameters (Eric Blake),<br/>
      qemu: silence Coverity false positive (Eric Blake),<br/>
      conf: remove unused VIR_ENUM_DECL (Laine Stump)<br/>
      </li>
    </ul>

    <h3>0.9.6: Sep 22 2011</h3>
    <ul>
      <li> Portability:<br/>
      build: silence warning on 32-bit build (Eric Blake)<br/>
      </li>
      <li> Bug Fixes:<br/>
      snapshot: fix logic bug in qemu undefine (Eric Blake),<br/>
      sanlock: fix memory leak (Eric Blake),<br/>
      virsh: fix regression in argv parsing (Eric Blake),<br/>
      storage: Wait udev events are handled before removing lvm vol (Osier Yang),<br/>
      qemu: avoid dereferencing a NULL pointer (Alex Jia),<br/>
      qemu: Avoid loop of fake reboots (Jiri Denemark),<br/>
      qemu: Fix shutdown regression with buggy qemu (Jiri Denemark),<br/>
      remote: fix crash on OOM (Eric Blake)<br/>
      </li>
      <li> Improvements:<br/>
      snapshot: also delete empty directory (Eric Blake),<br/>
      snapshot: remove snapshot metadata on transient exit (Eric Blake),<br/>
      snapshot: prepare to remove transient snapshot metadata (Eric Blake),<br/>
      virsh: More friendly err if no pool is specified for looking up a vol (Osier Yang),<br/>
      tests: improve test failure diagnosis (Oskari Saarenmaa),<br/>
      API: prefer to use NULLSTR macro (Osier Yang),<br/>
      xen: use typical allocations (Eric Blake),<br/>
      virsh: Remove useless codes of cmdVolPath (Osier Yang)<br/>
      </li>
    </ul>
    <h3>0.9.5: Sep 20 2011</h3>
    <ul>
      <li> Features:<br/>
      many snapshot improvements (Eric Blake),<br/>
      latency: Define new public API and structure (Osier Yang),<br/>
      USB2 and various USB improvements (Marc-André Lureau),<br/>
      storage: Add fs pool formatting (Osier Yang),<br/>
      Add public API for getting migration speed (Jim Fehlig),<br/>
      Add basic driver for Microsoft Hyper-V (Matthias Bolte)<br/>
      </li>
      <li> Documentation:<br/>
      virsh: tweak previous domblkstat patch (Eric Blake),<br/>
      virsh: doc: Fix supported driver types for attach-disk command (Peter Krempa),<br/>
      doc: Add statment about permissions needed to do a core dump (Peter Krempa),<br/>
      snapshot: tweak snapshot-create-as diskspec docs (Eric Blake),<br/>
      qemu_api: doc improvements (Eric Blake),<br/>
      virsh: Fix command name in man page (Peter Krempa),<br/>
      fix incorrect option in send-key (Alex Jia),<br/>
      virsh: improve send-key documentation (Eric Blake),<br/>
      hyperv: Add basic documentation (Matthias Bolte),<br/>
      schedinfo: update man page about virsh schedinfo command (Taku Izumi),<br/>
      virsh: Clarify documentation of -d option (Jiri Denemark),<br/>
      schedinfo: add missing documentation (Taku Izumi),<br/>
      Improve tokenizing of linkable terms (Philipp Hahn),<br/>
      Add some docs about the RPC protocol and APIs (Daniel P. Berrange),<br/>
      Align table cells on top (Philipp Hahn),<br/>
      use IPv6 addresses in range reserved for documentation (Laine Stump),<br/>
      describe new virtual switch configuration in network XML docs (Laine Stump)<br/>
      </li>
      <li> Portability:<br/>
      Update to require sanlock 1.8 for license compliance (Daniel P. Berrange),<br/>
      build: work around lack of MacOS fdatasync (Eric Blake),<br/>
      python: Fix bindings generated in VPATH build (Jiri Denemark),<br/>
      build: storage: Macro 'MKFS' is undefined on some platforms. (Peter Krempa),<br/>
      build: storage: Conditionaly compiled structure caused build fail on OSX (Peter Krempa),<br/>
      Avoid using "devname" as an identifier. (Peter Krempa),<br/>
      mingw: Don't use interface as an identifier (Matthias Bolte),<br/>
      esx: Use $(PYTHON) instead of the shebang to run the generator (Matthias Bolte),<br/>
      build: work around older systemtap header (Eric Blake),<br/>
      build: fix compilation on mingw64 (Eric Blake),<br/>
      build: fix virnetsocket on mingw (Eric Blake),<br/>
      build: fix virpidfile on mingw (Eric Blake),<br/>
      maint: fix some compilation issues on non-linux platforms (part 2) (Stefan Berger),<br/>
      maint: fix some compilation issues on non-linux platforms (Stefan Berger),<br/>
      Fix detection of GnuTLS 1.x.y (Matthias Bolte)<br/>
      </li>
      <li> Bug Fixes:<br/>
      Fix crash on events due to allocation errors (Daniel Veillard),<br/>
      conf: Assign newDef of active domain as persistent conf if it is NULL (Osier Yang),<br/>
      storage: Ensure the device path exists before refreshing disk pool (Osier Yang),<br/>
      daemon: Error and exit if specified value for timeout is not valid (Osier Yang),<br/>
      vmx: avoid memory leak (ajia@redhat.com),<br/>
      util: avoid memory leak (ajia@redhat.com),<br/>
      remote: avoid memory leak (ajia@redhat.com),<br/>
      qemu: avoid memory leak (ajia@redhat.com),<br/>
      daemon: avoid memory leak (ajia@redhat.com),<br/>
      Prevent crash from dlclose() of libvirt.so (Daniel P. Berrange),<br/>
      qemu: add return value check (Alex Jia),<br/>
      Avoid crash on restart if running guest has filterref (Stefan Berger),<br/>
      conf: avoid memory leak on virDomainDefParseXML (Alex Jia),<br/>
      Fix build after commit 829bce17 (Jim Fehlig),<br/>
      conf: add missing break in virDomainAuditRedirdev (Marc-André Lureau),<br/>
      snapshot: ABI stability must include memory sizing (Eric Blake),<br/>
      make: Fix 'make syntax-check' failing. (Peter Krempa),<br/>
      snapshot: fix double free of qemuImgBinary (Guannan Ren),<br/>
      virnetsocket: Pass KRB5CCNAME env variable (Michal Privoznik),<br/>
      Fix URL-escaping for domainDefine (Philipp Hahn),<br/>
      snapshot: fix regression with system checkpoints (Eric Blake),<br/>
      Don't treat pci_system_init failure as fatal if no PCI bus is present (Soren Hansen),<br/>
      rpc: avoid memory leak on virNetTLSContextValidCertificate (Alex Jia),<br/>
      tests: avoid memory leak on testTLSSessionInit (Alex Jia),<br/>
      libxl: avoid a dereference of a null pointer (Alex Jia),<br/>
      blockinfo: fix qemu regression in handling disk name (Eric Blake),<br/>
      esx: Fix managed object lookup with optional occurrence (Matthias Bolte),<br/>
      Threadpool: Initialize new dynamic workers (Michal Privoznik),<br/>
      Default USB device is on slot 1 function 2 (Marc-André Lureau),<br/>
      Fix localtime handling for Xen-PV domains (Philipp Hahn),<br/>
      snapshot: fix corner case on OOM during creation (Eric Blake),<br/>
      API: Init conn in case of it might be used uninitialized (Osier Yang),<br/>
      qemu: detect incomplete save files (Eric Blake),<br/>
      reserve slot 1 on pci bus0 (Wen Congyang),<br/>
      libvirtd: create run dir when running at non-root user (Xu He Jie),<br/>
      Don't overwrite errors from xend_{get,req} (Jim Fehlig),<br/>
      virsh: avoid memory leak on cmdVolCreateAs (Alex Jia),<br/>
      Fix tracking of RPC messages wrt streams (Daniel P. Berrange),<br/>
      Avoid use-after-free on streams, due to message callbacks (Daniel P. Berrange),<br/>
      Fix parted sector size assumption (Daniel P. Berrange),<br/>
      qemu: Fix a regression of domain save (Osier Yang),<br/>
      lxc: Fix incorrect changes on error codes. (Osier Yang),<br/>
      Stop libxl driver polluting logs on non-Xen hosts (Daniel P. Berrange),<br/>
      Fix memory leak parsing 'relabel' attribute in domain security XML (Daniel P. Berrange),<br/>
      Fix memory leak dispatching domain events (Daniel P. Berrange),<br/>
      Don't leak memory if a cgroup is mounted multiple times (Daniel P. Berrange),<br/>
      stream: remove redundant reference to client while sending stream data (Guannan Ren),<br/>
      Fix sanlock socket security labelling (Daniel P. Berrange),<br/>
      Fix incorrect path length check in sanlock lockspace setup (Daniel P. Berrange),<br/>
      snapshot: forbid snapshot on autodestroy domain (Eric Blake),<br/>
      Fix error detection in device change (Philipp Hahn),<br/>
      qemu: properly label outgoing pipe for tunneled migration (Eric Blake),<br/>
      Fix persistent migration config save (KAMEZAWA Hiroyuki),<br/>
      rpc: Don't close connection if program is unknown (Jiri Denemark),<br/>
      remote: Refuse connecting to remote socket (Michal Privoznik),<br/>
      Detect errors from the 'sendkey' command (Daniel P. Berrange),<br/>
      qemu: Correctly label migration TCP socket (Jiri Denemark),<br/>
      Do not try to cancel non-existent migration on source (Jiri Denemark),<br/>
      snapshot: don't leak resources on qemu snapshot failure (Eric Blake),<br/>
      Fix command test wrt gnutls initialize &amp; fix debugging (Daniel P. Berrange),<br/>
      daemon: Move TLS initialization to virInitialize (Michal Privoznik),<br/>
      util: only fchown newly created files in virFileOpenAs (Laine Stump),<br/>
      qemu: fix off-by-one in pci slot reservation (Shradha Shah),<br/>
      pci: fix pciDeviceListSteal on multiple devices (Shradha Shah),<br/>
      qemu: Report error if qemu monitor command not found for BlockJob (Osier Yang),<br/>
      send-key: fix scan keycode map (KAMEZAWA Hiroyuki),<br/>
      storage: Flush host cache after write (Michal Privoznik),<br/>
      daemon: initialize GnuTLS (Michal Privoznik),<br/>
      Ensure async packets never get marked for sync replies (Daniel P. Berrange),<br/>
      Don't attempt to read from a stream if it is closed (Daniel P. Berrange),<br/>
      qemu: Init reattaching related members of pciDevice before reattach (Osier Yang),<br/>
      Fix race condition in abort of stream (Daniel P. Berrange),<br/>
      Ensure client streams are closed when marking a client for close (Daniel P. Berrange),<br/>
      Ensure stream is aborted when exiting console (Daniel P. Berrange),<br/>
      daemon: Add early libvirtd start verbose errors. (Peter Krempa),<br/>
      qemu: error message should show uri instead of (null) (Peter Krempa),<br/>
      libvirtd.init.in: stop/restart()       wrong return value in case of failure (Douglas Schilling Landgraf),<br/>
      daemon: Fix regression of libvirtd reloading support (Osier Yang),<br/>
      virsh: fix logic bug (Eric Blake),<br/>
      storage: Directory shouldn't be listed as type 'file' (Peter Krempa),<br/>
      network: eliminate potential memory leak on parse failure (Laine Stump),<br/>
      nwfilter: tolerate disappearing interfaces while instantiating filter (Stefan Berger),<br/>
      qemu: Fix -chardev udp if parameters are omitted (Cole Robinson),<br/>
      managedsave: prohibit use on transient domains (Eric Blake),<br/>
      Check stdoutWatch before removing the handler. (Juerg Haefliger),<br/>
      Fix memory leak while scanning snapshots (Philipp Hahn),<br/>
      build: fix regression in large file support (Eric Blake),<br/>
      Don't mount /dev for application containers (Daniel P. Berrange),<br/>
      qemu: avoid crash on process attach (Eric Blake),<br/>
      rpc:fix sasl session relocking intead of unlocking it (Guannan Ren),<br/>
      daemon: Unlink unix socket paths on shutdown (Osier Yang)<br/>
      </li>
      <li> Improvements:<br/>
      Remove devname identifier from autogenerated RPC code (Peter Krempa),<br/>
      maint: Prefer names over email in 'git shortlog' (Eric Blake),<br/>
      virsh: Add more human-friendly output of domblkstat command (Peter Krempa),<br/>
      spec: silence warnings when installing in F16 (Eric Blake),<br/>
      snapshot: allow disk snapshots of qcow2 disks (Eric Blake),<br/>
      snapshot: affect persistent xml after disk snapshot (Eric Blake),<br/>
      qemu: Introduce shutdown reason for paused state (Jiri Denemark),<br/>
      qemu: Prevent disk corruption on domain shutdown (Jiri Denemark),<br/>
      qemu: Properly detect crash of a rebooted domain (Jiri Denemark),<br/>
      qemu: Fix shutoff reason when domain crashes (Jiri Denemark),<br/>
      rpc: convert unknown procedures to VIR_ERR_NO_SUPPORT (Eric Blake),<br/>
      python: Fix libvirt.py generation to include virterror info (Cole Robinson),<br/>
      sanlock: add missing test command in virt-sanlock-cleanup.in (Alex Jia),<br/>
      spec: Require augeas for sanlock (Michal Privoznik),<br/>
      Use max bandwidth from qemuDomainObjPrivate struct when migrating (Jim Fehlig),<br/>
      Set qemu migration speed unlimited when migrating to file (Jim Fehlig),<br/>
      Save migration speed in qemuDomainMigrateSetMaxSpeed (Jim Fehlig),<br/>
      Impl virDomainMigrateGetMaxSpeed in qemu driver (Jim Fehlig),<br/>
      Store max migration bandwidth in qemuDomainObjPrivate struct (Jim Fehlig),<br/>
      network: add missing exports (Eric Blake),<br/>
      xml: Clean up rest of virtual XML document names for XML strings (Peter Krempa),<br/>
      qemu_api: Update libvirt spec file (Osier Yang),<br/>
      qemu_api: Update Makefile to generate libvirtmod_qemu lib (Osier Yang),<br/>
      qemu_api: Update Py binding generator to generate files for QEMU APIs (Osier Yang),<br/>
      qemu_api: Add override XML and C files for QEMU APIs (Osier Yang),<br/>
      qemu_api: Add comments for API virDomainQemuMonitorCommand (Osier Yang),<br/>
      qemu_api: Update Makefile for subdir docs (Osier Yang),<br/>
      qemu_api: Modify apibuild.py to generate docs for QEMU APIs (Osier Yang),<br/>
      Do not log invalid operations in libvirtd logs (Daniel Veillard),<br/>
      selinux: Detect virt_use_nfs boolean set (Michal Privoznik),<br/>
      xml: Change virtual file names of xml documents parsed in memory (Peter Krempa),<br/>
      maint: update to latest gnulib (Eric Blake),<br/>
      snapshot: use new API for less work (Eric Blake),<br/>
      snapshot: new APIs for inspecting snapshot object (Eric Blake),<br/>
      virsh: fix typo in opts_send_key (Alex Jia),<br/>
      link-state: virsh: Add wrapper commands for changing link state (Peter Krempa),<br/>
      link-state: qemu: Add net intf modification to virUpdateDeviceFlags (Peter Krempa),<br/>
      link-state: qemu: Add monitor handling for link state modification (Peter Krempa),<br/>
      link-state: conf: Add element to XML for controling link state (Peter Krempa),<br/>
      link-state: util: Add equality comparison functions for structures (Peter Krempa),<br/>
      XML: Improve XML parsing error messages (Peter Krempa),<br/>
      redirdev: allows to specify device address (Marc-André Lureau),<br/>
      latency: Update virsh command domblkstat to use new API (Osier Yang),<br/>
      latency: Expose the new API for Python binding (Osier Yang),<br/>
      latency: Implemente internal API for qemu driver (Osier Yang),<br/>
      latency: Update monitor functions for new latency fields (Osier Yang),<br/>
      latency: Wire up the remote protocol (Osier Yang),<br/>
      latency: Implemente the public API (Osier Yang),<br/>
      latency: Define the internal driver callback (Osier Yang),<br/>
      qemu: Deal with stucked qemu on daemon startup (Michal Privoznik),<br/>
      qemu: Introduce job queue size limit (Michal Privoznik),<br/>
      daemon: Create priority workers pool (Michal Privoznik),<br/>
      snapshot: use SELinux and lock manager with external snapshots (Eric Blake),<br/>
      snapshot: wire up live qemu disk snapshots (Eric Blake),<br/>
      snapshot: wire up new qemu monitor command (Eric Blake),<br/>
      snapshot: make it possible to audit external snapshot (Eric Blake),<br/>
      snapshot: reject unimplemented disk snapshot features (Eric Blake),<br/>
      snapshot: wire up disk-only flag to snapshot-create (Eric Blake),<br/>
      snapshot: add flag for requesting disk snapshot (Eric Blake),<br/>
      snapshot: add virsh domblklist command (Eric Blake),<br/>
      snapshot: also support disks by path (Eric Blake),<br/>
      snapshot: add &lt;disks&gt; to snapshot xml (Eric Blake),<br/>
      snapshot: support extra state in snapshots (Eric Blake),<br/>
      snapshot: expose halt-after-creation in virsh (Eric Blake),<br/>
      snapshot: allow halting after snapshot (Eric Blake),<br/>
      snapshot: expose new delete flag in virsh (Eric Blake),<br/>
      snapshot: introduce new deletion flag (Eric Blake),<br/>
      snapshot: reject transient disks where code is not ready (Eric Blake),<br/>
      snapshot: additions to domain xml for disks (Eric Blake),<br/>
      Check for source conflicts in storage pools (Lei Li),<br/>
      Add a usb1 &amp; usb2 qemuxml2argv test (Marc-André Lureau),<br/>
      PIIX3 USB controller is on function 2 (Marc-André Lureau),<br/>
      snapshot: store qemu domain details in xml (Eric Blake),<br/>
      snapshot: update rng to support full domain in xml (Eric Blake),<br/>
      snapshot: correctly escape generated xml (Eric Blake),<br/>
      snapshot: allow full domain xml in snapshot (Eric Blake),<br/>
      snapshot: refactor domain xml output (Eric Blake),<br/>
      snapshot: prevent migration from stranding snapshot data (Eric Blake),<br/>
      snapshot: support new undefine flags in qemu (Eric Blake),<br/>
      snapshot: cache qemu-img location (Eric Blake),<br/>
      snapshot: refactor some qemu code (Eric Blake),<br/>
      snapshot: teach virsh about new undefine flags (Eric Blake),<br/>
      snapshot: prevent stranding snapshot data on domain destruction (Eric Blake),<br/>
      snapshot: add qemu snapshot redefine support (Eric Blake),<br/>
      snapshot: add qemu snapshot creation without metadata (Eric Blake),<br/>
      snapshot: improve virsh snapshot-create, add snapshot-edit (Eric Blake),<br/>
      snapshot: refactor virsh snapshot creation (Eric Blake),<br/>
      snapshot: allow recreation of metadata (Eric Blake),<br/>
      snapshot: identify qemu snapshot roots (Eric Blake),<br/>
      snapshot: reflect new dumpxml and list options in virsh (Eric Blake),<br/>
      snapshot: identify which snapshots have metadata (Eric Blake),<br/>
      snapshot: let qemu discard only snapshot metadata (Eric Blake),<br/>
      snapshot: allow deletion of just snapshot metadata (Eric Blake),<br/>
      snapshot: simplify acting on just children (Eric Blake),<br/>
      snapshot: track current domain across deletion of children (Eric Blake),<br/>
      snapshot: avoid crash when deleting qemu snapshots (Eric Blake),<br/>
      snapshot: speed up snapshot location (Eric Blake),<br/>
      snapshot: add snapshot-list --parent to virsh (Eric Blake),<br/>
      snapshot: fine-tune qemu snapshot revert states (Eric Blake),<br/>
      snapshot: properly revert qemu to offline snapshots (Eric Blake),<br/>
      snapshot: improve reverting to qemu paused snapshots (Eric Blake),<br/>
      snapshot: fine-tune qemu saved images starting paused (Eric Blake),<br/>
      snapshot: expose --running and --paused in virsh (Eric Blake),<br/>
      snapshot: fine-tune ability to start paused (Eric Blake),<br/>
      snapshot: better events when starting paused (Eric Blake),<br/>
      Learn to use spicevmc as a redirection type for usb-redir (Marc-André Lureau),<br/>
      Add "redirdev" redirection device (Marc-André Lureau),<br/>
      qemu: Don't append 0 at usb id, so that it is compatible with legacy -usb (Marc-André Lureau),<br/>
      qemu: don't reserve slot 1 if a PIIX3 USB controller is defined there (Marc-André Lureau),<br/>
      Modify USB port to be defined as a port path (Marc-André Lureau),<br/>
      Add USB companion controllers support (Marc-André Lureau),<br/>
      USB devices gain a new USB address child element (Marc-André Lureau),<br/>
      test: USB controller can have a PCI address child element (Marc-André Lureau),<br/>
      Add a new controller type 'usb' with optionnal 'model' (Marc-André Lureau),<br/>
      Add USB controller models (Marc-André Lureau),<br/>
      Rename virDomainControllerModel to virDomainControllerModelSCSI (Marc-André Lureau),<br/>
      Add various USB devices QEMU_CAPS (Marc-André Lureau),<br/>
      tests: add missing files (Eric Blake),<br/>
      Add directsync cache mode support for disk driver (Osier Yang),<br/>
      storage: Add virsh support for fs pool formating (Osier Yang),<br/>
      storage: Add mkfs and libblkid to build system (Osier Yang),<br/>
      qemu: refactor file opening (Eric Blake),<br/>
      lxc: do not require 'ifconfig' or 'ipconfig' in container (Scott Moser),<br/>
      Create ptmx as a device (Serge Hallyn),<br/>
      BlockPull: Set initial bandwidth limit if specified (Adam Litke),<br/>
      BlockJob: Bandwidth parameter is in MB when using text monitor (Adam Litke),<br/>
      Increase size of buffer for xend response (Jim Fehlig),<br/>
      virsh: support 'virsh start --force-boot' on older servers (Eric Blake),<br/>
      build: fix 'make check' with pdwtags (Eric Blake),<br/>
      virsh: Expose virDomainMigrateGetMaxSpeed API (Jim Fehlig),<br/>
      virsh: prefer unsigned flags (Eric Blake),<br/>
      storage: Fix incorrect error codes (Osier Yang),<br/>
      remote: Fix incorrect error codes (Osier Yang),<br/>
      nodeinfo: Fix incorrect error codes (Osier Yang),<br/>
      conf: Substitute OPERATION_INVALID with INTERNAL_ERROR (Osier Yang),<br/>
      start: allow discarding managed save (Eric Blake),<br/>
      build: simplify use of verify (Eric Blake),<br/>
      rpc: fix a typo in debugging log in virNetServerProgramSendStreamData (Guannan Ren),<br/>
      maint: fix spelling errors on lose (Eric Blake),<br/>
      Fix generator to cope with call-by-ref long types (Jim Fehlig),<br/>
      hyperv: Add OpenWSMAN based client for the Hyper-V WMI API (Matthias Bolte),<br/>
      hyperv: Add driver skeleton (Matthias Bolte),<br/>
      hyperv: Add configure check for OpenWSMAN (Matthias Bolte),<br/>
      virterror: Fix error message for VIR_ERR_INVALID_ARG (Michal Privoznik),<br/>
      Fix keymap used to talk with QEMU (Daniel P. Berrange),<br/>
      security: Introduce SetSocketLabel (Jiri Denemark),<br/>
      security: Rename SetSocketLabel APIs to SetDaemonSocketLabel (Jiri Denemark),<br/>
      Ignore unused streams in virStreamAbort (Jiri Denemark),<br/>
      snapshot: track current snapshot across restarts (Eric Blake),<br/>
      snapshot: only pass snapshot to qemu command line when reverting (Eric Blake),<br/>
      libvirt: log all flags parameters (Eric Blake),<br/>
      virsh: add list --managed-save (Eric Blake),<br/>
      esx: Refactor a repeated string in the generator (Matthias Bolte),<br/>
      maint: fix comment typos (Eric Blake),<br/>
      virsh: Substitute goto label out with cleanup (Osier Yang),<br/>
      virsh: Do not try to free domain if it is NULL (Osier Yang),<br/>
      xen: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),<br/>
      storage: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),<br/>
      remote: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),<br/>
      qemu: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),<br/>
      nodeinfo: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),<br/>
      lxc: Cleanup improper VIR_ERR_NO_SUPPORT use (Osier Yang),<br/>
      conf: Cleanup improper use of VIR_ERR_NO_SUPPORT in node_device_conf (Osier Yang),<br/>
      qemu: Substitute VIR_ERR_NO_SUPPORT with VIR_ERR_OPERATION_INVALID (Osier Yang),<br/>
      virsh: Print error if specified bandwidth is invalid for blockjob (Osier Yang),<br/>
      virsh: properly interleave shared stdout and stderr (Eric Blake),<br/>
      maint: simplify lots of libxml2 clients (Eric Blake),<br/>
      xml: add another convenience function (Eric Blake),<br/>
      maint: treat more libxml2 functions as free-like (Eric Blake),<br/>
      test: rewrite test to match change in behavior (Eric Blake),<br/>
      build: fix typo in recent test patch (Eric Blake),<br/>
      vmware: Allow to undefine a running domain (Osier Yang),<br/>
      uml: Allow to undefine a running domain (Osier Yang),<br/>
      test: Allow to undefine a running domain (Osier Yang),<br/>
      qemu: Allow to undefine a running domain (Osier Yang),<br/>
      openvz: Allow to undefine a running domain (Osier Yang),<br/>
      lxc: Allow to undefine a running domain (Osier Yang),<br/>
      libxl: Allow to undefine a running domain. (Osier Yang),<br/>
      qemu: Get memory balloon info correctly for text monitor (Osier Yang),<br/>
      qemu: disk migration verbose progress (Tom Vijlbrief),<br/>
      virsh: concatenate qemu-monitor-command arguments (Eric Blake),<br/>
      virsh: tweak misleading wording (Eric Blake),<br/>
      Tweak debugging message in RPC client code (Daniel P. Berrange),<br/>
      maint: add missing symbols (Stefan Berger),<br/>
      macvtap: Fix getPhysfn to get the PF of a direct attach network interface (Roopa Prabhu),<br/>
      interface: Add functions to get sriov PF/VF relationship of a net interface (Roopa Prabhu),<br/>
      pci: Add helper functions for sriov devices (Roopa Prabhu),<br/>
      pci: Move some pci sriov helper code out of node device driver to util/pci (Roopa Prabhu),<br/>
      qemu: support event_idx parameter for virtio disk and net devices (Laine Stump),<br/>
      qemu: Use fd: protocol for migration (Jiri Denemark),<br/>
      qemu: Use virNetSocket for tunneled migration (Jiri Denemark),<br/>
      qemu: Refactor do{Tunnel,Native}Migrate functions (Jiri Denemark),<br/>
      Support changing UNIX socket owner in virNetSocketNewListenUNIX (Jiri Denemark),<br/>
      Add backlog parameter to virNetSocketListen (Jiri Denemark),<br/>
      Add API for duplicating a socket/client file descriptor (Daniel P. Berrange),<br/>
      Swap virDomain / virDomainSnapshot declaration (Philipp Hahn),<br/>
      build: fix recent build failures (Eric Blake),<br/>
      Convert libvirtd to use crash-safe pidfile APIs (Daniel P. Berrange),<br/>
      Add some APIs which use locking for crashsafe pidfile handling (Daniel P. Berrange),<br/>
      Introduce functions for checking whether a pidfile is valid (Daniel P. Berrange),<br/>
      Move pidfile functions into util/virpidfile.{c,h} (Daniel P. Berrange),<br/>
      Add virFileLock and virFileUnlock APIs (Daniel P. Berrange),<br/>
      vbox, xenapi: add virDomainUndefineFlags (Eric Blake),<br/>
      virsh: don't reject undefine on active domain (Eric Blake),<br/>
      virsh: Add dir type for listing volumes with vol-list (Peter Krempa),<br/>
      virsh: add snapshot-parent (Eric Blake),<br/>
      virsh: add virsh snapshot-current --name (Eric Blake),<br/>
      virsh: fix snapshot-create-as to handle arbitrary names (Eric Blake),<br/>
      qemu: minor formatting cleanup (Eric Blake),<br/>
      Allow use of file images for LXC container filesystems (Daniel P. Berrange),<br/>
      Fix typo in LXC cgroups setup error message (Daniel P. Berrange),<br/>
      Allow use of block devices for guest filesystem (Daniel P. Berrange),<br/>
      qemu: Avoid overwriting errors from virGetHostname (Jiri Denemark),<br/>
      network: eliminate lag in updating dnsmasq hosts files (Laine Stump),<br/>
      build: update to latest gnulib (Eric Blake)<br/>
      </li>
      <li> Cleanups:<br/>
      maint: ignore generated files (Eric Blake),<br/>
      Remove two references to files not generated (Daniel Veillard),<br/>
      latency: fix make check for remote protocol structs and numbers (Daniel Veillard),<br/>
      security: fix build (Eric Blake),<br/>
      Remove bogus virSecurityManagerSetProcessFDLabel method (Daniel P. Berrange),<br/>
      libvirt: avoid dead store in virDomainMigrateVersion3 (Alex Jia),<br/>
      qemu: avoid dead store in doPeer2PeerMigrate3 (Alex Jia),<br/>
      maint: ignore generated file (Eric Blake),<br/>
      maint: ignore generated file (Eric Blake),<br/>
      maint: let emacs avoid tabs in rng files (Eric Blake),<br/>
      virsh: fix dead store (Eric Blake),<br/>
      qemu: silence clang false positive (Eric Blake),<br/>
      qemu: avoid dead store in qemuMonitorTextBlockJob (Alex Jia),<br/>
      qemu: avoid dead store in qemuProcessStart (Alex Jia)<br/>
      </li>
    </ul>

    <h3>0.9.4: Aug 3 2011</h3>
    <ul>
      <li>Features:<br/>
      bandwidth QoS control (Michal Privoznik),<br/>
      Add new API virDomainBlockPull* (Adam Litke),<br/>
      save: new API to manipulate save file images (Eric Blake),<br/>
      CPU bandwidth limits support (Wen Congyang),<br/>
      allow to send NMI and key event to guests (Lai Jiangshan),<br/>
      new API virDomainUndefineFlags (Osier Yang),<br/>
      Implement code to attach to external QEMU instances. (Daniel P. Berrange),<br/>
      various missing python binding (Hu Tao and Lai Jiangshan),<br/>
      bios: Add support for SGA (Michal Privoznik)
      </li>

      <li>Documentation:<br/>
      doc: fix confusing statement about required privileges (Eric Blake),<br/>
      doc: fix incorrect option in blockjob (Alex Jia),<br/>
      Correct the default value of lock_manager in qemu.conf (Guannan Ren),<br/>
      libvirt.c: Update outdated description of flags (Michal Privoznik),<br/>
      qemu: Improve docs for virsh dump format (Osier Yang),<br/>
      qemu: improve thread documentation (Eric Blake),<br/>
      doc: Add doc for blockpull and blockjob commands (Osier Yang),<br/>
      Fix incorrect implication about list options (Dave Allan),<br/>
      Fix typos in virsh.pod file (Daniel P. Berrange),<br/>
      network: Fix typo (Osier Yang),<br/>
      Break up 'Basic Resources' XML section (Cole Robinson),<br/>
      driver.h: Fix two driver documentation mistakes (Wieland Hoffmann),<br/>
      doc: Add documentation for new cputune elements period and quota (Wen Congyang),<br/>
      doc: Correct documents for iface commands (Osier Yang),<br/>
      improve virsh man page synopses (Eric Blake),<br/>
      Fix spice documentation typo (Michal Privoznik),<br/>
      document dxml argument to migrate2 (Eric Blake),<br/>
      website: Point main page links to libvirt driver pages (Dave Allan),<br/>
      maint: fix typos (Eric Blake),<br/>
      mention EMOTIVE as a libvirt-using app (Eric Blake),<br/>
      virsh: Update virsh man page (Supriya Kannery),<br/>
      Fix virsh inject-nmi man page (KAMEZAWA Hiroyuki),<br/>
      virsh: make destroy sound less scary (Eric Blake),<br/>
      minor whitespace cleanups (Eric Blake),<br/>
      Add documentation for the seclabel XML element (Daniel P. Berrange)
      </li>

      <li>Portability:<br/>
      build: fix include path for cygwin (Eric Blake),<br/>
      build: avoid non-portable shell in test setup (Eric Blake),<br/>
      tests: Don't use bash if we don't have to (Matthias Bolte),<br/>
      freebsd: Fix build problem due to picking up the wrong libvirt.h (Matthias Bolte),<br/>
      freebsd: Avoid /bin/true in commandtest (Matthias Bolte),<br/>
      freebsd: Add gnulib environ module for the commandtest (Matthias Bolte),<br/>
      build: support warnings on RHEL 5 (Eric Blake),<br/>
      Build: fix build if HAVE_AVAHI is not defined (Stefan Berger),<br/>
      sysinfo: Don't try to run dmidecode on archs missing it (Michal Privoznik),<br/>
      udev: Don't try to dump DMI on non-intel archs (Michal Privoznik),<br/>
      Fix build when using polkit0 (Jim Fehlig),<br/>
      Fix rpm build with sanlock and without QEmu (Daniel Veillard),<br/>
      Skip some xen tests if xend is not running (Jim Fehlig),<br/>
      build: fix virBufferVasprintf on mingw (Eric Blake),<br/>
      Fix compilation of statstest.c during make check (Jim Fehlig),<br/>
      Fix compilation error when SASL support is disabled (Jean-Baptiste Rouault),<br/>
      tests: Disable networkxml2argvtest when configured without network (Matthias Bolte)
      </li>

      <li>Bug Fixes:<br/>
      util: plug memory leak (Eric Blake),<br/>
      rpc: avoid null deref (Eric Blake),<br/>
      qemu: avoid memory leaks (Eric Blake),<br/>
      qemu: plug child process leak on domain core dump (Eric Blake),<br/>
      conf: avoid memory leak on disk operations (Eric Blake),<br/>
      rpc: avoid crash on error (Eric Blake),<br/>
      qemu: avoid null deref on block pull error (Eric Blake),<br/>
      rpc: correctly process sasl whitelist globs (Eric Blake),<br/>
      screenshot: don't unlink bogus file (Eric Blake),<br/>
      python: avoid unlikely sign extension bug (Eric Blake),<br/>
      rpc: avoid uninitialized memory use (Eric Blake),<br/>
      rpc: avoid double close on error (Eric Blake),<br/>
      qemu: Unlink temporary file on failure (Michal Privoznik),<br/>
      rpc: avoid libvirtd crash on unexpected client close (Eric Blake),<br/>
      virsh: fix memory leak in cmdNetworkInfo (Alex Jia),<br/>
      openvz: detect when a domain was shut down from the inside (Jean-Baptiste Rouault),<br/>
      qemu: fix crash when mixing sync and async monitor jobs (Eric Blake),<br/>
      qemu: fix return value issue (Alex Jia),<br/>
      qemu: fix return value issue in qemuDomainSetMemoryParameters (Alex Jia),<br/>
      virsh: Fix vol-name and vol-pool commands (Matthias Bolte),<br/>
      qemu: Fix a regression of domjobabort (Osier Yang),<br/>
      conf: Don't leak the virtual port profile in virNetworkDefFree (Matthias Bolte),<br/>
      network: don't forward DNS requests from isolated networks (Laine Stump),<br/>
      virsh: avoid missing zero value judgement in cmdBlkiotune (Alex Jia),<br/>
      qemu: fix nested job with driver lock held (Eric Blake),<br/>
      qemu: Fix memory leak on metadata fetching (Michal Privoznik),<br/>
      virsh: fix memory leak in cmdVolPath code (Alex Jia),<br/>
      rpc: Fix memory leak in remoteDomainSet*Parameters functions (Matthias Bolte),<br/>
      qemu: Recover from interrupted migration (Jiri Denemark),<br/>
      python: Properly report errors if virStreamRecv fails (Cole Robinson),<br/>
      Fix race in ref counting when handling RPC jobs (Daniel P. Berrange),<br/>
      Fix build with gnutls 1.0.x branch (Daniel P. Berrange),<br/>
      Add libtasn1-devel as a BuildRequires for libvirt.spec (Daniel P. Berrange),<br/>
      Add mutex protection to SASL and TLS modules (Daniel P. Berrange),<br/>
      Report error if unable to bind to any socket (Daniel P. Berrange),<br/>
      Fix leak of mDNS object in virNetServer (Daniel P. Berrange),<br/>
      Fix memory leaks in MDNS code (Daniel P. Berrange),<br/>
      python: Handle embedded NUL in stream.send data (Cole Robinson),<br/>
      Catch dnsmasq start failures (Guido Günther),<br/>
      Fix import of private key with older gnutls (Daniel P. Berrange),<br/>
      Fix TLS context tests with expired certs (Daniel P. Berrange),<br/>
      Honour filesystem readonly flag &amp; make special FS readonly (Daniel P. Berrange),<br/>
      xenapi: Fix double-freeing the session in xenapiClose (Matthias Bolte),<br/>
      remote: Fix forgotten comma (Michal Privoznik),<br/>
      qemu: fix error message with migrate2 xml (Eric Blake),<br/>
      command: avoid leaking fds across fork (Eric Blake),<br/>
      error: preserve errno when saving last error (Eric Blake),<br/>
      Fix uninitialized variable in QEMU CPU bandwidth code (Daniel P. Berrange),<br/>
      fix make syntax-check error (Wen Congyang),<br/>
      rpc: Pass through DISPLAY so ssh can launch askpass (Cole Robinson),<br/>
      Don't try to close a NULL virNetClientPtr (Guannan Ren),<br/>
      Honour key usage/purpose criticality flag (Daniel P. Berrange),<br/>
      Fix reporting of errors for p2p migration (Daniel P. Berrange),<br/>
      Use a virFreeCallback on virNetSocket to ensure safe release (Daniel P. Berrange),<br/>
      Add mutex locking and reference counting to virNetSocket (Daniel P. Berrange),<br/>
      util: avoid fds leak when virEventPollAddHandle fail (Alex Jia),<br/>
      virsh: avoid double free of domain (Alex Jia),<br/>
      build: Fix protocol-structs check in VPATH build (Jiri Denemark),<br/>
      Fix now dead cleanup of VMs on libvirtd restart (Daniel P. Berrange),<br/>
      qemu: Fix a regression of attaching device (Osier Yang),<br/>
      storage: Avoid memory leak on metadata fetching (Michal Privoznik),<br/>
      qemu: Don't overwrite errors by closefd in error paths (Jiri Denemark),<br/>
      qemu: Save domain status ASAP after creating qemu process (Jiri Denemark),<br/>
      util: Avoid duplicating virFileOpenAsNoFork in virFileOpenAs (Jiri Denemark),<br/>
      virsh: fix missing prompt message for 'snapshot-delete' command (Nan Zhang),<br/>
      Ensure signal handler propagates fatal signals to default handler (Daniel P. Berrange),<br/>
      qemu: Fix monitor unlocking in some error paths (Jiri Denemark),<br/>
      esx: Initialize all instances of esxVMX_Data to zero (Matthias Bolte),<br/>
      qemu: avoid fd leak on core dump failure (Eric Blake),<br/>
      domain_conf: Free temporary variable (Michal Privoznik),<br/>
      esx: Fix a potential crash (Osier Yang),<br/>
      remote: Fix memory leak (Alex Jia),<br/>
      kill vm if saving config failed in v3 protocol (Wen Congyang),<br/>
      Don't exit if the libvirtd config does not exist (Daniel P. Berrange),<br/>
      Fix sending of reply to final RPC message (Daniel P. Berrange),<br/>
      Fix leak of remote driver if final 'CLOSE' RPC call fails (Daniel P. Berrange),<br/>
      Fix release of outgoing stream confirmation/abort message (Daniel P. Berrange),<br/>
      Fix leak of 'msg' object in client stream code (Daniel P. Berrange),<br/>
      Fix potential crash in libvirtd with active streams (Daniel P. Berrange),<br/>
      Fix mistaken order of server cert/key parameters in constructor (Daniel P. Berrange),<br/>
      util: Don't try to fchown files opened as non-root (Jiri Denemark),<br/>
      qemu: Don't chown files on NFS share if dynamic_ownership is off (Michal Privoznik),<br/>
      python: Fix bogus label placement (Matthias Bolte),<br/>
      util: close the ioctl socket at the end of if(Get|Set)MacAddress (Laine Stump),<br/>
      pci: initialize state values on reattach (Guannan Ren),<br/>
      qemu: Fix virFileMakePath error handling in snapshot creation (Matthias Bolte),<br/>
      storage: Do not override the exact error of createRawFile (Osier Yang)
      </li>

      <li>Improvements:<br/>
      build: allow caching the input to STATIC_ANALYSIS (Eric Blake),<br/>
      fdstream: drop delete argument (Eric Blake),<br/>
      save: generate idempotent inactive xml for running domain (Eric Blake),<br/>
      conf: make 'vnet' prefix a macro (Eric Blake),<br/>
      utils: More useful error message for hook script failure (Osier Yang),<br/>
      tests: Unify style of test skipping code (Matthias Bolte),<br/>
      save: let qemu driver manipulate save files (Eric Blake),<br/>
      save: support qemu modifying xml on domain save/restore (Eric Blake),<br/>
      xen: make direct call when there is only one subdriver (Eric Blake),<br/>
      xen: reduce callback special cases (Eric Blake),<br/>
      xen: cleanup callback struct (Eric Blake),<br/>
      libxl: fix build failure due to change in virDomainGraphicsDef (Laine Stump),<br/>
      qemu: support type=network in domain graphics &lt;listen&gt; (Laine Stump),<br/>
      conf: add &lt;listen&gt; subelement to domain &lt;graphics&gt; element (Laine Stump),<br/>
      python: add python binding for virDomainSetMemoryParameters (Hu Tao),<br/>
      python: add python binding for virDomainGetMemoryParameters (Hu Tao),<br/>
      python: add python binding for virDomainSetBlkioParameters (Hu Tao),<br/>
      python: add python binding for virDomainGetBlkioParameters (Hu Tao),<br/>
      virsh: expose change-protection during migration (Eric Blake),<br/>
      send-key: Implement Python API (Lai Jiangshan),<br/>
      qemu: Remove special case for virDomainAbortJob (Jiri Denemark),<br/>
      qemu: Remove special case for virDomainSuspend (Jiri Denemark),<br/>
      qemu: Remove special case for virDomainMigrateSetMaxDowntime (Jiri Denemark),<br/>
      qemu: Remove special case for virDomainMigrateSetMaxSpeed (Jiri Denemark),<br/>
      qemu: Remove special case for virDomainBlockStats (Jiri Denemark),<br/>
      qemu: Remove special case for virDomainGetBlockInfo (Jiri Denemark),<br/>
      qemu: Migration job on source daemon (Jiri Denemark),<br/>
      qemu: Migration job on destination daemon (Jiri Denemark),<br/>
      qemu: Implement migration job phases (Jiri Denemark),<br/>
      bandwidth: Integrate bandwidth into portgroups (Michal Privoznik),<br/>
      tools: format percent strings of nodecpustats (Alex Jia),<br/>
      set cpu bandwidth for the vm (Wen Congyang),<br/>
      virsh: use faster bit search (Eric Blake),<br/>
      virsh: make vcpucount use --current consistently (Eric Blake),<br/>
      vcpu: teach getVcpusFlags about current (Eric Blake),<br/>
      util: change virFile*Pid functions to return &lt; 0 on failure (Laine Stump),<br/>
      rename cfs_* to vcpu_* (Wen Congyang),<br/>
      python: add Python binding for virDomainGetVcpuPinInfo API (Taku Izumi),<br/>
      python: add Python binding for virDomainPinVcpusFlags API (Taku Izumi),<br/>
      python: add Python binding for virDomainGetSchedulerParametersFlags API (Taku Izumi),<br/>
      python: add Python binding for virDomainGetSchedulerParametersFlags API (Taku Izumi),<br/>
      tests: detect gnutls errors (Eric Blake),<br/>
      bandwidth: Add domain schema and xml2xml tests (Michal Privoznik),<br/>
      bandwidth: Add test cases for network (Michal Privoznik),<br/>
      bandwidth: Implement functions to enable and disable QoS (Michal Privoznik),<br/>
      bandwidth: Create format functions (Michal Privoznik),<br/>
      bandwidth: Add parsing and free functions (Michal Privoznik),<br/>
      bandwidth: Declare internal structures (Michal Privoznik),<br/>
      bandwidth: Define schema and create documentation (Michal Privoznik),<br/>
      network: provide internal API to return IP of a network (Laine Stump),<br/>
      util: add an ifaceGetIPAddress to the interface utilities (Laine Stump),<br/>
      Pre-create /var/lib/libvirt/sanlock directory (Daniel P. Berrange),<br/>
      Refactor mounting of special filesystems (Daniel P. Berrange),<br/>
      Pull code for doing a bind mount into separate method (Daniel P. Berrange),<br/>
      Fix typos in daemon config file from previous commit (Daniel P. Berrange),<br/>
      Add a test case for certificate validation (Daniel P. Berrange),<br/>
      Allow certificate sanity checking to be disabled (Daniel P. Berrange),<br/>
      remote/ssh: optional "keyfile" parameter. (Oskari Saarenmaa),<br/>
      util: make interface.c functions consistently return &lt; 0 on error (Laine Stump),<br/>
      Refactor the certification validation code (Daniel P. Berrange),<br/>
      Remove call to deprecated gnutls_certificate_type_set_priority (again) (Daniel P. Berrange),<br/>
      Ensure that libvirtd shuts down if initialization fails (Daniel P. Berrange),<br/>
      Asynchronous event for BlockJob completion (Adam Litke),<br/>
      Enable virDomainBlockPull in the python API (Adam Litke),<br/>
      Enable the virDomainBlockPull API in virsh (Adam Litke),<br/>
      Implement virDomainBlockPull for the qemu driver (Adam Litke),<br/>
      Add virDomainBlockPull support to the remote driver (Adam Litke),<br/>
      virDomainBlockPull: Implement the main entry points (Adam Litke),<br/>
      save: add virsh commands for manipulating save files (Eric Blake),<br/>
      save: wire up remote protocol (Eric Blake),<br/>
      save: support bypass-cache flag in libvirt-guests init script (Eric Blake),<br/>
      save: support bypass-cache flag in qemu.conf (Eric Blake),<br/>
      save: support BYPASS_CACHE during qemu save/restore (Eric Blake),<br/>
      save: add virFileDirectFd wrapper type (Eric Blake),<br/>
      save: let iohelper work on O_DIRECT fds (Eric Blake),<br/>
      save: let iohelper handle inherited fd (Eric Blake),<br/>
      save: support --xml to virsh save/restore (Eric Blake),<br/>
      save: add --bypass-cache flag to virsh save/restore operations (Eric Blake),<br/>
      save: wire up trivial save/restore flags implementations (Eric Blake),<br/>
      error: add new error type for reflecting partial API support (Eric Blake),<br/>
      network: internal API functions to manage assignment of physdev to guest (Laine Stump),<br/>
      qemu: use virDomainNetGetActual*() in qemuDomainXMLToNative (Laine Stump),<br/>
      qemu: use virDomainNetGetActual*() functions where appropriate (Laine Stump),<br/>
      network: separate Start/Shutdown functions for new network types (Laine Stump),<br/>
      conf: support abstracted interface info in network XML (Laine Stump),<br/>
      conf: support abstracted interface info in domain interface XML (Laine Stump),<br/>
      conf: virDomainNetDef points to (rather than contains) virtPortProfile (Laine Stump),<br/>
      conf: put virtPortProfile struct / functions in a common location (Laine Stump),<br/>
      destroy: Implement internal API for xenapi driver (Michal Privoznik),<br/>
      destroy: Implement internal API for xen driver (Michal Privoznik),<br/>
      destroy: Implement internal API for vmware driver (Michal Privoznik),<br/>
      destroy: Implement internal API for vbox driver (Michal Privoznik),<br/>
      destroy: Implement internal API for uml driver (Michal Privoznik),<br/>
      destroy: Implement internal API for phyp driver (Michal Privoznik),<br/>
      destroy: Implement internal API for openvz driver (Michal Privoznik),<br/>
      destroy: Implement internal API for lxc driver (Michal Privoznik),<br/>
      destroy: Implement internal API for libxl driver (Michal Privoznik),<br/>
      destroy: Implement internal API for ESX driver (Michal Privoznik),<br/>
      destroy: Implement internal API for qemu driver (Michal Privoznik),<br/>
      destroy: Wire up the remote protocol (Michal Privoznik),<br/>
      destroy: Define new public API virDomainDestroyFlags (Michal Privoznik),<br/>
      save: wire up remote protocol (Eric Blake),<br/>
      save: new public API to bypass file system cache on save/restore (Eric Blake),<br/>
      build: rename files.h to virfile.h (Eric Blake),<br/>
      command: move all docs into .c file (Eric Blake),<br/>
      rpc: Make the dispatch generator handle 'void name(void)' style procedures (Matthias Bolte),<br/>
      python: Fix makefile rule for code generation (Matthias Bolte),<br/>
      qemu: Implement cfs_period and cfs_quota's modification (Wen Congyang),<br/>
      qemu: Implement period and quota tunable XML configuration and parsing (Wen Congyang),<br/>
      Update XML Schema for new entries (Wen Congyang),<br/>
      cgroup: Implement cpu.cfs_period_us and cpu.cfs_quota_us tuning API (Wen Congyang),<br/>
      Introduce the function virCgroupForVcpu (Wen Congyang),<br/>
      qemu: send-key: Implement the driver methods (Lai Jiangshan),<br/>
      send-key: Expose the new API in virsh (Lai Jiangshan),<br/>
      util: add virtkeycode module (Lai Jiangshan),<br/>
      util: Add keymaps.csv (Lai Jiangshan),<br/>
      Fix checking of key usage/purpose data (Daniel P. Berrange),<br/>
      Fix mixed up error messages when reporting TLS certificate problems (Daniel P. Berrange),<br/>
      undefine: Extend virsh undefine to support the new flag (Osier Yang),<br/>
      undefine: Implement undefineFlags for all other drivers (Osier Yang),<br/>
      undefine: Implement internal API for libxl driver (Osier Yang),<br/>
      undefine: Implement internal API for qemu driver (Osier Yang),<br/>
      undefine: Wire up the remote protocol (Osier Yang),<br/>
      undefine: Define the new API (Osier Yang),<br/>
      Add sanity checking of basic constraints, key purpose &amp; key usage (Daniel P. Berrange),<br/>
      Add some basic sanity checking of certificates before use (Daniel P. Berrange),<br/>
      Add an explicit virNetClientClose method (Daniel P. Berrange),<br/>
      Add some debugging for virNetClient reference counting (Daniel P. Berrange),<br/>
      build: detect doc generation failure (Eric Blake),<br/>
      Unregister event callback if a fatal error occurs during dispatch (Daniel P. Berrange),<br/>
      Quieten build &amp; ensure API build scripts exit with non-zero status (Daniel P. Berrange),<br/>
      virsh: Extend virsh dominfo to display if managed save image exists (Osier Yang),<br/>
      libvirt: do not mix internal flags into public API (Eric Blake),<br/>
      rpc: Fix typos in rpc generator scripts (Osier Yang),<br/>
      build: also track RPC on-wire enum values (Eric Blake),<br/>
      build: add syntax check for proper flags use (Eric Blake),<br/>
      xen: reject unknown flags (Eric Blake),<br/>
      esx: reject unknown flags (Eric Blake),<br/>
      virsh: improve option handling (Eric Blake),<br/>
      flags: fix domain_conf migration regression (Eric Blake),<br/>
      flags: fix qemu migration regression (Eric Blake),<br/>
      flags: use common dumpxml flags check (Eric Blake),<br/>
      add --cache, --serial, --shareable and --address to attach-disk (Hu Tao),<br/>
      Fix error message for missing TLS write function (Daniel P. Berrange),<br/>
      Fix reporting of cert validation failures (Daniel P. Berrange),<br/>
      Fix error code for storage operations (Dave Allan),<br/>
      setvcpus: add "--current" option to "virsh setvcpus" (Taku Izumi),<br/>
      setvcpus: extend qemuDomainSetVcpusFlags() to support current flag (Taku Izumi),<br/>
      setvcpus: extend virDomainSetVcpusFlags API to support current flag (Taku Izumi),<br/>
      Add domain events support to UML driver (Daniel P. Berrange),<br/>
      virnetsocket: use new API for uniform child cleanup (Eric Blake),<br/>
      fdstream: avoid child process leak on error (Eric Blake),<br/>
      command: introduce virPidWait, virPidAbort (Eric Blake),<br/>
      update apparmor security driver for new udev paths (Jamie Strandboge),<br/>
      xenapi: Improve error reporting in xenapiOpen (Matthias Bolte),<br/>
      build: fix VPATH build of todo (Eric Blake),<br/>
      build: check for virnetprotocol on-the-wire stability (Eric Blake),<br/>
      build: disable some drivers when building without libvirt daemon (Wen Congyang),<br/>
      build: avoid ATTRIBUTE_UNUSED in headers (Eric Blake),<br/>
      remote: prefer unsigned flags (Eric Blake),<br/>
      conf: delete unused flags arguments (Eric Blake),<br/>
      virsh: fix previous patch (Jiri Denemark),<br/>
      virsh: Make "DEBUG" loglevel the superset (Supriya Kannery),<br/>
      virsh: Avoid using magic numbers for logging (Supriya Kannery),<br/>
      build: don't hand-roll cloexec code (Eric Blake),<br/>
      conf: prefer unsigned flags (Eric Blake),<br/>
      python: prefer unsigned flags (Eric Blake),<br/>
      node_device: avoid implicit int (Eric Blake),<br/>
      virsh, daemon: prefer unsigned flags (Eric Blake),<br/>
      xenapi: reject unknown flags (Eric Blake),<br/>
      vmware: reject unknown flags (Eric Blake),<br/>
      vbox: reject unknown flags (Eric Blake),<br/>
      uml: reject unknown flags (Eric Blake),<br/>
      test: reject unknown flags (Eric Blake),<br/>
      qemu: reject unknown flags (Eric Blake),<br/>
      phyp: reject unknown flags (Eric Blake),<br/>
      openvz: reject unknown flags (Eric Blake),<br/>
      lxc: reject unknown flags (Eric Blake),<br/>
      libxl: reject unknown flags (Eric Blake),<br/>
      qemu: build failed due to unused variables (Peter Krempa),<br/>
      storage: reject unknown flags (Eric Blake),<br/>
      node_device: reject unknown flags (Eric Blake),<br/>
      util: reject unknown flags, and prefer unsigned flags (Eric Blake),<br/>
      libvirt-qemu: use unsigned flags (Eric Blake),<br/>
      maint: print flags in hex during debug (Eric Blake),<br/>
      maint: exclude more files from syntax check (Eric Blake),<br/>
      util: honor anchored names when searching for executables (Eric Blake),<br/>
      Remove unused virNetServerProgramErrorHander typedef (Daniel P. Berrange),<br/>
      qemu: Consolidate qemuMigrationPrepare{Direct,Tunnel} (Jiri Denemark),<br/>
      qemu: Add support for job phase (Jiri Denemark),<br/>
      qemu: Recover from interrupted jobs (Jiri Denemark),<br/>
      qemu: Save job type in domain status XML (Jiri Denemark),<br/>
      qemu: Allow all query commands to be run during long jobs (Jiri Denemark),<br/>
      qemu: Consolidate {Enter,Exit}Monitor{,WithDriver} (Jiri Denemark),<br/>
      qemu: Consolidate BeginJob{,WithDriver} into a single method (Jiri Denemark),<br/>
      qemu: Separate job related data into a new object (Jiri Denemark),<br/>
      maint: avoid incremental 'make syntax-check' failure (Eric Blake),<br/>
      Skip bugs which are CLOSED in todo list (Daniel P. Berrange),<br/>
      Add missing cleanup for transient guests in UML driver (Daniel P. Berrange),<br/>
      Add auditing to the UML driver (Daniel P. Berrange),<br/>
      Add auditing to the LXC driver (Daniel P. Berrange),<br/>
      Add virtualization type in audit messages (Daniel P. Berrange),<br/>
      Add auditing of filesystems (Daniel P. Berrange),<br/>
      Move qemu_audit.h helpers into shared code (Daniel P. Berrange),<br/>
      rpc: Fix compile error due to potentially unused parameter (Matthias Bolte),<br/>
      Add monitor API for checking whether KVM is enabled (Daniel P. Berrange),<br/>
      Add a method for extracting QEMU argv from /proc (Daniel P. Berrange),<br/>
      Change extract pidfile &amp; monitor config from QEMU command line (Daniel P. Berrange),<br/>
      Keep pidfile path in qemuDomainObjPrivate struct (Daniel P. Berrange),<br/>
      Add a new 'virsh qemu-attach' command. (Daniel P. Berrange),<br/>
      Define remote wire protocol &amp; impls for virDomainQemuAttach (Daniel P. Berrange),<br/>
      Define a QEMU specific API to attach to a running QEMU process (Daniel P. Berrange),<br/>
      qemu: update configuration file (Alex Jia),<br/>
      maint: rename virtaudit to match file contents (Eric Blake),<br/>
      remote/ssh: support for no_verify. (Oskari Saarenmaa),<br/>
      build: also check qemu_protocol for on-the-wire stability (Eric Blake),<br/>
      build: avoid requiring -lm (Eric Blake),<br/>
      Remove code no longer used after commit df0b57a9 (Jim Fehlig),<br/>
      Add domain type checking (Matthias Bolte),<br/>
      tests: simplify formatting (Eric Blake),<br/>
      Do not drop kernel cmdline for xen pv domains (Jim Fehlig),<br/>
      RPC: fix argument's name (Wen Congyang),<br/>
      fix typo error (Wen Congyang),<br/>
      vbox: Fix logic in storage driver open function (Matthias Bolte),<br/>
      tests: Improve output of tests that decide to skip at runtime (Matthias Bolte),<br/>
      tests: Fix compressed test output padding logic (Matthias Bolte),<br/>
      tests: Use EXIT_AM_SKIP instead of 77 directly (Matthias Bolte),<br/>
      rpc: Fix whitespace problem in generated code (Matthias Bolte),<br/>
      sanlock: avoid lockspace setup when auto_disk_lease is off (Federico Simoncelli),<br/>
      libvirtd: diagnose explicitly requested but missing conf file (Eric Blake),<br/>
      qemu: clean up OOM checks (Michael Santos),<br/>
      graphics: add support for action_if_connected in qemu (Michal Privoznik),<br/>
      microblaze: Add architecture support (John Williams),<br/>
      util: drop unused safezero argument (Eric Blake),<br/>
      conf: prefer unsigned int for flags (Eric Blake),<br/>
      drivers: prefer unsigned int for flags (Eric Blake),<br/>
      public API: prefer unsigned int for flags (Eric Blake),<br/>
      maint: print flags in hex during debug (Eric Blake),<br/>
      build: use gnulib pthread_sigmask (Eric Blake),<br/>
      util: rename err_exit to cleanup in interface.c (Laine Stump),<br/>
      sysinfo: delete unnecessary white space of sysinfo. (Minoru Usui),<br/>
      util: add virTrimSpaces (Eric Blake),<br/>
      util: fix virSkipSpaces (Eric Blake),<br/>
      Reduce code duplication in virFileMakePath(Helper) (Matthias Bolte),<br/>
      apparmor: Finish incomplete renaming of relabel to norelabel (Matthias Bolte),<br/>
      Fix default value of security label 'relabel' attribute (Daniel P. Berrange),<br/>
      Fix return value semantic of virFileMakePath (Matthias Bolte),<br/>
      nodedev: Let check_fc_host_linux report errors to the caller (Matthias Bolte),<br/>
      xml: create an RNG file for common types and move some definitions there (Laine Stump),<br/>
      docs: sort the file list in the schemas Makefile (Laine Stump),<br/>
      qemu: check flags in qemuDomainGetXMLDesc (Laine Stump),<br/>
      conf: fix domain parse flags (Laine Stump),<br/>
      conf: Fix declaration of virNetworkDNS(Hosts)Def struct (Matthias Bolte),<br/>
      Allow for resource relabelling with static labels (Daniel P. Berrange),<br/>
      Allow a base label to be specified in dynamic labelling mode (Daniel P. Berrange)
      </li>

      <li>Cleanups:<br/>
      qemu: silence coverity false positives (Eric Blake),<br/>
      interface: drop dead code (Eric Blake),<br/>
      rpc: silence coverity false positives (Eric Blake),<br/>
      build: silence coverity false positives (Eric Blake),<br/>
      qemu: remove dead code (Eric Blake),<br/>
      maint: add missing copyright notices (Eric Blake),<br/>
      xen: drop unused callbacks (Eric Blake),<br/>
      build: avoid type-punning compiler warning (Eric Blake),<br/>
      tests: fix compilation failures (Eric Blake),<br/>
      build: Use $(PYTHON) instead of python for the keycode map generator (Matthias Bolte),<br/>
      build: fix bugs with destroyFlags patches (Eric Blake),<br/>
      util: define MAX (Laine Stump),<br/>
      maint: fix typos on guaranteed (Eric Blake),<br/>
      build: fix broken build (Eric Blake),<br/>
      maint: fix spelling of Red Hat (Eric Blake),<br/>
      tests: Fix virshtest failure after dominfo changed (Osier Yang)
      </li>
    </ul>
    <h3>0.9.3: Jul 4 2011</h3>
    <ul>
      <li> Features:<br/>
      vcpupin: introduce the new libvirt API (virDomainGetVcpupinInfo) (Taku Izumi),<br/>
      Add TXT record support for virtual DNS service (Michal Novotny),<br/>
      Support reboots with the QEMU driver (Daniel P. Berrange),<br/>
      Introduce virDomainGetControlInfo API (Jiri Denemark),<br/>
      virNodeGetMemoryStats: Expose new API (Minoru Usui),<br/>
      virNodeGetCPUTime: Implement public API (Minoru Usui),<br/>
      send-key: Defining the public API (Lai Jiangshan),<br/>
      vcpupin: introduce a new libvirt API (virDomainPinVcpuFlags) (Taku Izumi),<br/>
      support multifunction PCI device (Wen Congyang),<br/>
      lxc: various improvements (Cole Robinson)
      </li>
      <li> Documentation:<br/>
      Add documentation for configuration lock managers (Daniel P. Berrange),<br/>
      fix indentation of sub-elements of &lt;ip&gt; in network XML (Laine Stump),<br/>
      document correct flag name (Eric Blake),<br/>
      documenting the 802.1Qbh parameters of a 'direct' interface (David S. Wang),<br/>
      Make virConnectClose comply to apibuild.py expectations (Matthias Bolte),<br/>
      fix docs to match behavior of virConnectClose (Eric Blake),<br/>
      numatune: Add doc for new numatune XML (Osier Yang),<br/>
      Fix documentation of virStreamRecv (Matthias Bolte),<br/>
      updated list of applications using libvirt. (Ohad Levy),<br/>
      improve VIR_DOMAIN_AFFECT_CURRENT description (Eric Blake),<br/>
      Add doc for video element (Osier Yang),<br/>
      Make hvsupport.pl pick up the host device drivers (Matthias Bolte)
      </li>
      <li> Portability:<br/>
      Explicitely invoke python for API doc generator (Daniel Veillard),<br/>
      fix virParseVersionString with linux 3.0 (Scott Moser),<br/>
      Add conditionals to allow build without SASL (Daniel P. Berrange),<br/>
      Add missing include of signal.h in virnetsocket.c (Daniel P. Berrange),<br/>
      Fix compilation with systemtap 1.3 (Matthias Bolte),<br/>
      build: fix mingw build (Eric Blake),<br/>
      daemon: Fix build without polkit (Jiri Denemark),<br/>
      build: fix 'make check' when pdwtags is available (Eric Blake),<br/>
      build: sanlock-devel is not in F15 yet (Eric Blake),<br/>
      Only include parthelper if built with storage_disk (Ruben Kerkhof),<br/>
      build: fix VPATH builds (Eric Blake),<br/>
      python: Don't declare Py_ssize_t for Python 2.6 (Matthias Bolte),<br/>
      build: avoid python 2.4 build failure (Eric Blake),<br/>
      build: fix NUMA build on RHEL 5 (Eric Blake),<br/>
      build: avoid python 2.4 build failure (Eric Blake),<br/>
      build: avoid compiler failure (Eric Blake),<br/>
      build: fix compilation on systems missing libnl and new includes (Stefan Berger),<br/>
      configure: Make libnl optional unless macvtap is required (Matthias Bolte),<br/>
      build: require newer netcf when it is available (Eric Blake),<br/>
      build: fix building error when building without libvirtd (Wen Congyang),<br/>
      Skip nodeinfo test on non intel architectures (Guido Günther),<br/>
      Fix dlopen dependency (Matthias Bolte),<br/>
      virt-aa-helper: add missing include (Eric Blake)
      </li>

      <li> Bug Fixes:<br/>
      initialize pointer to NULL (Wen Congyang),<br/>
      storage: avoid crash on parse error (Eric Blake),<br/>
      vmware: avoid null deref on failed lookup (Eric Blake),<br/>
      qemu: avoid null deref on low memory (Eric Blake),<br/>
      rpc: avoid memory leak on error (Eric Blake),<br/>
      rpc: fix logic bug (Eric Blake),<br/>
      pci: avoid memory leak on error (Eric Blake),<br/>
      interface: avoid memory leak on parse error (Eric Blake),<br/>
      libvirtd: avoid memory leak on OOM (Eric Blake),<br/>
      build: avoid double-close bug with pipe2 (Eric Blake),<br/>
      rpc: avoid freeing uninitialized variable (Eric Blake),<br/>
      virsh: avoid uninitialized variable (Eric Blake),<br/>
      virsh: avoid integer overflow (Eric Blake),<br/>
      Fix stream procedure number for virDomainMigratePrepareTunnel3 (Daniel P. Berrange),<br/>
      Fix release of virNetMessagePtr instances in streams processing (Daniel P. Berrange),<br/>
      Fix potential crash when saving guests (Daniel P. Berrange),<br/>
      Fix uninitialized value in QEMU monitor FD sending code (Daniel P. Berrange),<br/>
      Fix leak of JSON object for events (Daniel P. Berrange),<br/>
      Fix use of uninitialized memory when releasing PCI slots (Daniel P. Berrange),<br/>
      Fix leak of virStreamPtr object with callback added in fdstream impl (Daniel P. Berrange),<br/>
      Fix leak of mdnsGroupName in virNetServer object (Daniel P. Berrange),<br/>
      Fix release of filtered stream messages (Daniel P. Berrange),<br/>
      save domain status after modifing vcpupin (Wen Congyang),<br/>
      Fix memory leak in virDomainVcpuPinDel() (Wen Congyang),<br/>
      sysinfo: fix illegal NULL return (Minoru Usui),<br/>
      Fix locking wrt virNetClientStreamPtr object (Daniel P. Berrange),<br/>
      Avoid referencing NULL pointer when copying stream error (Daniel P. Berrange),<br/>
      Avoid free'ing a filtered RPC message in the server (Daniel P. Berrange),<br/>
      Ensure empty payload is written upon stream completion (Daniel P. Berrange),<br/>
      Fix propagation of RPC errors from streams (Daniel P. Berrange),<br/>
      Fix crash when aborting a stream from a I/O callback (Daniel P. Berrange),<br/>
      dnsmasq: Fix errno handling and don't unlink non-existing files (Matthias Bolte),<br/>
      tests: Fix memory leak in virnetmessagetest (Osier Yang),<br/>
      conf: Fix memory leak in virNetworkDNSDefFormat (Osier Yang),<br/>
      sysinfo: fix parsing regression (Eric Blake),<br/>
      remote: fix uninitialized variable (Eric Blake),<br/>
      build: avoid uninitialized variable (Eric Blake),<br/>
      buf: protect against integer overflow (Eric Blake),<br/>
      remote: protect against integer overflow (Eric Blake),<br/>
      Fix typo in libvirt_private.syms (Matthias Bolte),<br/>
      Fix some bugs in RPC protocol make rules (Daniel P. Berrange),<br/>
      Fix job type set in qemuMigrationPrepareDirect/PrepareTunnel (Daniel P. Berrange),<br/>
      Avoid high privileges taint warning for QEMU session driver (Daniel P. Berrange),<br/>
      util: Fix memory leak in virJSONParserHandleStartMap (Osier Yang),<br/>
      qemu: Fix memory leak in qemuProcessWaitForMonitor (Osier Yang),<br/>
      storage: fix volDelete return when volume still being allocated (Matthew Booth),<br/>
      Fix use-after-free in handling domain taint flags (Daniel P. Berrange),<br/>
      qemu: Fix one memory leak (Osier Yang),<br/>
      virsh: avoid bogus description (Eric Blake),<br/>
      set and restore MAC address of a NIC when using PASSTHROUGH mode (Dirk Herrendoerfer),<br/>
      conf: Fix one memory leak (Osier Yang),<br/>
      Add missing checks for NULL in domain lock manager (Daniel P. Berrange),<br/>
      Fix errno return in safezero() (Daniel P. Berrange),<br/>
      Fix allocation of veth's to not skip an index (Daniel P. Berrange),<br/>
      command: avoid double close (Eric Blake),<br/>
      qemu: Fix parsing 'info chardev' (Cole Robinson),<br/>
      vcpupin: Fix cpu affinity setting bug of qemu driver (Taku Izumi),<br/>
      daemon: plug memory leak (Eric Blake),<br/>
      qemu: add missing break statement (Eric Blake),<br/>
      storage: avoid mishandling backing store &gt; 2GB (Eric Blake)

      </li>
      <li> Improvements:<br/>
      tests: Add a general util test (Matthias Bolte),<br/>
      util: choose whether to require micro in version strings (Eric Blake),<br/>
      build: consistently use CFLAGS (Eric Blake),<br/>
      build: simplify sanlock distribution (Eric Blake),<br/>
      build: allow 'make syntax-check' on fresh checkout (Eric Blake),<br/>
      Send back an error if we get unexpected stream control message (Daniel P. Berrange),<br/>
      Add test case for parsing JSON docs (Daniel P. Berrange),<br/>
      Remove bogus warning message in JSON code (Daniel P. Berrange),<br/>
      Ensure RPC message is cleared before being reused (Daniel P. Berrange),<br/>
      Fix hardcoded limit on client requests in RPC code (Daniel P. Berrange),<br/>
      tests: Add valgrind.supp into EXTRA_DIST (Osier Yang),<br/>
      virsh: Fix a problem of buildPoolXML (Osier Yang),<br/>
      lock qemu_driver early in qemuGetSchedulerParametersFlags() (Wen Congyang),<br/>
      build: avoid pod2man on tarball (Eric Blake),<br/>
      Ensure that EOF is dispatched to the stream callback (Daniel P. Berrange),<br/>
      Improve two log messages in virNetMessage (Daniel P. Berrange),<br/>
      Lower logging level when failing to register socket watch (Daniel P. Berrange),<br/>
      screenshot: Set access rights to temporary file (Michal Privoznik),<br/>
      maint: improve makefile whitespace (Eric Blake),<br/>
      network: Don't ignore errors in dnsmasq config file creation (Matthias Bolte),<br/>
      network: Fix dnsmasq hostsfile creation logic and related tests (Matthias Bolte),<br/>
      build: update translated files (Eric Blake),<br/>
      Support automatic creation of leases for disks in sanlock (Daniel P. Berrange),<br/>
      Support loading a configuration file for sanlock plugin (Daniel P. Berrange),<br/>
      Allow per-driver config file for lock manager plugins (Daniel P. Berrange),<br/>
      network: add domain to unqualified names defined with &lt;host&gt; (Laine Stump),<br/>
      Convert libvirtd over to the new RPC handling APIs (Daniel P. Berrange),<br/>
      Convert the remote driver to new RPC client APIs (Daniel P. Berrange),<br/>
      Add XDR_CFLAGS to libvirt-net-rpc.la library (Daniel P. Berrange),<br/>
      Ensure sanlock socket is labelled with the VM process label (Daniel P. Berrange),<br/>
      Add a virSecurityManagerSetProcessFDLabel (Daniel P. Berrange),<br/>
      Rename virSecurityManagerSetFDLabel method (Daniel P. Berrange),<br/>
      Add node prefix to virNodeGet(CPU|Memory)Stats structs and defines (Matthias Bolte),<br/>
      qemu: Fix update device for CURRENT + FORCE flags (Jiri Denemark),<br/>
      nwfilter: Return error message about unresolvable variables (Stefan Berger),<br/>
      build: rename Vcpupin to VcpuPin (Eric Blake),<br/>
      sysinfo: cleanup function/struct names. (Minoru Usui),<br/>
      sysinfo: fix lack of error check in virSysinfoFormat(). (Minoru Usui),<br/>
      tests: Partly fix networkxml2argvtest being configure result dependent (Matthias Bolte),<br/>
      qemu: Remove bogus error codes for NUMA memory tuning (Osier Yang),<br/>
      network: fix indentation in networkBuildDnsmasqArgv (Laine Stump),<br/>
      vcpupin: add query option to virsh vcpupin command (Taku Izumi),<br/>
      vcpuinfo: add the code to fallback to try new API (Taku Izumi),<br/>
      vcpupin: implement the remote protocol to address the new API (Taku Izumi),<br/>
      vcpupin: implement the code to support new API for the qemu driver (Taku Izumi),<br/>
      build: update gnulib for intprops (Eric Blake),<br/>
      Rename iface(G|S)etMacaddr to iface(G|S)etMacAddress for consistency (Matthias Bolte),<br/>
      Network: Add support for DNS hosts definition to the network XML (Michal Novotny),<br/>
      Network: Add additional hosts internal infrastructure (Michal Novotny),<br/>
      Network: Add regression tests for the command-line arguments (Michal Novotny),<br/>
      Network: modify dnsmasq commandline build function to allow testing (Michal Novotny),<br/>
      tests: Improve IPv6 detection for virNetSocket tests (Matthias Bolte),<br/>
      Move load of AppArmor profile to GenLabel() (Jamie Strandboge),<br/>
      Add Memory Device Information to virSysinfoRead() from dmidecode type 17 (Minoru Usui),<br/>
      Add Processor Information to virSysinfoRead() from dmidecode type 4 (Minoru Usui),<br/>
      Cleanup virSysinfoRead() (Minoru Usui),<br/>
      Make sure virnetprotocol.[ch] are in BUILT_SOURCES (Daniel P. Berrange),<br/>
      maint: typo fixes (Eric Blake),<br/>
      Add missing translation of error message from QEMU reboot patch (Daniel P. Berrange),<br/>
      Allow automatic kill of guests when a connection is closed (Daniel P. Berrange),<br/>
      Automatically kill target QEMU if migration aborts abnormally (Daniel P. Berrange),<br/>
      Add infrastructure to automatically destroy guests when a connection closes (Daniel P. Berrange),<br/>
      Move the RPC generator scripts into src/rpc (Daniel P. Berrange),<br/>
      Introduce generic RPC client objects (Daniel P. Berrange),<br/>
      Introduce generic RPC module for advertising via MDNS (Daniel P. Berrange),<br/>
      Introduce generic RPC server objects (Daniel P. Berrange),<br/>
      Integrate TLS/SASL directly into the socket APIs (Daniel P. Berrange),<br/>
      Generic module for handling SASL authentication &amp; encryption (Daniel P. Berrange),<br/>
      Generic module for handling TLS encryption and x509 certs (Daniel P. Berrange),<br/>
      Introduce a generic object for using network sockets (Daniel P. Berrange),<br/>
      Provide a simple object for encoding/decoding RPC messages (Daniel P. Berrange),<br/>
      Defines the basics of a generic RPC protocol in XDR (Daniel P. Berrange),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      python: Generate virStreamFree but don't expose in bindings (Cole Robinson),<br/>
      maint: avoid future setgid problems (Eric Blake),<br/>
      qemu: Only check for NUMA availability if required (Jiri Denemark),<br/>
      util: avoid PATH_MAX-sized array (Eric Blake),<br/>
      xen: avoid PATH_MAX-sized array (Eric Blake),<br/>
      tests: avoid PATH_MAX-sized array (Eric Blake),<br/>
      virStorageVol: avoid PATH_MAX-sized array (Eric Blake),<br/>
      cleanup: make several interface functions commonly available (Stefan Berger),<br/>
      cleanup: make nlComm commonly available (Stefan Berger),<br/>
      maint: remove syntax-check exception (Eric Blake),<br/>
      Remove macvtap dependency on domain configuration (Daniel P. Berrange),<br/>
      util: Correct the error prompt string (Osier Yang),<br/>
      Fix to python API extractor and API doc generation (Daniel Veillard),<br/>
      qemu: domain I/O asynchronous handling (Michal Privoznik),<br/>
      python: Mark event callback wrappers as private (Cole Robinson),<br/>
      python: events: Fix C-&gt;Python handle callback prototype (Cole Robinson),<br/>
      python: Add bindings for virEvent*Handle/Timeout (Cole Robinson),<br/>
      events: Correct virEventAddTimeout docs (Cole Robinson),<br/>
      Promote virEvent*Handle/Timeout to public API (Cole Robinson),<br/>
      python: Implement virStreamSend/RecvAll helpers (Cole Robinson),<br/>
      python: Implement virStreamSend/Recv (Cole Robinson),<br/>
      conf: Make full use of goto label (Osier Yang),<br/>
      python: Implement bindings for virStreamEventAddCallback (Cole Robinson),<br/>
      python: generator: Don't print warning if nothing to warn about (Cole Robinson),<br/>
      python: libvirt-override: use simpler debug (Cole Robinson),<br/>
      virsh: enhance snapshot-create-as (Eric Blake),<br/>
      virsh: add snapshot-create-as command (Eric Blake),<br/>
      virsh: clarify snapshot vs. save (Eric Blake),<br/>
      Fix compile warnings in virsh vcpupin (Daniel P. Berrange),<br/>
      remote generator: Allow to annotate arrays with typecasts (Matthias Bolte),<br/>
      remote: Handle functions that return optional strings (Matthias Bolte),<br/>
      remote: Generate virDomainGetBlockPullInfo (Matthias Bolte),<br/>
      vcpupin: add vcpupin resetting feature to qemu driver (Taku Izumi),<br/>
      vcpupin: add virDomainVcpupinDel function (Taku Izumi),<br/>
      vcpupin: add reset option to virsh vcpupin command (Taku Izumi),<br/>
      vcpupin: improve vcpupin definition of virsh vcpupin (Taku Izumi),<br/>
      Fix preprocessor indentation in nodeinfo.c (Matthias Bolte),<br/>
      Move XenAPI driver to correct spec file section (Matthias Bolte),<br/>
      numatune: Add tests for numatune XML (Osier Yang),<br/>
      numatune: Support NUMA memory tuning in qemu driver (Osier Yang),<br/>
      numatune: Support persistent XML for numatune (Osier Yang),<br/>
      numatune: Define XML schema (Osier Yang),<br/>
      Update qemuDomainSetBlkioParameters to use flags (Hu Tao),<br/>
      update qemuDomainGetBlkioParameters to use flags (Hu Tao),<br/>
      Add new parameters for blkiotune (Hu Tao),<br/>
      apparmor: implement AppArmorSetFDLabel() (Jamie Strandboge),<br/>
      Add missing error reporting when loading mac filter config for QEMU (Daniel P. Berrange),<br/>
      virsh: Add support for virDomainGetControlInfo (Jiri Denemark),<br/>
      qemu: Implement virDomainGetControlInfo (Jiri Denemark),<br/>
      Wire protocol and remote driver for virDomainGetControlInfo (Jiri Denemark),<br/>
      sendkey: use consistent API convention (Eric Blake),<br/>
      build: export correct function names (Eric Blake),<br/>
      build: avoid compiler warning on non-Linux (Eric Blake),<br/>
      remote generator: Handle struct returning functions better (part 2) (Matthias Bolte),<br/>
      Fix apibuild.py warnings about missing comment headers (Matthias Bolte),<br/>
      remote generator: Handle struct returning functions better (Matthias Bolte),<br/>
      support for Xen HVM Viridian (Hyper-V) enlightenment interface (Daniel Gollub),<br/>
      virsh: reduce complexity in argv iteration (Eric Blake),<br/>
      Add support for network filter code in LXC driver (Daniel P. Berrange),<br/>
      qemu: Translate boot config into bootindex if possible (Jiri Denemark),<br/>
      spice: add &lt;clipboard copypaste='yes|no'&gt; option (Marc-André Lureau),<br/>
      virNodeGetMemoryStats: Implement linux support (Minoru Usui),<br/>
      virNodeGetMemoryStats: Implement virsh support (Minoru Usui),<br/>
      virNodeGetMemoryStats: Implement remote protocol (Minoru Usui),<br/>
      virNodeGetMemoryStats: Implement public API (Minoru Usui),<br/>
      virNodeGetMemoryStats: Define internal driver API (Minoru Usui),<br/>
      virNodeGetCPUStats: Implement linux support (Minoru Usui),<br/>
      virNodeGetCPUStats: Implement virsh support (Minoru Usui),<br/>
      virNodeGetCPUStats: Implement remote protocol (Minoru Usui),<br/>
      virNodeGetCPUStats: Define internal driver API (Minoru Usui),<br/>
      virNodeGetCPUStats: Expose new API (Minoru Usui),<br/>
      Fix autostart flag when loading running domains (Michael Chapman),<br/>
      send-key: Implementing the remote protocol (Lai Jiangshan),<br/>
      send-key: Implementing the public API (Lai Jiangshan),<br/>
      send-key: Defining the internal API (Lai Jiangshan),<br/>
      remote generator: Handle (unsigned) int arrays (Lai Jiangshan),<br/>
      add VSH_OFLAG_REQ_OPT options (Lai Jiangshan),<br/>
      allow name for VSH_OT_ARGV options (Lai Jiangshan),<br/>
      storage: avoid an intermediate malloc (Eric Blake),<br/>
      command: reduce duplicated debug messages (Eric Blake),<br/>
      qemu: Scrape stdout for virtio console pty (Cole Robinson),<br/>
      virsh: Add daemon version reporting (Michal Privoznik),<br/>
      nodeinfo: remove superflous braces (Guido Günther),<br/>
      util: Cleanup indention problem in virterror.c (Osier Yang),<br/>
      qemu: Parse current balloon value returned by query_balloon (Osier Yang),<br/>
      Deprecate several CURRENT/LIVE/CONFIG enums (Hu Tao),<br/>
      qemu: Faster response time to qemu startup errors (Stefan Berger),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      vcpupin: add the new option to "virsh vcpupin" command (Taku Izumi),<br/>
      vcpupin: implement the remote protocol to address the new API (Taku Izumi),<br/>
      vcpupin: implement the code to address the new API in the qemu driver (Taku Izumi),<br/>
      Use virTimeMs when appropriate (Jiri Denemark),<br/>
      Introduce virTimeMs for getting current time in ms (Jiri Denemark),<br/>
      test: Remove unused timeval (Jiri Denemark),<br/>
      tests: add a test for multi function PCI device (Wen Congyang),<br/>
      the hotplugged PCI device should use the whole slot (Wen Congyang),<br/>
      assign the whole slot to the PCI device that has no address (Wen Congyang),<br/>
      Reimplement qemuDomainPCIAddressReserveSlot(): reserve all functions in the slot (Wen Congyang),<br/>
      the key of hash table should include the function value (Wen Congyang),<br/>
      prevent hot unplugging multi function PCI device (Wen Congyang),<br/>
      check whether qemu supports multi function PCI device (Wen Congyang),<br/>
      xenapi: Improve error message on session failure (Matthew Booth),<br/>
      qemu: Fix one type in the error prompt string (Osier Yang),<br/>
      Move VMware Workstation/Player driver to correct spec file section (Matthias Bolte),<br/>
      esx: avoid dead code (Eric Blake),<br/>
      qemu: reorder checks for safety (Eric Blake),<br/>
      uuid: annotate non-null requirements (Eric Blake),<br/>
      debug: avoid null dereference on uuid lookup api (Eric Blake),<br/>
      python: avoid unlikely sign extension bug (Eric Blake),<br/>
      build: detect Coverity 5.3.0 (Eric Blake),<br/>
      build: Fix typos in configure.ac (Osier Yang),<br/>
      virsh: Expose virDomainMigrateSetMaxSpeed API to virsh (Osier Yang),<br/>
      lxc: Ensure container &lt;init&gt; actually exists (Cole Robinson),<br/>
      lxc: Verify root fs exists before mounting (Cole Robinson),<br/>
      lxc: controller: Improve container error reporting (Cole Robinson),<br/>
      lxc: Improve guest startup error reporting (Cole Robinson),<br/>
      lxc: Refactor controller command building (Cole Robinson),<br/>
      lxc: Don't report error in Wait/SendContinue (Cole Robinson),<br/>
      lxc: Drop container stdio as late as possible (Cole Robinson),<br/>
      util: Implement virRun as a wrapper around virCommand (Cole Robinson),<br/>
      qemu: Convert virExec usage to virCommand (Cole Robinson),<br/>
      Use VIR_USE_CPU instead of new wheel (Osier Yang),<br/>
      Avoid virGetVersion failure on specific driver support configurations (Matthias Bolte)
      </li>
      <li> Cleanups:<br/>
      cgroup: silence coverity warning (Eric Blake),<br/>
      rpc: silence coverity warning (Eric Blake),<br/>
      qemu: silence coverity warnings (Eric Blake),<br/>
      build: avoid 'make syntax-check' failure (Eric Blake),<br/>
      build: remove dead variables (Eric Blake),<br/>
      Remove bogus jsondata.h file reference which does not exist (Daniel P. Berrange),<br/>
      build: ignore generated file (Eric Blake),<br/>
      build: Don't expect translatable strings in a dead file (Jiri Denemark),<br/>
      Cleanup remote protocol definitions (Daniel P. Berrange),<br/>
      Remove obsolete libvirtd mdns code (Daniel P. Berrange),<br/>
      build: avoid long line tests (Eric Blake),<br/>
      maint: add omitted copyright header (Eric Blake),<br/>
      build: break some long lines (Eric Blake),<br/>
      build: silence coverity false positives (Eric Blake),<br/>
      secret: drop dead code (Eric Blake),<br/>
      build: silence coverity false positive (Eric Blake),<br/>
      Move virRun, virExec*, virFork to util/command (Cole Robinson),<br/>
      util: Remove unused virExec wrapper (Cole Robinson),<br/>
      esx: Remove duplicated invalid-argument checks (Matthias Bolte)
      </li>
    </ul>
    <h3>0.9.2: Jun 6 2011</h3>
    <ul>
      <li> Features:<br/>
      Framework for lock manager plugins (Daniel P. Berrange),<br/>
      API for network config change transactions (Michal Privoznik),<br/>
      flags for setting memory parameters (Hu Tao),<br/>
      virDomainGetState public API (Jiri Denemark),<br/>
      qemu: allow blkstat/blkinfo calls during migration (Federico Simoncelli),<br/>
      Introduce migration v3 API (Daniel P. Berrange),<br/>
      Defining the Screenshot public API (Michal Privoznik),<br/>
      public API for NMI injection (Lai Jiangshan)<br/>
      </li>
      <li> Documentation:<br/>
      esx: Fix driver method version annotations (Matthias Bolte),<br/>
      vbox: Fix typo in error message (Matthias Bolte),<br/>
      virsh: Document nodeinfo output (Jiri Denemark),<br/>
      Correct 'cputune' documentation example. (Neil Wilson),<br/>
      document iface-* commands (Eric Blake),<br/>
      Add initial docs about the lock managers (Daniel P. Berrange),<br/>
      maint: use consistent file name for threading notes (Eric Blake),<br/>
      Fix virTypedParameter alias comments (Matthias Bolte),<br/>
      Fix error syntax of vcpupin example XML (Osier Yang),<br/>
      Automatically generate the hvsupport.html.in file from source files (Daniel P. Berrange),<br/>
      Fix documentation for cputune parameters (Osier Yang),<br/>
      avoid double 'the' (Eric Blake),<br/>
      Add documentation about test suites (Daniel Veillard),<br/>
      updates to CA cert and client cert/key info (Doug Goldstein),<br/>
      node filesystem attr is 'accessmode', not 'mode' (Cole Robinson)<br/>
      </li>
      <li> Portability:<br/>
      vbox: Fix version extraction on Windows for newer VirtualBox versions (Matthias Bolte),<br/>
      Make dlopen usage in lock manager conditional (Matthias Bolte),<br/>
      build: fix VPATH build break from previous patch (Eric Blake),<br/>
      Remove call to deprecated gnutls_certificate_type_set_priority (Daniel P. Berrange),<br/>
      Fix sysinfo/virsh build problems on Win32 (Daniel P. Berrange),<br/>
      Fix build with --with-driver-modules enabled (Matthias Bolte),<br/>
      build: fix 'make dist' for ./configure --without-remote (Eric Blake),<br/>
      virsh: time_t is not a long on FreeBSD (Matthias Bolte),<br/>
      time_t is not a long on FreeBSD, switch internal type to long long (Matthias Bolte),<br/>
      build: avoid strerror_r pitfalls (Eric Blake),<br/>
      build: fix VIR_DEBUG on mingw (Eric Blake),<br/>
      build: generate files when building without libvirtd (Wen Congyang),<br/>
      build: drop unused sys/syslimits.h header (Eric Blake),<br/>
      Fix prototype of virRun for Win32 targets (Daniel P. Berrange),<br/>
      build: tolerate unlimited group size (Eric Blake),<br/>
      Disable virCommandExec on Win32 (Daniel P. Berrange),<br/>
      command: Fix compilation on FreeBSD (Matthias Bolte),<br/>
      apparmor: Fix compilation by removing remains from virCommand conversion (Matthias Bolte),<br/>
      configure: Fix mpath check on non-Linux systems (Matthias Bolte),<br/>
      fix xdr detection and use with recent glibc (Christophe Fergeau),<br/>
      build: avoid gcc preprocessor extensions (Eric Blake),<br/>
      build: fix VPATH build with distributed generated files (Eric Blake),<br/>
      build: fix VPATH builds (Eric Blake)<br/>
      </li>
      <li> Bug Fixes:<br/>
      Fix QEMU p2p v2 migration when run from a v3 client (Daniel P. Berrange),<br/>
      Don't raise an error if the migration cookie is NULL (Daniel P. Berrange),<br/>
      Fix check of virKillProcess return status (Daniel P. Berrange),<br/>
      qemu: Avoid use after free in qemuCaps parsing (Jiri Denemark),<br/>
      security driver: ignore EINVAL when chowning an image file (Laine Stump),<br/>
      migrate: detect xml incompatibility (Eric Blake),<br/>
      event: avoid memory leak on cleanup (Eric Blake),<br/>
      qemu: avoid memory leak on vcpupin (Eric Blake),<br/>
      remote: avoid leak on failure (Eric Blake),<br/>
      lock: avoid leak on failure (Eric Blake),<br/>
      storage: avoid memory leak on stat failure (Eric Blake),<br/>
      storage: avoid memory leak (Eric Blake),<br/>
      libvirtd: avoid leak on failure (Eric Blake),<br/>
      command: avoid leak on failure (Eric Blake),<br/>
      Explicitly set VM state to paused after migration completes (Daniel P. Berrange),<br/>
      Fix regressions BlockStats/Info APIs in QEMU driver (Daniel P. Berrange),<br/>
      Fix minor issues in libxenlight managed save (Jim Fehlig),<br/>
      Fix auditing of disk hotunplug operations (Daniel P. Berrange),<br/>
      Avoid crash on NULL pointer in lock driver impls during hotplug (Daniel P. Berrange),<br/>
      Fix return value in lock manager hotplug methods (Daniel P. Berrange),<br/>
      Make sure virDomainSave/virDomainManagedSave reset id to -1 (Daniel P. Berrange),<br/>
      Fix handling of VIR_EVENT_HANDLE_ERROR in QEMU monitor (Daniel P. Berrange),<br/>
      security: plug regression introduced in disk probe logic (Eric Blake),<br/>
      Fix order of disks and controllers (Jiri Denemark),<br/>
      util: Fix incorrect error in PCI functions (Osier Yang),<br/>
      openvz: Restore original EOF handling in openvzGetProcessInfo (Matthias Bolte),<br/>
      openvz: Handle getline failures in openvzReadConfigParam properly (Matthias Bolte),<br/>
      conf: Fix incorrect spice graphic XML format on compression options (Michal Privoznik),<br/>
      nwfilter: reorder locks (Stefan Berger),<br/>
      openvz: Fix regression in openvzGetVPSUUID (Matthias Bolte),<br/>
      esx: Fix regression in absolute file name handling (Matthias Bolte),<br/>
      openvz: Fix regression in config file parsing (Taisuke Yamada),<br/>
      audit: fix minor off-by-one (Eric Blake),<br/>
      Fix libxl vm def handling on domU cleanup (Markus Groß),<br/>
      Fix modifying disk devices in qemu driver (Markus Groß),<br/>
      json: Avoid passing large positive 64 bit integers to QMP. (Richard W.M. Jones),<br/>
      Fix initialization of current vcpus in libxl driver (Jim Fehlig),<br/>
      qemu: Don't change ownership of file when appending to it (Michal Privoznik),<br/>
      qemu: fix typo in name - should be VHOST_NET, not VNET_HOST (Laine Stump),<br/>
      Fix QEMU -vnc arg generation with raw IPv6 addresses (Daniel P. Berrange),<br/>
      Fix peer2peer migration with transient VMs (Daniel P. Berrange),<br/>
      python: Don't free must-not-free variables (Michal Privoznik),<br/>
      python: Fix typo in bindings (Michal Privoznik),<br/>
      libvirt.spec: /var/cache/libvirt should be 0711. (Richard W.M. Jones),<br/>
      remote: remove bogus virDomainFree. (Richard W.M. Jones),<br/>
      qemudDomainMemoryPeek: change ownership/selinux label on temporary file. (Richard W.M. Jones),<br/>
      Fix QEMU migration cookie crash for guests with no graphics (Daniel P. Berrange),<br/>
      Blank out the 'listenAddr' parameter if empty string (Daniel P. Berrange),<br/>
      Improve invalid argument checks for the public API (Matthias Bolte),<br/>
      qemu: fix typo in spice migration code (Michal Privoznik),<br/>
      openvz: fix logic bug in previous patch (Eric Blake),<br/>
      Fix error reporting in stream creation code (Matthias Bolte),<br/>
      virsh: Correctly initialize libvirt (Jiri Denemark),<br/>
      Fix leak of mime type string in screenshot dispatcher (Daniel P. Berrange),<br/>
      Fix remote dispatcher for screenshot command (Daniel P. Berrange),<br/>
      Add missing initialization to 'ret' in qemu migration (Daniel P. Berrange),<br/>
      Close all sockets before cancelling QEMU migration (Daniel P. Berrange),<br/>
      Ensure we always read a full buffer in tunnelled migration (Daniel P. Berrange),<br/>
      phyp: avoid a crash (Eric Blake),<br/>
      stream: avoid use-after-free (Eric Blake),<br/>
      virsh: Fix uninitialized variable warning (Matthias Bolte),<br/>
      libxl: fix typos in previous patch (Eric Blake),<br/>
      node_device: avoid null dereference on error (Eric Blake),<br/>
      tests: avoid crash when run under gcov (Eric Blake),<br/>
      Fix two uninitialized variable warnings (Matthias Bolte),<br/>
      apparmor: Fix uninitalized variable warning in virt-aa-helper (Matthias Bolte),<br/>
      Fix qemuMigrationToFile nonull annotation (Daniel P. Berrange)<br/>
      </li>
      <li> Improvements:<br/>
      API: consolidate common unreleased enums (Eric Blake),<br/>
      uml: correct command line networking parameters (Heath Petersen),<br/>
      Add call to sanlock_restrict() in QEMU lock driver (Daniel P. Berrange),<br/>
      screenshot: Expose the new API in virsh (Michal Privoznik),<br/>
      libxl: adds managed save and restore support (Markus Groß),<br/>
      libxl: get maximum memory of running domain (Markus Groß),<br/>
      Add a plugin for the 'sanlock' project (Daniel P. Berrange),<br/>
      Allow leases to be hotpluged with QEMU guests (Daniel P. Berrange),<br/>
      Support passing QEMU lock state to dest during migration (Daniel P. Berrange),<br/>
      Integrate the QEMU driver with the lock manager infrastructure (Daniel P. Berrange),<br/>
      Add higher level lock API for domain objects (Daniel P. Berrange),<br/>
      Add a 'nop' lock driver implementation. (Daniel P. Berrange),<br/>
      Support leases in guest XML and lock manager (Daniel P. Berrange),<br/>
      Allow handshake with child process during startup (Daniel P. Berrange),<br/>
      tests: really fix QEMU XML-2-ARGV graphics-spice-timeout test (Eric Blake),<br/>
      build: avoid corrupting / in RHEL 5 (Eric Blake),<br/>
      tests: Add a test for correct disk device ordering (Jiri Denemark),<br/>
      Fix QEMU XML-2-ARGV graphics-spice-timeout test (Matthias Bolte),<br/>
      remote generator: Handle some virTypedParameterPtr using functions (Matthias Bolte),<br/>
      apibuild: Restrict long usage to existing functions and structs (Matthias Bolte),<br/>
      remote generator: Legacy support for hyper to long mappings (Matthias Bolte),<br/>
      Use common parameter order for remote(De)SerializeTypedParameters (Matthias Bolte),<br/>
      openvz: Add simple test for openvzReadNetworkConf (Matthias Bolte),<br/>
      openvz: Set virtType to openvz in openvzLoadDomains (Matthias Bolte),<br/>
      storage: List directory volumes for dir/fs/netfs pools (Cole Robinson),<br/>
      tests: Add more complex domain scheme test data (Michal Privoznik),<br/>
      tests: Test for SPICE compression options (Michal Privoznik),<br/>
      Ignore backward compatibility macros in apibuild.py (Matthias Bolte),<br/>
      openvz: fix bridge devices parsing in openvzReadNetworkConf() (Jean-Baptiste Rouault),<br/>
      Allow custom XML to be passed in during migration (Daniel P. Berrange),<br/>
      Allow virsh to pass in a custom XML document for migration (Daniel P. Berrange),<br/>
      Add an API for comparing the ABI of two guest configurations (Daniel P. Berrange),<br/>
      Remove unused 'target' field in virDomainHostdevDef (Daniel P. Berrange),<br/>
      lxc: Seperate domain config loading (Osier Yang),<br/>
      openvz: Automatically disable on non-Linux systems (Matthias Bolte),<br/>
      Support maximum and current memory flags in libxl driver (Markus Groß),<br/>
      Add domainSave/Restore to libxl driver (Markus Groß),<br/>
      Add domainCoreDump to libxl driver (Markus Groß),<br/>
      Populate domid field of devices for libxenlight (Markus Groß),<br/>
      Issue full error messages when processing QEMU monitor I/O (Daniel P. Berrange),<br/>
      Don't kill QEMU process when a monitor I/O parsing error occurs (Daniel P. Berrange),<br/>
      Introduce a new event emitted when a virtualization failure occurs (Daniel P. Berrange),<br/>
      sched: provide new API shims for remaining drivers (Eric Blake),<br/>
      virsh: improve schedinfo querying ability (Eric Blake),<br/>
      remote: introduce remoteGetSchedulerParametersFlags (Eric Blake),<br/>
      qemu: introduce qemuGetSchedulerParametersFlags (Eric Blake),<br/>
      sched: introduce virDomainGetSchedulerParametersFlags (Eric Blake),<br/>
      remote: consolidate typed parameter handling (Eric Blake),<br/>
      maint: prefer newer API names internally (Eric Blake),<br/>
      libvirt.h: avoid regression, and document preferred name (Eric Blake),<br/>
      Fix virExecWithHook Prototype (Richard Laager),<br/>
      interface: reformat error logs (Laine Stump),<br/>
      interface: implement a test driver for network config transaction API. (Michal Privoznik),<br/>
      interface: Implement driver methods for network config transaction API (Michal Privoznik),<br/>
      interface: expose network config transaction API to virsh (Michal Privoznik),<br/>
      interface: implement remote protocol for network config transaction API (Michal Privoznik),<br/>
      interface: implement public APIs for libvirt transactional network changes (Michal Privoznik),<br/>
      interface: define internal driver API for network config transactions (Michal Privoznik),<br/>
      sexpr: Improve serialization error reporting (Matthias Bolte),<br/>
      qemu: implement the new flags for setting memory parameters (Hu Tao),<br/>
      qemu: implement the new flags for getting memory parameters (Hu Tao),<br/>
      qemu : support persistent add/delete network interface (KAMEZAWA Hiroyuki),<br/>
      openvz: Add simple testcase for config file parsing function (Matthias Bolte),<br/>
      Add disk attach/detach support to libxl driver (Markus Groß),<br/>
      Refactored libxl datastructure instantiation (Markus Groß),<br/>
      schema: Add graphics element passwdValidTo attribute to schema (Michal Privoznik),<br/>
      Fix sign mismatches between public API, driver API and XDR protocol (Matthias Bolte),<br/>
      remote generator: Fix XDR sign mismatch for virNodeGet(Cells)FreeMemory (Matthias Bolte),<br/>
      remote generator: Handle stream-using functions (Matthias Bolte),<br/>
      remote generator: Make call-by-reference handling stricter (Matthias Bolte),<br/>
      remote generator: Rename virNodeGetCellsFreeMemory parameters to common pattern (Matthias Bolte),<br/>
      remote generator: Handle virDomainCreateWithFlags (Matthias Bolte),<br/>
      Allow to explicitly disable the secrets a directory storage driver (Matthias Bolte),<br/>
      Fix the signature of virDomainMigrateFinish3 for error reporting (Daniel P. Berrange),<br/>
      Fix preservation of errors across migration steps (Daniel P. Berrange),<br/>
      Improve debug logging of migration APIs (Daniel P. Berrange),<br/>
      Fix error propagation in finish method for v3 migration (Daniel P. Berrange),<br/>
      Fix SPICE seamless migration hostname (Daniel P. Berrange),<br/>
      Fix resume on destination when doing non-live tunnelled migration (Daniel P. Berrange),<br/>
      Introduce two method migration APIs (Daniel P. Berrange),<br/>
      Add a second URI parameter to virDomainMigratePerform3 method (Daniel P. Berrange),<br/>
      Extend v3 migration protocol to allow app supplied XML for target (Daniel P. Berrange),<br/>
      esx: Report an error when auth pointer is missing instead of declining (Matthias Bolte),<br/>
      Perform feature flag compat checking in QEMU migration cookies (Daniel P. Berrange),<br/>
      Replace all remaining setgid/setuid calls with virSetUIDGID (Jiri Denemark),<br/>
      util: Keep errno set to the root error after when returning from virSetUIDGID (Jiri Denemark),<br/>
      storage: Add comment to picking return value of qemu-img (Michal Privoznik),<br/>
      spice: support streaming-video parameter (Alon Levy),<br/>
      nwfilter: enable filtering of gratuitous ARP packets (Stefan Berger),<br/>
      qemu: don't require is_kvm for vhost-net support (Laine Stump),<br/>
      Use per-user TLS certificates when possible (Doug Goldstein),<br/>
      storage: pick return value of qemu-img (Michal Privoznik),<br/>
      remote generator: Add special case for virConnectGetType (Matthias Bolte),<br/>
      remote generator: Don't rely on $_ being stable over a large function (Matthias Bolte),<br/>
      build: require newer gettext (Eric Blake),<br/>
      virsh: Use Env variables for debug level and logfile (Supriya Kannery),<br/>
      Don't generate cookies with v2 migration protocol. (Daniel P. Berrange),<br/>
      Ensure p2p and direct migration use the new v3 protocol if available (Daniel P. Berrange),<br/>
      remote: remove special case for getting version (Eric Blake),<br/>
      virsh: optimize creation of default connection (Eric Blake),<br/>
      Clarify that virDomainGet(Memory|Blkio)Parameters doesn't support subsets (Matthias Bolte),<br/>
      Clarify that virDomainSet(Memory|Blkio)Parameters can take parameter subsets (Matthias Bolte),<br/>
      Clarify that virDomainSetSchedulerParameters(Flags) can take subsets (Matthias Bolte),<br/>
      Clarify the semantic of virDomainGetSchedulerParameters arguments (Matthias Bolte),<br/>
      Clarify semantic of nparams argument of virDomainGetSchedulerType (Matthias Bolte),<br/>
      Fix messages using VIR_ERR_XML_ERROR (Cole Robinson),<br/>
      libvirt.h: consolidate typed parameter handling (Eric Blake),<br/>
      build: update to latest gnulib (Eric Blake),<br/>
      Add support for 'passthru' mode for direct network interfaces (Dirk Herrendorefer),<br/>
      virsh: add parameters --live, --config and --current to cmd schedinfo (Hu Tao),<br/>
      remote: introduce remoteSetSchedulerParametersFlags (Hu Tao),<br/>
      qemu: introduce qemuSetSchedulerParametersFlags (Hu Tao),<br/>
      sched: adjust parameter values to make current = 0 (Eric Blake),<br/>
      introduce virDomainSetSchedulerParametersFlags (Hu Tao),<br/>
      storage_backend: Convert virRunWithHook usage to virCommand (Cole Robinson),<br/>
      storage_backend: Fix error reporting with regex helper (Cole Robinson),<br/>
      storage: Covert regex helpers to virCommand (Cole Robinson),<br/>
      openvz: Convert virExec usage to virCommand (Cole Robinson),<br/>
      storage: iscsi: Convert virExec to virCommand (Cole Robinson),<br/>
      remote generator, client: Add more special case handling (Matthias Bolte),<br/>
      remote generator, client: Handle functions that return an optional string (Matthias Bolte),<br/>
      esx: Simplify some esxVI_Boolean to bool (Matthias Bolte),<br/>
      esx: Convert autoAnswer from esxVI_Boolean to a simple bool (Matthias Bolte),<br/>
      esx: Fix race condition in esxVI_EnsureSession (Matthias Bolte),<br/>
      esx: Whitespace cleanup in the generator (Matthias Bolte),<br/>
      esx: Change some alignments in the input file (Matthias Bolte),<br/>
      esx: Change generated method parameter autobinding (Matthias Bolte),<br/>
      virsh: Report an error when virGetUserDirectory fails (Matthias Bolte),<br/>
      maint: mark more perl scripts executable (Eric Blake),<br/>
      maint: mark perl script executable (Eric Blake),<br/>
      maint: ignore generated file (Eric Blake),<br/>
      Improve error message when XDR marshalling fails (Daniel P. Berrange),<br/>
      Run tunnelled migration IO in separate thread (Daniel P. Berrange),<br/>
      Don't overwrite error when stream send fails (Daniel P. Berrange),<br/>
      Make tunnelled migration honour resource restriction (Daniel P. Berrange),<br/>
      Refactor migration completion loop to allow code reuse (Daniel P. Berrange),<br/>
      Implement migration v3 protocol in QEMU driver (Daniel P. Berrange),<br/>
      Merge tunnel and non-tunnel migration impl into one (Daniel P. Berrange),<br/>
      Fix VM teardown if prepare returns invalid URI in v2 migration (Daniel P. Berrange),<br/>
      Refactor tunnelled migration methods (Daniel P. Berrange),<br/>
      Wire up SPICE client relocation with QEMU migration (Daniel P. Berrange),<br/>
      Pass graphics setup from dst back to src via migration cookies (Daniel P. Berrange),<br/>
      Introduce migration cookies to QEMU driver (Daniel P. Berrange),<br/>
      Fix locking with qemuMigrationPrepareTunnel method (Daniel P. Berrange),<br/>
      Remote driver implementation of new migration API (Daniel P. Berrange),<br/>
      Add many version number annotations to drivers (Daniel P. Berrange),<br/>
      Convert all driver struct intializers to C99 style (Daniel P. Berrange),<br/>
      Tweak driver naming for consistency with public API (Daniel P. Berrange),<br/>
      qemu: Update domain state when reconnecting monitor (Jiri Denemark),<br/>
      Implement domain state reason (Jiri Denemark),<br/>
      Implement basic virDomainGetState in all drivers (Jiri Denemark),<br/>
      virsh: Prefer virDomainGetState over virDomainGetInfo (Jiri Denemark),<br/>
      Wire protocol format and remote driver for virDomainGetState (Jiri Denemark),<br/>
      virDomainGetState public API implementation (Jiri Denemark),<br/>
      Internal driver API for virDomainGetState (Jiri Denemark),<br/>
      esx: Refactor common code in the generator (Matthias Bolte),<br/>
      esx: Improve dynamic cast detection in the generator (Matthias Bolte),<br/>
      esx: Improve list usage detection in the generator (Matthias Bolte),<br/>
      esx: Remove 1000 lines of generated but unused code (Matthias Bolte),<br/>
      esx: Generate implicit _this macros (Matthias Bolte),<br/>
      esx: Move the Event type from the VI generator to manually written code (Matthias Bolte),<br/>
      test: all test_scripts should be part of tarball when building without libvirtd (Wen Congyang),<br/>
      build: probes.d and libvirtd.stp should be part of tarball (Wen Congyang),<br/>
      remote: Convert SSH tunnel to virCommand (Cole Robinson),<br/>
      storage: Convert qemu-img -help parsing to virCommand (Cole Robinson),<br/>
      apparmor: Convert virExec usage to virCommand (Cole Robinson),<br/>
      util: Combine __virExec and virExecWithHook (Cole Robinson),<br/>
      remote_driver: Convert virExecDaemonize usage to virCommand (Cole Robinson),<br/>
      remote: Use virDomainEventState helpers (Cole Robinson),<br/>
      libxl: Convert to virDomainEventState (Cole Robinson),<br/>
      test: Use virDomainEventState helpers (Cole Robinson),<br/>
      lxc: Use virDomainEventState helpers (Cole Robinson),<br/>
      qemu: Use virDomainEventState helpers (Cole Robinson),<br/>
      domain_event: Add common domain event queue/flush helpers (Cole Robinson),<br/>
      domain_event: Add virDomainEventState structure (Cole Robinson),<br/>
      xml: Use virXMLParse* helpers everywhere (Cole Robinson),<br/>
      domain: Require init node for container guests (Cole Robinson),<br/>
      xml: Make sure virXpathNodeSet always sets an error (Cole Robinson),<br/>
      vbox: Implement the Screenshot driver methods (Michal Privoznik),<br/>
      qemu: Implement the Screenshot driver methods (Michal Privoznik),<br/>
      virFDStream: Add option for delete file after it's opening (Michal Privoznik),<br/>
      Implementing the Screenshot remote protocol (Michal Privoznik),<br/>
      Implementing the Screenshot public API (Michal Privoznik),<br/>
      Defining the Screenshot internal API (Michal Privoznik),<br/>
      remote generator: Add skipgen/autogen flags to .x files (Matthias Bolte),<br/>
      nwfilter: drop unused flag argument (Eric Blake),<br/>
      maint: omit translation for all VIR_INFO (Eric Blake),<br/>
      build: wrap macro body in one-shot do-while loop (Eric Blake),<br/>
      build: drop need for VIR_DOMAIN_DEBUG0() (Eric Blake),<br/>
      libvirt,logging: cleanup VIR_XXX0() (Lai Jiangshan),<br/>
      maint: avoid a couple of gnulib regressions (Eric Blake),<br/>
      build: remove some dead assignments (Eric Blake),<br/>
      Allow destroying QEMU VM even if a job is active (Daniel P. Berrange),<br/>
      Add support for YAJL version 2 API/ABI (Daniel P. Berrange),<br/>
      libxl: support enabling the HPET (Paolo Bonzini),<br/>
      libxl: support enabling the HPET (Paolo Bonzini),<br/>
      xen: parse and generate hpet item in sxpr (Paolo Bonzini),<br/>
      virsh: flexibility in CA cert and user cert/key (Doug Goldstein),<br/>
      remote generator: Make parsing stricter (Matthias Bolte),<br/>
      remote generator: Unify unsigned int notation in .x files (Matthias Bolte),<br/>
      remote generator: Fix comment ignoring regex (Matthias Bolte),<br/>
      Rename internal DumpXML functions to GetXMLDesc (Matthias Bolte),<br/>
      qemu,inject-nmi: Implement the driver methods (Lai Jiangshan),<br/>
      inject-nmi: Expose the new API in virsh (Lai Jiangshan),<br/>
      inject-nmi: Implementing the remote protocol (Lai Jiangshan),<br/>
      inject-nmi: Implementing the public API (Lai Jiangshan),<br/>
      inject-nmi: Defining the internal API (Lai Jiangshan),<br/>
      lxc: container: Build init cmd before we close stdout (Cole Robinson),<br/>
      lxc: container: Convert init node exec to virCommand (Cole Robinson),<br/>
      command: Add virCommandExec helper (Cole Robinson),<br/>
      lxc: driver: Improve logging when launching emulator (Cole Robinson),<br/>
      lxc: driver: Convert emulator launching to virCommand (Cole Robinson),<br/>
      command: Add virCommandEnvAddFormat (Cole Robinson),<br/>
      build: translate generated strings (Eric Blake),<br/>
      Pull in gnulib fnmatch module (Daniel P. Berrange),<br/>
      json: Fix *GetBoolean functions (Jiri Denemark),<br/>
      build: rebuild generated files after rpcgen_fix.pl tweak (Eric Blake),<br/>
      Re-add libvirt.spec to tarball to allwo "make rpm" (Daniel Veillard),<br/>
      build: Remove all generated RPC files from GIT (Daniel P. Berrange),<br/>
      build: refactor generated RPC files (Daniel P. Berrange),<br/>
      build: rename generated files to .h, for automake's sake (Eric Blake),<br/>
      remote generator, client: Handle arguments with limited length (Matthias Bolte),<br/>
      remote generator, client: Handle functions that return lists (Matthias Bolte),<br/>
      remote: Refactor remote*Open and remote*Close functions (Matthias Bolte),<br/>
      remote generator, client: Handle functions with optional return values (Matthias Bolte),<br/>
      remote generator, client: Handle functions with multiple return values (Matthias Bolte),<br/>
      remote generator, client: Handle functions with wrapped return values (Matthias Bolte),<br/>
      remote generator, client: Handle functions with simple return values (Matthias Bolte),<br/>
      remote generator, client: Handle simple remote driver functions (Matthias Bolte),<br/>
      remote generator: Reorder into prepare and print section (Matthias Bolte),<br/>
      remote generator, daemon: Handle functions with multiple return values (Matthias Bolte),<br/>
      remote generator, daemon: Combine multiple ifs in the generated code (Matthias Bolte),<br/>
      remote generator, daemon: Handle the CPU functions (Matthias Bolte),<br/>
      remote generator: Refactor duplicate code (Matthias Bolte),<br/>
      remote generator, daemon: Handle functions that return lists (Matthias Bolte),<br/>
      remote: Rename 'nameslen' to the common 'maxnames' (Matthias Bolte),<br/>
      remote generator, daemon: Handle functions with optional arguments (Matthias Bolte),<br/>
      remote generator, daemon: Handle more functions (Matthias Bolte),<br/>
      remote generator, daemon: Handle simple-return-value functions (Matthias Bolte),<br/>
      remote generator, daemon: Change capitalization of some words (Matthias Bolte),<br/>
      remote: Replace 'domain' with 'dom' in the XDR protocol (Matthias Bolte),<br/>
      remote generator, daemon: Output function bodies too (Matthias Bolte),<br/>
      remote generator: Replace tabs with spaces and rename file (Matthias Bolte),<br/>
      Balloon dom0 in libxl driver (Markus Groß),<br/>
      remote: check actual access to the cert (Doug Goldstein),<br/>
      maint: avoid comparisons to bool constants (Eric Blake),<br/>
      Add warning message to XML definition files stored on disk (Michal Privoznik),<br/>
      Fix security driver handling of FIFOs with QEMU (Daniel P. Berrange),<br/>
      Make taint warnings also go into the domain logfile (Daniel P. Berrange),<br/>
      Add a qemuDomainAppendLog method for writing to the domain logfile (Daniel P. Berrange),<br/>
      Move qemuProcessLogReadFD and qemuProcessLogFD methods (Daniel P. Berrange),<br/>
      Log taint warnings in QEMU driver (Daniel P. Berrange),<br/>
      Add field to virDomainObjPtr to track "tainting" (Daniel P. Berrange),<br/>
      virsh: improve TLS certificate error messages (Doug Goldstein),<br/>
      virsh: use new method for easier log to file (Eric Blake),<br/>
      buf: add virBufferVasprintf (Eric Blake),<br/>
      maint: rename virBufferVSprintf to virBufferAsprintf (Eric Blake),<br/>
      Make QEMU migration use cached qemu capabilities data (Daniel P. Berrange),<br/>
      Make QEMU hotplug use cached qemu capabilities data (Daniel P. Berrange),<br/>
      Persist qemu capabilities in the domain status file (Daniel P. Berrange)<br/>
      </li>
      <li> Cleanups:<br/>
      build: silence coverity false positive (Eric Blake),<br/>
      build: silence coverity false positive (Eric Blake),<br/>
      .gitignore: Exempt a new test binary. (Eric Blake),<br/>
      Ensure hvsupport.html.in is built before HTML validation (Daniel P. Berrange),<br/>
      Fix a make check error (Daniel Veillard),<br/>
      Add sexpr.c to the list of file with translatable messages (Matthias Bolte),<br/>
      don't check flags in virDomainSetSchedulerParametersFlags (Hu Tao),<br/>
      build: silence clang false positive (Eric Blake),<br/>
      Remove obsolete remoteDispatchOOMError method (Daniel P. Berrange),<br/>
      remote: keep 'make check' happy (Eric Blake),<br/>
      build: avoid compiler warning during configure (Wen Congyang),<br/>
      Remove bogus assert() from migration code (Daniel P. Berrange),<br/>
      build: drop files generated by config.status from tarball (Eric Blake)<br/>
      </li>
    </ul>
    <h3>0.9.1: May 5 2011</h3>
    <ul>
      <li> Features:<br/>
       support various persistent domain updates (KAMEZAWA Hiroyuki),<br/>
       improvements on memory APIs (Taku Izumi),<br/>
       Add virDomainEventRebootNew (Matthias Bolte),<br/>
       various improvements to libxl driver (Markus Groß),<br/>
       Spice: support audio, images and stream compression (Michal Privoznik)<br/>
      </li>
      <li> Documentation:<br/>
       fix missing VLAN id for Qbg example (Gerhard Stenzel),<br/>
       docs: Document filesystem tag device (Cole Robinson),<br/>
       maint: fix comment typos (Eric Blake),<br/>
       Fix two out-of-date comments in LVM backend (Richard Laager),<br/>
       docs: Serial and parallel device target ports actually start from 0 (Matthias Bolte),<br/>
       maint: fix grammar errors (Eric Blake),<br/>
       docs: document freecell --all (Eric Blake),<br/>
       docs: remove "returns" word from beginning of lines (Jean-Baptiste Rouault),<br/>
       docs: add an IPv6 address to network XML examples (Laine Stump)<br/>
      </li>
      <li> Portability:<br/>
       build: fix getcwd portability problems (Eric Blake),<br/>
       build: avoid test warnings on mingw (Eric Blake),<br/>
       virsh: avoid compiler warning on mingw (Eric Blake),<br/>
       build: Use pkg-config for libssh2 check (Jiri Denemark),<br/>
       build: Ignore old audit library (Jiri Denemark),<br/>
       build: fix 32-bit test failure (Eric Blake),<br/>
       build: Fix problem of building Python bindings (Osier Yang),<br/>
       build: fix 32-bit test failure (Eric Blake),<br/>
       ppc: Enable starting of Qemu VMs on ppc host (Stefan Berger),<br/>
       Migrate VMs between different-endianess hosts (Stefan Berger),<br/>
       build: really fix mingw startup (Eric Blake),<br/>
       build: fix mingw build (Eric Blake),<br/>
       do not build libvirt_iohelper when building without libvirtd (Wen Congyang),<br/>
       virsh: fix mingw startup (Eric Blake),<br/>
       build: avoid compiler warning on cygwin (Eric Blake),<br/>
       Fix build for older gcc (Jim Fehlig),<br/>
       Don't try to enable stack protector on Win32 (Daniel P. Berrange)<br/>
      </li>
      <li> Bug Fixes:<br/>
       storage: avoid null deref and leak on failure (Eric Blake),<br/>
       esx: Avoid null dereference on error in esxDomainGetInfo (Matthias Bolte),<br/>
       remote: avoid null dereference on error (Eric Blake),<br/>
       cgroup: avoid leaking a file (Eric Blake),<br/>
       virsh: avoid null pointer dereference (Eric Blake),<br/>
       pci: fix null pointer dereference (Eric Blake),<br/>
       qemu: avoid null pointer dereference (Eric Blake),<br/>
       tests: avoid null pointer dereference (Eric Blake),<br/>
       Fix disability to run on systems with no PCI bus (Michal Privoznik),<br/>
       virsh: fix regression in log to file (Supriya Kannery),<br/>
       nwfilter: Fix memory leak in the ebtables subdriver (Matthias Bolte),<br/>
       qemu: Fix qemuDomainModifyDeviceFlags leaking the caps bitmap (Matthias Bolte),<br/>
       Fix memory leak in __virExec (Matthias Bolte),<br/>
       hash: fix memory leak regression (Eric Blake),<br/>
       Xen: Do not generate net ifname if domain is inactive (Jim Fehlig),<br/>
       xen: check if device is assigned to guest before reattaching (Yufang Zhang),<br/>
       util: Initialize hooks at daemon shutdown if no hooks defined (Osier Yang),<br/>
       fix virsh's regression (Wen Congyang),<br/>
       release PCI address only when we have ensured it successfully (Wen Congyang),<br/>
       free memory properly in cleanup patch (Hu Tao),<br/>
       free buf content when vsnprintf() failed (Wen Congyang),<br/>
       esx: Fix dynamic dispatch for CastFromAnyType functions (Matthias Bolte),<br/>
       Make crash and live flags mutually exclusive in virDomainCoreDump (Mark Wu),<br/>
       Fix small memory leaks in config parsing related functions (Matthias Bolte),<br/>
       daemon: Don't try to free an unsigned int in error paths (Matthias Bolte),<br/>
       Fix QEMU tunnelled migration FD handling (Daniel P. Berrange),<br/>
       Remove artificial minimum limit for guest memory (Jiri Denemark),<br/>
       fix tunnelled migration's regression (Wen Congyang),<br/>
       qemu: fix the check of virDomainObjUnref()'s return value (Wen Congyang),<br/>
       Fix checking of return codes in dispatcher (Daniel P. Berrange),<br/>
       qemu: avoid qemu_driver being unlocked twice when virThreadPoolNew() failed (Wen Congyang),<br/>
       virsh: fix regression in parsing optional integer (Eric Blake),<br/>
       phyp: avoid memory leaks in command values (Eric Blake),<br/>
       phyp: avoid memory leak on failure (Eric Blake),<br/>
       phyp: avoid a logic bug (Eric Blake),<br/>
       free cpumask of vcpupinDef (Hu Tao),<br/>
       network: Fix NULL dereference during error recovery (Michal Privoznik),<br/>
       Add missing checks for QEMU domain state in tunables APIs (Daniel P. Berrange),<br/>
       phyp: Fix too small buffer allocation in phypAttachDevice (Matthias Bolte),<br/>
       phyp: Don't overwrite error from virDomainDeviceDefParse by OOM error (Matthias Bolte),<br/>
       phyp: Don't try to use a string from a failed virAsprintf (Matthias Bolte),<br/>
       phyp: Remove stack allocating a 4kb volume key and fix related memory leaks (Matthias Bolte),<br/>
       qemu: fix a dead-lock problem (Hu Tao),<br/>
       util: Fix crash when removing entries during hash iteration (Jiri Denemark),<br/>
       Fix possible infinite loop in remote driver (Michal Privoznik),<br/>
       qemu: Remove the managed state file only if restoring succeeded (Osier Yang),<br/>
       reattach pci devices when qemuPrepareHostdevPCIDevices() failed (Wen Congyang),<br/>
       reattach pci device when pciBindDeviceToStub() failed (Wen Congyang),<br/>
       remove devices from driver activePciHostdevs when qemuPrepareHostdevPCIDevices() failed (Wen Congyang),<br/>
       pci: avoid invalid free, init path to NULL (Wen Congyang),<br/>
       qemu: Support for overriding NPROC limit (Jiri Denemark),<br/>
       qemu: Always reserves slot 0x02 for primary VGA. (Osier Yang),<br/>
       Fix typo in systemtap tapset directory name (Daniel P. Berrange),<br/>
       qemu: Ignore unusable binaries (Jiri Denemark)<br/>
      </li>
      <li> Improvements:<br/>
       maint: detect clang 2.9 (Eric Blake),<br/>
       qemu: update qemuCgroupControllerActive signature (Eric Blake),<br/>
       lxc: report correct error (Eric Blake),<br/>
       libxl: avoid compiler warning (Eric Blake),<br/>
       storage: use virCommand to avoid compiler warning (Eric Blake),<br/>
       tests: Lower stack usage below 4096 bytes (Matthias Bolte),<br/>
       tests: Update valgrind suppressions file (Matthias Bolte),<br/>
       tests: simplify common setup (Eric Blake),<br/>
       network: fix return value of hostsFileWrite (Laine Stump),<br/>
       libvirt/qemu - support persistent attach/detach disks (KAMEZAWA Hiroyuki),<br/>
       libvirt/qemu - support persistent modification of devices (KAMEZAWA Hiroyuki),<br/>
       util: Simplify hash implementation (Jiri Denemark),<br/>
       tests: More unit tests for internal hash APIs (Jiri Denemark),<br/>
       Move call to virReportOOMError into virFileBuildPath (Matthias Bolte),<br/>
       build: use gnulib passfd for simpler SCM_RIGHTS code (Eric Blake),<br/>
       qemu: Add flags checking in DomainCoreDump (Jiri Denemark),<br/>
       Make sure DNSMASQ_STATE_DIR exists (Guido Günther),<br/>
       build: make VIR_FREE do some type checking (Eric Blake),<br/>
       threads: add one-time initialization support (Eric Blake),<br/>
       esx: Add a wrapper for shared CURL handles (Matthias Bolte),<br/>
       esx: Move CURL handling code to it's own type (Matthias Bolte),<br/>
       daemon: Honor error variable name change in the generator (Matthias Bolte),<br/>
       libvirt/qemu - clean up UpdateDevice for consolidation. (KAMEZAWA Hiroyuki),<br/>
       libvirt/qemu - clean up At(De)tachDeviceFlags() for consolidation. (KAMEZAWA Hiroyuki),<br/>
       libvirt/qemu - Centralize device modification in the more flexible APIs (KAMEZAWA Hiroyuki),<br/>
       Add support for s390(x) cpu options parsing (Michal Privoznik),<br/>
       PHYP: Adding reboot domain function (Eduardo Otubo),<br/>
       nwfilter: no support for direct type of interface (Stefan Berger),<br/>
       Add cputune support to libxl driver (Markus Groß),<br/>
       Update and sort msg_gen_function list and mark unmarked messages (Matthias Bolte),<br/>
       Write error check conditionals in more compact form for dispatcher (Daniel P. Berrange),<br/>
       Merge all returns paths from dispatcher into single path (Daniel P. Berrange),<br/>
       Experimental libvirtd upstart job (Alan Pevec),<br/>
       enhance processWatchdogEvent() (Wen Congyang),<br/>
       xen: Replace statsErrorFunc with a macro (Matthias Bolte),<br/>
       tests: Unit tests for internal hash APIs (Jiri Denemark),<br/>
       build: include esx_vi.generated.* into dist file (Wen Congyang),<br/>
       tests: test recent virsh option parsing changes (Eric Blake),<br/>
       virsh: list required options first (Eric Blake),<br/>
       phyp: use consistent return string handling (Eric Blake),<br/>
       maint: use lighter-weight function for straight appends (Eric Blake),<br/>
       libvirt-guests: implement START_DELAY (Alexander Todorov),<br/>
       network: truncate bridges' dummy tap device names to IFNAMSIZ (15) chars (Laine Stump),<br/>
       Introduce virDomainChrDefNew() (Michal Novotny),<br/>
       esx: Make the parsed URI part of the private connection data (Matthias Bolte),<br/>
       esx: Mark error message in macros for translation (Matthias Bolte),<br/>
       esx: Extend VI generator to cover managed object types (Matthias Bolte),<br/>
       esx: Cleanup and refactor CastFromAnyType macros (Matthias Bolte),<br/>
       esx: Cleanup VI generator code (Matthias Bolte),<br/>
       phyp: Reduce code duplication in error and success paths (Matthias Bolte),<br/>
       Replace REMOTE_DEBUG with VIR_DEBUG in daemon dispatcher (Daniel P. Berrange),<br/>
       Add missing checks for whether the connection is open in dispatcher (Daniel P. Berrange),<br/>
       PHYP: Adding network interface (Eduardo Otubo),<br/>
       xen: Remove PATH_MAX sized stack allocation from block stats code (Matthias Bolte),<br/>
       setmaxmem: add the new options to "virsh setmaxmem" command (Taku Izumi),<br/>
       maxmem: implement virDomainSetMaxMemory API of the qemu driver (Taku Izumi),<br/>
       maxmem: introduces VIR_DOMAIN_MEM_MAXIMUM flag (Taku Izumi),<br/>
       nwfilters: support for TCP flags evaluation (Stefan Berger),<br/>
       setmem: add --current option to virsh setmem command (Taku Izumi),<br/>
       setmem: add VIR_DOMAIN_MEM_CURRENT support to qemu (Taku Izumi),<br/>
       setmem: introduce VIR_DOMAIN_MEM_CURRENT flag (Taku Izumi),<br/>
       build: Install libxenlight log dir (Jim Fehlig),<br/>
       Add domainSet/GetSchedulerParameters to libxl driver (Markus Groß),<br/>
       rename pciUnBindDeviceFromStub() to pciUnbindDeviceFromStub() and float it up (Wen Congyang),<br/>
       Add domainIsUpdated to libxl driver (Markus Groß),<br/>
       Change locking for udev monitor and callbacks (Serge Hallyn),<br/>
       Improve SCSI volume key generation (Daniel P. Berrange),<br/>
       qemu: Rewrite LOOKUP_PTYS macro into a function (Jiri Denemark),<br/>
       Enable use of -Wold-style-definition compiler flag (Daniel P. Berrange),<br/>
       Enable use of -Wmissing-noreturn (Daniel P. Berrange),<br/>
       Enable -Wmissing-format-attribute warning (Daniel P. Berrange),<br/>
       Use gnulib's manywarnings and warnings modules (Daniel P. Berrange),<br/>
       Use virBufferPtr for sexpr2string instead of manual buffer handling (Matthias Bolte),<br/>
       xend: Remove 4kb stack allocation (Matthias Bolte),<br/>
       uml: Remove PATH_MAX sized stack allocation from /proc parsing code (Matthias Bolte),<br/>
       storage: Remove PATH_MAX sized stack allocation from iSCSI backend (Matthias Bolte),<br/>
       qemu: Remove PATH_MAX sized stack allocation used in commandline building (Matthias Bolte),<br/>
       Remove PATH_MAX sized stack allocation from virFileOpenTtyAt (Matthias Bolte),<br/>
       openvz: Remove several larger stack allocations (Matthias Bolte),<br/>
       daemon: Remove 4kb stack allocation of security label (Matthias Bolte),<br/>
       virsh: Remove two 4kb stack allocations (Matthias Bolte),<br/>
       Use virFileAbsPath instead of manually creating the absolute path (Matthias Bolte),<br/>
       xenxs: Remove PATH_MAX sized stack allocation in XM script parsing (Matthias Bolte),<br/>
       sasl: Remove stack allocated 8kb temporary buffers (Matthias Bolte),<br/>
       qemu: Use heap allocated memory to read the monitor greeting (Matthias Bolte),<br/>
       phyp: Remove 16kb stack allocation (Matthias Bolte),<br/>
       virt-aa-helper: Remove PATH_MAX sized stack allocations (Matthias Bolte),<br/>
       ebtables: Remove PATH_MAX sized stack allocation (Matthias Bolte),<br/>
       pci: Remove PATH_MAX sized stack allocations (Matthias Bolte),<br/>
       Remove PATH_MAX sized stack allocations related to virFileBuildPath (Matthias Bolte),<br/>
       vmx: Use case-insensitive compare functions for all content (Matthias Bolte),<br/>
       vmx: Support persistent CPU shares (Matthias Bolte),<br/>
       Add autostart support to libxl driver (Markus Groß),<br/>
       Allow relative path for qemu backing file (Jesse Cook),<br/>
       build: detect potentential uninitialized variables (Eric Blake)<br/>
      </li>
      <li> Cleanups:<br/>
       esx: Disable performance counter queries in esxDomainGetInfo (Matthias Bolte),<br/>
       esx: Remove dead store in esxUtil_ParseDatastorePath (Matthias Bolte),<br/>
       util: remove dead assignment (Eric Blake),<br/>
       qemu: remove dead assignment (Eric Blake),<br/>
       qemu: silence clang false positives (Eric Blake),<br/>
       tests: suppress more valgrind situations (Eric Blake),<br/>
       tests: avoid compiler warning (Eric Blake),<br/>
       qemu: fix uninitialized variable warning (Christophe Fergeau),<br/>
       build: fix syntax-check failure (Eric Blake),<br/>
       virsh: nuke use of TRUE and FALSE (Eric Blake),<br/>
       phyp: another simplification (Eric Blake),<br/>
       maint: ignore built file (Eric Blake),<br/>
       Change some variable names to follow standard in daemon dispatcher (Daniel P. Berrange),<br/>
       Remove curly braces on all single-line conditional jumps in dispatcher (Daniel P. Berrange),<br/>
       Remove virConnectPtr from virRaiseErrorFull (Matthias Bolte),<br/>
       phyp: prefer memcpy over memmove when legal (Eric Blake),<br/>
       phyp: use consistent style for labels (Eric Blake),<br/>
       phyp: more return handling cleanup (Eric Blake),<br/>
       esx: Fix gcc 4.6 warning about initialized but unused variables (Matthias Bolte),<br/>
       maint: silence cppi warnings (Eric Blake),<br/>
       Fix gcc 4.6 warnings in vbox_tmpl.c (Christophe Fergeau),<br/>
       Fix gcc 4.6 warnings (Christophe Fergeau),<br/>
       Remove C99 variable declare in PHYP network driver (Daniel P. Berrange),<br/>
       Standard on error variable name in libvirtd dispatcher (Daniel P. Berrange),<br/>
       Remove all whitespace before function brackets in daemon dispatcher (Daniel P. Berrange),<br/>
       docs: tweak virsh restore warning (Eric Blake),<br/>
       setmaxmem: remove the code to invoke virDomainSetMemory in cmdSetmaxmem (Taku Izumi),<br/>
       build: fix gitignore sorting (Eric Blake),<br/>
       tests: fix recent test failures (Eric Blake),<br/>
       libxl: avoid compiler warning (Eric Blake),<br/>
       Avoid compiler warnings about int to void * casts (Daniel P. Berrange),<br/>
       Remove acinclude.m4 file (Daniel P. Berrange),<br/>
       Remove possible uninitialized variable in openvz driver (Daniel P. Berrange)<br/>
      </li>
    </ul>
    <h3>0.9.0: Apr 4 2011</h3>
    <ul>
      <li> Features:<br/>
      Support cputune cpu usage tuning (Osier Yang and Nikunj A. Dadhania),<br/>
      Add public APIs for storage volume upload/download (Daniel P. Berrange),<br/>
      Add public API for setting migration speed on the fly (Daniel P. Berrange),<br/>
      Add libxenlight driver (Jim Fehlig and Markus Groß),<br/>
      qemu: support migration to fd (Eric Blake),<br/>
      libvirt: add virDomain{Get,Set}BlkioParameters (Gui Jianfeng),<br/>
      setmem: introduce a new libvirt API (virDomainSetMemoryFlags) (Taku Izumi),<br/>
      Expose event loop implementation as a public API (Daniel P. Berrange),<br/>
      Dump the debug buffer to libvirtd.log on fatal signal (Daniel Veillard),<br/>
      Audit support (Eric Blake)<br/>
      </li>
      <li> Documentation:<br/>
      fix typo (Eric Blake),<br/>
      correct invalid xml (Eric Blake),<br/>
      virsh: Fix documentation for memtune command (Jiri Denemark),<br/>
      Fix several formatting mistakes in doc (Michal Privoznik),<br/>
      mention C89 syntax preferences (Eric Blake),<br/>
      document recent hook additions (Eric Blake),<br/>
      Update on the goal page (Daniel Veillard),<br/>
      Document first release with spice and qxl (Cole Robinson),<br/>
      Add schema definition for imagelabel (Osier Yang),<br/>
      update virGetVersion description (Tiziano Mueller),<br/>
      Improve logging documentation including the debug buffer (Daniel Veillard),<br/>
      update windows page for initial libvirt 0.8.8 installer (Justin Clift),<br/>
      formatdomain.html.in: Fix spelling PIC-&gt;PCI (Philipp Hahn),<br/>
      fix missing &lt;p&gt; (Eric Blake),<br/>
      documenting the 802.1Qbg parameters of a 'direct' interface (Gerhard Stenzel),<br/>
      silence warnings about generated API docs (Eric Blake),<br/>
      document &lt;driver name='vhost'/&gt; for interfaces (Eric Blake),<br/>
      correct range of default NAT subnet (Eric Blake),<br/>
      formatdomain: Add release info for disk &lt;driver&gt; attributes (Cole Robinson),<br/>
      Fix spelling mistake: seek (Philipp Hahn),<br/>
      maint: fix grammar in error message (Eric Blake)<br/>
      </li>
      <li> Portability:<br/>
      virsh: fix mingw failure on creating nonblocking pipe (Eric Blake),<br/>
      Remove iohelper on Win32 since it is not required (Daniel P. Berrange),<br/>
      Fix domain events C example on Win32 (Daniel P. Berrange),<br/>
      build: fix compilation on mingw (Eric Blake),<br/>
      util: use SCM_RIGHTS in virFileOperation when needed (Eric Blake),<br/>
      Don't use INT64_MAX in libvirt.h because it requires stdint.h (Matthias Bolte),<br/>
      libvirtd: Remove indirect linking (Guido Günther),<br/>
      build: avoid compiler warning on cygwin (Eric Blake),<br/>
      build: fix build on cygwin (Eric Blake),<br/>
      build: fix building error when building without libvirtd (Wen Congyang),<br/>
      virsh: Remove indirect link against libxml2 (Guido Günther),<br/>
      Fix build on cygwin (Daniel Veillard),<br/>
      Add check for kill() to fix build of cgroups on win32 (Daniel P. Berrange),<br/>
      build: fix broken mingw cross-compilation (Eric Blake)<br/>
      </li>
      <li> Bug fixes:<br/>
      fix memory leak in qemuProcessHandleGraphics() (Wen Congyang),<br/>
      do not lock vm while allocating memory (Wen Congyang),<br/>
      Fix libxl driver startup (Daniel Veillard),<br/>
      qemu: Ignore libvirt debug messages in qemu log (Jiri Denemark),<br/>
      qemu: Fix improper logic of qemuCgroupSetup (Osier Yang),<br/>
      free tmp after unlinking it (Wen Congyang),<br/>
      qemu: Fix media eject with qemu-0.12.* (Jiri Denemark),<br/>
      check whether qemuMonitorJSONHMP() failed (Wen Congyang),<br/>
      do not send monitor command after monitor meet error (Wen Congyang),<br/>
      qemu: unlock qemu driver before return from domain save (Hu Tao),<br/>
      qemu: fix regression with fd labeling on migration (Eric Blake),<br/>
      Ignore return value of virDomainObjUnref (Markus Groß),<br/>
      Fix infinite loop in daemon if client quits with multiple streams open (Daniel P. Berrange),<br/>
      qemu: fix regression that hangs on save failure (Eric Blake),<br/>
      qemu: fix restoring a compressed save image (Eric Blake),<br/>
      util: allow clearing cloexec bit (Eric Blake),<br/>
      logging: always NUL-terminate circular buffer (Eric Blake),<br/>
      tests: don't alter state in $HOME (Eric Blake),<br/>
      qemu: don't restore state label twice (Eric Blake),<br/>
      Fix syntax error in configure.ac (Osier Yang),<br/>
      remote: Don't leak gnutls session on negotiation error (Matthias Bolte),<br/>
      hooks: fix regression in previous patch (Eric Blake),<br/>
      Add missing { for qemudDomainInterfaceStats (Philipp Hahn),<br/>
      daemon: Avoid resetting errors before they are reported (Jiri Denemark),<br/>
      fix the check of the output of monitor command 'device_add' (Wen Congyang),<br/>
      Make error reporting in libvirtd thread safe (Jiri Denemark),<br/>
      update domain status forcibly even if attach a device failed (Wen Congyang),<br/>
      util: Fix return value for virJSONValueFromString if it fails (Osier Yang),<br/>
      Initialization error of qemuCgroupData in Qemu host usb hotplug (Wen Congyang),<br/>
      build: fix missing initializer (Eric Blake),<br/>
      Fix uninitialized variable &amp; error reporting in LXC veth setup (Daniel P. Berrange),<br/>
      udev: fix regression with qemu:///session (Eric Blake),<br/>
      logging: fix off-by-one bug (Eric Blake),<br/>
      do not report OOM error when prepareCall() failed (Wen Congyang),<br/>
      Don't return an error on failure to create blkio controller (Hu Tao),<br/>
      qemu: respect locking rules (Eric Blake),<br/>
      openvz: fix a simple bug in openvzListDefinedDomains() (Jean-Baptiste Rouault),<br/>
      Fix delayed event delivery when SASL is active (Daniel P. Berrange),<br/>
      qemu: Fix copy&amp;paste error messages in text monitor (Jiri Denemark),<br/>
      do not unref obj in qemuDomainObjExitMonitor* (Wen Congyang),<br/>
      qemu: check driver name while attaching disk (Wen Congyang),<br/>
      remote: Add missing virCondDestroy calls (Matthias Bolte),<br/>
      build: improve rpm generation for distro backports (Eric Blake),<br/>
      storage: Fix a problem which will cause libvirtd crashed (Osier Yang),<br/>
      Fix misc bugs in virCommandPtr (Daniel P. Berrange),<br/>
      libvirt: fix a simple bug in virDomainSetMemoryFlags() (Taku Izumi),<br/>
      qemu: Check the unsigned integer overflow (Osier Yang),<br/>
      audit: eliminate potential null pointer deref when auditing macvtap devices (Laine Stump),<br/>
      network driver: don't send default route to clients on isolated networks (Laine Stump),<br/>
      virsh: Free stream when shutdown console (Osier Yang),<br/>
      Add missing checks for read only connections (Guido Günther),<br/>
      qemu: fix -global argument usage (Eric Blake),<br/>
      Make sure we reset the umask on the error path (Guido Günther),<br/>
      qemu: Stop guest CPUs before creating a snapshot (Jiri Denemark),<br/>
      qemu: Escape snapshot name passed to {save,load,del}vm (Jiri Denemark),<br/>
      qemu: Fix warnings in event handlers (Jiri Denemark),<br/>
      storage: Update qemu-img flag checking (Osier Yang),<br/>
      Make sure the rundir is accessible by the user (Guido Günther),<br/>
      Fix a wrong error message thrown to user (Hu Tao),<br/>
      unlock eventLoop before calling callback function (Wen Congyang),<br/>
      fixes for several memory leaks (Phil Petty),<br/>
      Fix a counter bug in the log buffer (Daniel Veillard),<br/>
      qemu: avoid corruption of domain hashtable and misuse of freed domains (Laine Stump),<br/>
      qemu: Add missing lock of virDomainObj before calling virDomainUnref (Laine Stump),<br/>
      esx: Escape password for XML (Matthias Bolte),<br/>
      util: correct retry path in virFileOperation (Eric Blake),<br/>
      util: Allow removing hash entries in virHashForEach (Jiri Denemark),<br/>
      qemu: avoid double close on domain restore (Eric Blake),<br/>
      Fix port value parsing for serial and parallel ports (Michal Novotny),<br/>
      Fix off-by-1 in virFileAbsPath. (Daniel P. Berrange),<br/>
      security: avoid memory leak (Eric Blake),<br/>
      protect the scsi controller to be deleted when it is in use (Wen Congyang),<br/>
      virsh: freecell --all getting wrong NUMA nodes count (Michal Privoznik),<br/>
      remove duplicated call to reportOOMError (Christophe Fergeau)<br/>
      </li>
      <li> Improvements:<br/>
      Make check_fc_host() and check_vport_capable() usable as rvalues (Guido Günther),<br/>
      maint: avoid locale-sensitivity in string case comparisons (Eric Blake),<br/>
      extend logging to record configuration-related changes (Naoya Horiguchi),<br/>
      Add libvirt_iohelper to spec file (Daniel Veillard),<br/>
      cputune: New tests for cputune XML (Osier Yang),<br/>
      cputune: Support cputune for xend driver (Osier Yang),<br/>
      cputune: Support cputune for lxc driver (Osier Yang),<br/>
      cputune: Support cputune for qemu driver (Osier Yang),<br/>
      cputune: Implementations of parsing and formating cputune xml (Osier Yang),<br/>
      cputune: Add data structures presenting cputune XML (Osier Yang),<br/>
      cputune: Add document for cputune XML (Osier Yang),<br/>
      cputune: Add XML schema for cputune xml (Osier Yang),<br/>
      qemu: improve error message on failed fd transfer (Eric Blake),<br/>
      maint: ignore new built file (Eric Blake),<br/>
      Add domainSuspend/Resume to libxl driver (Markus Groß),<br/>
      Add domainGetOSType to libxl driver (Markus Groß),<br/>
      Add domainGetSchedulerType to libxl driver (Markus Groß),<br/>
      Implements domainXMLTo/FromNative in libxl driver (Markus Groß),<br/>
      Add vcpu functions to libxl driver (Markus Groß),<br/>
      List authors in copyright headers (Markus Groß),<br/>
      Add event callbacks to libxl driver (Markus Groß),<br/>
      Remote protocol support for storage vol upload/download APIs (Daniel P. Berrange),<br/>
      Support volume data upload/download APIs in storage driver (Daniel P. Berrange),<br/>
      Add vol-upload and vol-download commands to virsh (Daniel P. Berrange),<br/>
      Enhance the streams helper to support plain file I/O (Daniel P. Berrange),<br/>
      Update event loop example programs to demonstrate best practice (Daniel P. Berrange),<br/>
      qemu: support fd: migration with compression (Eric Blake),<br/>
      qemu: skip granting access during fd migration (Eric Blake),<br/>
      qemu: consolidate migration to file code (Eric Blake),<br/>
      qemu: use common API for reading difficult files (Eric Blake),<br/>
      qemu, storage: improve type safety (Eric Blake),<br/>
      util: adjust indentation in previous patch (Eric Blake),<br/>
      util: rename virFileOperation to virFileOpenAs (Eric Blake),<br/>
      storage: simplify fd handling (Eric Blake),<br/>
      qemu: simplify domain save fd handling (Eric Blake),<br/>
      qemu: allow simple domain save to use fd: protocol (Eric Blake),<br/>
      Update of localisations, switch to transifex (Daniel Veillard),<br/>
      build: shorten libxenlight summary for consistent alignment (Eric Blake),<br/>
      command: add virCommandAbort for cleanup paths (Eric Blake),<br/>
      command: don't mix RunAsync and daemons (Eric Blake),<br/>
      command: properly diagnose process exit via signal (Eric Blake),<br/>
      Add memory functions to libxl driver (Markus Groß),<br/>
      build: enforce reference count checking (Eric Blake),<br/>
      maint: prohibit access(,X_OK) (Eric Blake),<br/>
      Get cpu time and current memory balloon from libxl (Markus Groß),<br/>
      build: nuke all .x-sc* files, and fix VPATH syntax-check (Eric Blake),<br/>
      command: reject pidfile on non-daemon (Eric Blake),<br/>
      rpm: add missing dependencies (Eric Blake),<br/>
      rpm: separate runtime and build requirements (Eric Blake),<br/>
      qemu: simplify monitor callbacks (Eric Blake),<br/>
      8021Qbh: use preassociate-rr during the migration prepare stage (Roopa Prabhu),<br/>
      Wire up virDomainMigrateSetSpeed into QEMU driver (Daniel P. Berrange),<br/>
      Wire up virDomainMigrateSetSpeed for the remote RPC driver (Daniel P. Berrange),<br/>
      maint: update authors (Eric Blake),<br/>
      Disable libxl build in RPM on Fedora &lt; 16 (Daniel P. Berrange),<br/>
      qemu: fallback to HMP drive_add/drive_del (Hu Tao),<br/>
      qemu: Only use HMP passthrough if it is supported (Jiri Denemark),<br/>
      qemu: Detect support for HMP passthrough (Jiri Denemark),<br/>
      qemu: add two hook script events "prepare" and "release" (Thibault Vincent),<br/>
      qemu: simplify interface fd handling in monitor (Eric Blake),<br/>
      qemu: simplify PCI configfd handling in monitor (Eric Blake),<br/>
      qemu: simplify monitor fd error handling (Eric Blake),<br/>
      util: guarantee sane errno in virFileIsExecutable (Eric Blake),<br/>
      Don't build libxenlight driver for Xen 4.0 (Jim Fehlig),<br/>
      network driver: log error and abort network startup when radvd isn't found (Laine Stump),<br/>
      build: translate changes in previous patch (Eric Blake),<br/>
      Ensure binary is resolved wrt $PATH in virExec (Daniel P. Berrange),<br/>
      util: Forbid calling hash APIs from iterator callback (Jiri Denemark),<br/>
      Avoid taking lock in libvirt debug dump (Daniel Veillard),<br/>
      unlock the monitor when unwatching the monitor (Wen Congyang),<br/>
      Add vim configuration that makes vim auto-indent code (Hu Tao),<br/>
      virsh: fix memtune's help message for swap_hard_limit (Nikunj A. Dadhania),<br/>
      Add PCI sysfs reset access (Alex Williamson),<br/>
      Support Xen sysctl v8, domctl v7 (Jim Fehlig),<br/>
      macvtap: log an error if on failure to connect to netlink socket (Laine Stump),<br/>
      qemu: improve efficiency of dd during snapshots (Eric Blake),<br/>
      virsh: allow empty string arguments (Eric Blake),<br/>
      qemu: Fallback to HMP when cpu_set QMP command is not found (Wen Congyang),<br/>
      Change message for VIR_FROM_RPC error domain (Daniel P. Berrange),<br/>
      Add compat function for geteuid() (Daniel P. Berrange),<br/>
      Add virSetBlocking() to allow O_NONBLOCK to be toggle on or off (Daniel P. Berrange),<br/>
      qemu: use more appropriate error (Eric Blake),<br/>
      Make LXC container startup/shutdown/I/O more robust (Daniel P. Berrange),<br/>
      Allow to dynamically set the size of the debug buffer (Daniel Veillard),<br/>
      qemu: consolidate duplicated monitor migration code (Eric Blake),<br/>
      qemu: use lighter-weight fd:n on incoming tunneled migration (Eric Blake),<br/>
      Fix performance problem of virStorageVolCreateXMLFrom() (Minoru Usui),<br/>
      libvirt-guests: avoid globbing when splitting $URIS (Eric Blake),<br/>
      libvirt-guest.init: quoting variables (Philipp Hahn),<br/>
      virsh: Insert error messages to avoid a quiet abortion of commands (Michal Privoznik),<br/>
      python: Use hardcoded python path in libvirt.py (Jiri Denemark),<br/>
      virsh: Allow starting domains by UUID (Jiri Denemark),<br/>
      network driver: Use a separate dhcp leases file for each network (Laine Stump),<br/>
      network driver: Start dnsmasq even if no dhcp ranges/hosts are specified. (Laine Stump),<br/>
      libvirt-guest.init: handle domain name with spaces (Philipp Hahn),<br/>
      domain.rng vs. formatdomain.html#elementsUSB (Philipp Hahn),<br/>
      Ignore backing file errors in FS storage pool (Philipp Hahn),<br/>
      remote-protocol: implement new BlkioParameters API (Gui Jianfeng),<br/>
      virsh: Adding blkiotune command to virsh tool (Gui Jianfeng),<br/>
      qemu: implement new BlkioParameters API (Gui Jianfeng),<br/>
      libvirt: implements virDomain{Get,Set}BlkioParameters (Gui Jianfeng),<br/>
      setmem: add the new options to "virsh setmem" command (Taku Izumi),<br/>
      setmem: implement the remote protocol to address the new API (Taku Izumi),<br/>
      setmem: implement the code to address the new API in the qemu driver (Taku Izumi),<br/>
      audit: audit use of /dev/net/tun, /dev/tapN, /dev/vhost-net (Eric Blake),<br/>
      qemu: don't request cgroup ACL access for /dev/net/tun (Eric Blake),<br/>
      qemu: support vhost in attach-interface (Eric Blake),<br/>
      qemu: Refactor qemuDomainSnapshotCreateXML (Jiri Denemark),<br/>
      qemu: Fallback to HMP for snapshot commands (Jiri Denemark),<br/>
      qemu: Setup infrastructure for HMP passthrough (Jiri Denemark),<br/>
      qemu: Replace deprecated option of qemu-img (Osier Yang),<br/>
      audit: also audit cgroup ACL permissions (Eric Blake),<br/>
      cgroup: allow fine-tuning of device ACL permissions (Eric Blake),<br/>
      audit: rename remaining qemu audit functions (Eric Blake),<br/>
      audit: also audit cgroup controller path (Eric Blake),<br/>
      audit: split cgroup audit types to allow more information (Eric Blake),<br/>
      audit: tweak audit messages to match conventions (Eric Blake),<br/>
      Don't overwrite virRun error messages (Cole Robinson),<br/>
      virsh: Change option parsing functions to return tri-state information (Michal Privoznik),<br/>
      virsh: change vshCommandOptString return type and fix const-correctness (Michal Privoznik),<br/>
      support to detach USB disk (Wen Congyang),<br/>
      rename qemuDomainDetachSCSIDiskDevice to qemuDomainDetachDiskDevice (Wen Congyang),<br/>
      qemu_hotplug: Reword error if spice password change not available (Cole Robinson),<br/>
      Move event code out of the daemon/ into src/util/ (Daniel P. Berrange),<br/>
      Convert daemon/virsh over to use primary event APIs, rather than impl (Daniel P. Berrange),<br/>
      Cleaning up some of the logging code (Daniel Veillard),<br/>
      qemu: Support vram for video of qxl type (Osier Yang),<br/>
      Add an an internal API for emergency dump of debug buffer (Daniel Veillard),<br/>
      Add logrotate support for libvirtd.log (Daniel Veillard),<br/>
      Change default log policy to libvirtd.log instead of syslog (Daniel Veillard),<br/>
      Force all logs to go to the round robbin memory buffer (Daniel Veillard),<br/>
      AUTHORS: adjust to preferred spelling (KAMEZAWA Hiroyuki),<br/>
      Pass virSecurityManagerPtr to virSecurityDAC{Set, Restore}ChardevCallback (Soren Hansen),<br/>
      maint: update to latest gnulib (Eric Blake),<br/>
      Attempt to improve an error message (Daniel P. Berrange),<br/>
      add additional event debug points (Daniel P. Berrange),<br/>
      qemu: only request sound cgroup ACL when required (Eric Blake),<br/>
      Add support for multiple serial ports into the Xen driver (Michal Novotny),<br/>
      Add APIs for killing off processes inside a cgroup (Daniel P. Berrange),<br/>
      Allow hash tables to use generic pointers as keys (Daniel P. Berrange),<br/>
      Remove deallocator parameter from hash functions (Daniel P. Berrange),<br/>
      Make commandtest more robust wrt its execution environment (Daniel P. Berrange),<br/>
      audit: audit qemu pci and usb device passthrough (Eric Blake),<br/>
      audit: audit qemu memory and vcpu adjusments (Eric Blake),<br/>
      audit: add qemu hooks for auditing cgroup events (Eric Blake),<br/>
      audit: prepare qemu for listing vm in cgroup audits (Eric Blake),<br/>
      cgroup: determine when skipping non-devices (Eric Blake),<br/>
      virExec: avoid uninitialized memory usage (Eric Blake),<br/>
      Allow 32-on-64 execution for LXC guests (Daniel P. Berrange),<br/>
      Put &lt;stdbool.h&gt; into internal.h so it is available everywhere (Daniel P. Berrange),<br/>
      qemu: Switch over command line capabilities to virBitmap (Jiri Denemark),<br/>
      qemu: Rename qemud\?CmdFlags to qemuCaps (Jiri Denemark),<br/>
      qemu: Use helper functions for handling cmd line capabilities (Jiri Denemark),<br/>
      qemu: Rename QEMUD_CMD_FLAG_* to QEMU_CAPS_* (Jiri Denemark),<br/>
      util: Add API for converting virBitmap into printable string (Jiri Denemark),<br/>
      util: Use unsigned long as a base type for virBitmap (Jiri Denemark),<br/>
      Expose name + UUID to LXC containers via env variables (Daniel P. Berrange),<br/>
      Fix discard of expected errors (Daniel P. Berrange),<br/>
      Fix group/mode for /dev/pts inside LXC container (Daniel P. Berrange),<br/>
      802.1Qbh: Delay IFF_UP'ing interface until migration final stage (Roopa Prabhu),<br/>
      storage: make debug log more useful (Osier Yang),<br/>
      virsh: replace vshPrint with vshPrintExtra for snapshot list Otherwise extra information will be printed even if "--quiet" is specified. (Osier Yang),<br/>
      check device-mapper when building with mpath or disk storage driver (Wen Congyang),<br/>
      build: add dependency on gnutls-utils (Eric Blake),<br/>
      Renamed functions in xenxs (Markus Groß),<br/>
      Moved XM formatting functions to xenxs (Markus Groß),<br/>
      Moved XM parsing functions to xenxs (Markus Groß),<br/>
      Moved SEXPR formatting functions to xenxs (Markus Groß),<br/>
      Moved SEXPR parsing functions to xenxs (Markus Groß),<br/>
      Moved some SEXPR functions from xen-unified (Markus Groß),<br/>
      Moved SEXPR unit to utils (Markus Groß),<br/>
      virt-*-validate.in: quote all variable references (Dan Kenigsberg),<br/>
      virt-pki-validate: behave when CERTTOOL is missing (Dan Kenigsberg),<br/>
      autobuild.sh: use VPATH build (Eric Blake),<br/>
      maint: fix 'make dist' in VPATH build (Eric Blake),<br/>
      build: don't require pod2man for tarball builds (Eric Blake),<br/>
      hash: make virHashFree more free-like (Eric Blake),<br/>
      build: Fix API docs generation in VPATH build (Jiri Denemark),<br/>
      Remove all object hashtable caches from virConnectPtr (Daniel P. Berrange),<br/>
      nwfilter: enable rejection of packets (Stefan Berger),<br/>
      Drop empty argument from dnsmasq call (Guido Günther),<br/>
      esx: Ignore malformed host UUID from BIOS (Matthias Bolte),<br/>
      build: speed up non-maintainer builds (Eric Blake),<br/>
      build: recompute symbols after changing configure options (Eric Blake),<br/>
      Requires gettext for client package (Osier Yang),<br/>
      Do not add drive 'boot=on' param when a kernel is specified (Jim Fehlig),<br/>
      factor common code in virHashAddEntry and virHashUpdateEntry (Christophe Fergeau),<br/>
      add hash table rebalancing in virHashUpdateEntry (Christophe Fergeau),<br/>
      hash: modernize debug code (Eric Blake),<br/>
      build: improve 'make install' for VPATH builds (Eric Blake),<br/>
      check more error info about whether drive_add failed (Wen Congyang),<br/>
      logging: make VIR_ERROR and friends preserve errno (Eric Blake),<br/>
      maint: avoid 'make syntax-check' from tarball (Eric Blake),<br/>
      Give each virtual network bridge its own fixed MAC address (Laine Stump),<br/>
      Allow brAddTap to create a tap device that is down (Laine Stump),<br/>
      Add txmode attribute to interface XML for virtio backend (Laine Stump),<br/>
      Restructure domain struct interface "driver" data for easier expansion (Laine Stump),<br/>
      build: Fix VPATH build (Jiri Denemark),<br/>
      storage: Allow to delete device mapper disk partition (Osier Yang)<br/>
      </li>
      <li> Cleanups:<br/>
      The next release is 0.9.0 not 0.8.9 (Daniel Veillard),<br/>
      maint: use space, not tab, in remote_protocol-structs (Eric Blake),<br/>
      Remove the Open Nebula driver (Daniel P. Berrange),<br/>
      domain_conf: drop unused ref-count in snapshot object (Eric Blake),<br/>
      Update the set of maintainers for the project (Daniel Veillard),<br/>
      Make virDomainObjParseNode() static (Hu Tao),<br/>
      maint: make spacing in .sh files easier (Eric Blake),<br/>
      network driver: Fix indentation from previous commit (Laine Stump),<br/>
      qemu: Rename qemuMonitorCommandWithHandler as qemuMonitorText* (Jiri Denemark),<br/>
      qemu: Rename qemuMonitorCommand{,WithFd} as qemuMonitorHMP* (Jiri Denemark),<br/>
      maint: avoid long lines in more tests (Eric Blake),<br/>
      maint: kill all remaining uses of old DEBUG macro (Eric Blake),<br/>
      maint: Expand tabs in python code (Jiri Denemark),<br/>
      remove space between function name and ( (Christophe Fergeau),<br/>
      don't check for NULL before calling virHashFree (Christophe Fergeau),<br/>
      remove no longer needed calls to virReportOOMError (Christophe Fergeau),<br/>
      Move all the QEMU migration code to a new file (Daniel P. Berrange),<br/>
      Split all QEMU process mangement code into separate file (Daniel P. Berrange)<br/>
      </li>
    </ul>

    <h3>0.8.8: Feb 17 2011</h3>
    <ul>
      <li>Features:<br/>
      sysinfo: expose new API (Eric Blake),<br/>
      cgroup blkio weight support. (Gui Jianfeng),<br/>
      smartcard device support (Eric Blake),<br/>
      qemu: Support per-device boot ordering (Jiri Denemark)<br/>
      </li>

      <li>Documentation:<br/>
      docs: fix typos (Eric Blake),<br/>
      docs: added link for nimbus to apps page (Justin Clift),<br/>
      Update src/README (Matthias Bolte),<br/>
      docs: Add information about libvirt-php new location (Michal Novotny),<br/>
      Add libvirt-php information page (Michal Novotny),<br/>
      cgroup: Add documentation for blkiotune elements. (Gui Jianfeng),<br/>
      docs/index.html.in: update KVM url (Niels de Vos),<br/>
      docs/index.html.in: update QEMU url (Alon Levy),<br/>
      docs: more on qemu locking patterns (Eric Blake),<br/>
      docs: renamed hudson project link to jenkins, matching project rename (Justin Clift),<br/>
      docs: Update docs for cpu_shares setting (Osier Yang),<br/>
      docs: replace CRLF with LF (Juerg Haefliger),<br/>
      docs: Add docs for new extra parameter pkipath (Osier Yang),<br/>
      docs: expand the man page text for virsh setmaxmem (Justin Clift),<br/>
      docs: fix incorrect XML element mentioned by setmem text (Justin Clift),<br/>
      docs: add a link to the bindings page under the downloads menu item (Justin Clift),<br/>
      docs: document &lt;controller&gt; element (Eric Blake),<br/>
      docs: move the apps page to the top level as its good promo (Justin Clift),<br/>
      docs: added new entries to apps page, plus adjusted a few existing (Justin Clift),<br/>
      docs: document &lt;sysinfo&gt; and &lt;smbios&gt; elements (Eric Blake),<br/>
      datatypes: Fix outdated function names in the documentation (Matthias Bolte),<br/>
      Add documentation for VIR_DOMAIN_MEMORY_PARAM_UNLIMITED (Matthias Bolte),<br/>
      docs: Move the "Network Filtering" page one level up in the hierarchy (Matthias Bolte),<br/>
      docs: add buildbot to the apps page (Justin Clift),<br/>
      docs: add new conversion heading to the apps listing (Justin Clift),<br/>
      docs: updated windows page for new 0.8.7 installer (Justin Clift),<br/>
      docs: clarify virsh setvcpus and setmem usage with active domains (Justin Clift),<br/>
      Document HAP domain feature (Jim Fehlig),<br/>
      docs: fix trivial typos in currentMemory description (Justin Clift),<br/>
      doc: improve the documentation of desturi (Wen Congyang),<br/>
      docs: reorder apps page alphabetically, plus add libguestfs entries (Justin Clift),<br/>
      docs: add entry for archipel to the apps page (Justin Clift),<br/>
      docs: use xml entity encoding for extended character last name (Justin Clift),<br/>
      docs: updated memtune info again in virsh command reference (Justin Clift),<br/>
      docs: updated release of virsh cmd reference, with memtune info (Justin Clift),<br/>
      maint: document dislike of mismatched if/else bracing (Eric Blake),<br/>
      docs: added libvirt-announce to contact page (Justin Clift)<br/>
      </li>

      <li>Portability:<br/>
      qemu: ignore failure of qemu -M ? on older qemu (Eric Blake),<br/>
      virsh: avoid mingw compiler warnings (Eric Blake),<br/>
      build: avoid problems with autogen.sh runs from tarball (Eric Blake),<br/>
      build: fix cygwin strerror_r failure (Eric Blake),<br/>
      Avoid pthread_sigmask on Win32 platforms (Daniel P. Berrange),<br/>
      Fix compilation when building without sasl (Daniel Veillard),<br/>
      build: fix parted detection at configure time (Eric Blake),<br/>
      Fix setup of lib directory with autogen.sh --system (Daniel P. Berrange),<br/>
      build: fix 'make check' with older git (Eric Blake),<br/>
      maint: support --no-git option during autogen.sh (Eric Blake),<br/>
      libvirt-guests: remove bashisms (Laurent Léonard),<br/>
      build: restore mingw build (Eric Blake),<br/>
      commandtest: avoid printing loader-control variables from commandhelper (Diego Elio Pettenò)<br/>
      </li>

      <li>Bug fixes:<br/>
      qemu: Error prompt when saving a shutoff domain (Osier Yang),<br/>
      cgroup: preserve correct errno on failure (Eric Blake),<br/>
      qemu: Fix command line generation with faked host CPU (Jiri Denemark),<br/>
      tests: Fake host capabilities properly (Jiri Denemark),<br/>
      build: address clang reports about virCommand (Eric Blake),<br/>
      qemu: don't mask real error with oom report (Eric Blake),<br/>
      qemu: avoid NULL derefs (Eric Blake),<br/>
      virDomainMemoryStats: avoid null dereference (Eric Blake),<br/>
      Fix leak of mutex attributes in POSIX threads impl (Daniel P. Berrange),<br/>
      Fix leak in SCSI storage backend (Daniel P. Berrange),<br/>
      storage: Create enough volumes for mpath pool (Osier Yang),<br/>
      qemu: avoid NULL deref on error (Eric Blake),<br/>
      conf: Fix XML generation for smartcards (Jiri Denemark),<br/>
      Fix cleanup on VM state after failed QEMU startup (Daniel P. Berrange),<br/>
      libvirt-qemu: Fix enum type declaration (Jiri Denemark),<br/>
      xen: Prevent updating device when attaching a device (Osier Yang),<br/>
      qemu: Fix escape_monitor(escape_shell(command)) (Philipp Hahn),<br/>
      qemu: fix attach-interface regression (Wen Congyang),<br/>
      Fix typo in parsing of spice 'auth' data (Michal Privoznik),<br/>
      Reset logging filter function when forking (Daniel P. Berrange),<br/>
      Block SIGPIPE around virExec hook functions (Daniel P. Berrange),<br/>
      Only initialize/cleanup libpciaccess once (Daniel P. Berrange),<br/>
      macvtap: fix 2 nla_put expressions (non-serious bug) (Stefan Berger),<br/>
      qemu: avoid double shutdown (Eric Blake),<br/>
      Fix conflicts with glibc globals (Davidlohr Bueso),<br/>
      qemuBuildDeviceAddressStr() checks for QEMUD_CMD_FLAG_PCI_MULTIBUS (Niels de Vos),<br/>
      Don't sleep in poll() if there is existing SASL decoded data (Daniel P. Berrange),<br/>
      Initialization error of controller in QEmu SCSI hotplug (Wen Congyang),<br/>
      esx: Ensure max-memory has 4 megabyte granularity (Matthias Bolte),<br/>
      Remove double close of qemu monitor (Daniel P. Berrange),<br/>
      Prevent overfilling of self-pipe in python event loop (Daniel P. Berrange),<br/>
      avoid vm to be deleted if qemuConnectMonitor failed (Wen Congyang),<br/>
      tests: Fix virtio channel tests (Jiri Denemark),<br/>
      event: fix event-handling allocation crash (Eric Blake),<br/>
      storage: Round up capacity for LVM volume creation (Osier Yang),<br/>
      Do not use virtio-serial port 0 for generic ports (David Allan),<br/>
      Manually kill gzip if restore fails before starting qemu (Laine Stump),<br/>
      Set SELinux context label of pipes used for qemu migration (Laine Stump),<br/>
      virsh: require --mac to avoid detach-interface ambiguity (Michal Privoznik),<br/>
      dispatch error before return (Wen Congyang),<br/>
      event: fix event-handling data race (Eric Blake),<br/>
      qemu: Retry JSON monitor cont cmd on MigrationExpected error (Jim Fehlig),<br/>
      Fix startup with VNC password expiry on old QEMU (Daniel P. Berrange),<br/>
      Fix error reporting when machine type probe fails (Daniel P. Berrange),<br/>
      Avoid crash in security driver if model is NULL (Daniel P. Berrange),<br/>
      qemu: Fix a possible deadlock in p2p migration (Wen Congyang),<br/>
      qemu: Avoid sending STOPPED event twice (Jiri Denemark),<br/>
      spec: Start libvirt-guests only if it's on in current runlevel (Jiri Denemark),<br/>
      Increase size of driver table to make UML work again (Daniel P. Berrange),<br/>
      qemu: don't fail capabilities check on 0.12.x (Eric Blake),<br/>
      Fix 'make check' after commit 04197350 (Jim Fehlig),<br/>
      esx: Fix memory leak in HostSystem managed object free function (Matthias Bolte),<br/>
      qemu: Watchdog IB700 is not a PCI device (RHBZ#667091). (Richard W.M. Jones),<br/>
      cpu: plug memory leak (Eric Blake),<br/>
      network: plug memory leak (Eric Blake),<br/>
      network: plug unininitialized read found by valgrind (Eric Blake),<br/>
      remote: Don't lose track of events when callbacks are slow (Cole Robinson),<br/>
      conf: Report error if invalid type specified for character device (Osier Yang),<br/>
      daemon: Fix core dumps if unix_sock_group is set (Jiri Denemark),<br/>
      vbox: Use correct VRAM size unit (Matthias Bolte),<br/>
      bridge: Fix generation of dnsmasq's --dhcp-hostsfile option (Kay Schubert),<br/>
      qemu: Fix bogus warning about uninitialized saveptr (Jiri Denemark),<br/>
      Don't chown qemu saved image back to root after save if dynamic_ownership=0 (Laine Stump)<br/>
      </li>

      <li>Improvements:<br/>
      maint: delete unused 'make install' step (Eric Blake),<br/>
      Update czech localization (Zdenek Styblik),<br/>
      Avoid empty strings when --with-packager(-version) is not specified (Matthias Bolte),<br/>
      Output commandline on status != 0 in virCommandWait (Matthias Bolte),<br/>
      add missing error handling to virGetDomain (Christophe Fergeau),<br/>
      call virReportOOMError when appropriate in hash.c (Christophe Fergeau),<br/>
      xml: avoid compiler warning (Eric Blake),<br/>
      nwfilter: reorder match extensions relative to state match (Stefan Berger),<br/>
      fix OOM handling in hash routines (Christophe Fergeau),<br/>
      docs: Distribute XSLT files to generate HACKING (Matthias Bolte),<br/>
      qemu: Report a more informative error for missing cgroup controllers (Matthias Bolte),<br/>
      Imprint all logs with version + package build information (Daniel P. Berrange),<br/>
      Reduce log level when cgroups aren't mounted (Daniel P. Berrange),<br/>
      Avoid warnings from nwfilter driver when run non-root (Daniel P. Berrange),<br/>
      build: distribute 'make syntax-check' tweaks (Eric Blake),<br/>
      Adjust some log levels in udev driver (Daniel P. Berrange),<br/>
      Add check for binary existing in machine type probe (Daniel P. Berrange),<br/>
      Add a little more debugging for async events (Daniel P. Berrange),<br/>
      Move connection driver modules directory (Daniel P. Berrange),<br/>
      Support SCSI RAID type &amp; lower log level for unknown types (Daniel P. Berrange),<br/>
      Don't use CLONE_NEWUSER for now (Serge E. Hallyn),<br/>
      sysinfo: implement qemu support (Eric Blake),<br/>
      sysinfo: refactor xml formatting (Eric Blake),<br/>
      sysinfo: implement virsh support (Eric Blake),<br/>
      sysinfo: implement the remote protocol (Eric Blake),<br/>
      sysinfo: implement the public API (Eric Blake),<br/>
      sysinfo: define internal driver API (Eric Blake),<br/>
      LXC: LXC Blkio weight configuration support. (Gui Jianfeng),<br/>
      qemu: Implement blkio tunable XML configuration and parsing. (Gui Jianfeng),<br/>
      cgroup: Update XML Schema for new entries. (Gui Jianfeng),<br/>
      cgroup: Implement blkio.weight tuning API. (Gui Jianfeng),<br/>
      cgroup: Enable cgroup hierarchy for blkio cgroup (Gui Jianfeng),<br/>
      Update Dutch and Polish localizations (Daniel Veillard),<br/>
      Vietnamese translations for libvirt (Hero Phương),<br/>
      spicevmc: support older -device spicevmc of qemu 0.13.0 (Eric Blake),<br/>
      smartcard: add spicevmc support (Eric Blake),<br/>
      spicevmc: support new qemu chardev (Daniel P. Berrange),<br/>
      smartcard: turn on qemu support (Eric Blake),<br/>
      smartcard: enable SELinux support (Eric Blake),<br/>
      smartcard: check for qemu capability (Eric Blake),<br/>
      smartcard: add domain conf support (Eric Blake),<br/>
      smartcard: add XML support for &lt;smartcard&gt; device (Eric Blake),<br/>
      qemu: Support booting from hostdev PCI devices (Jiri Denemark),<br/>
      Support booting from hostdev devices (Jiri Denemark),<br/>
      qemu: Add shortcut for HMP pass through (Jiri Denemark),<br/>
      macvtap: fix variable in debugging output (Stefan Berger),<br/>
      qemu: Build command line for incoming tunneled	migration (Osier Yang),<br/>
      bridge_driver: handle DNS over IPv6 (Paweł Krześniak),<br/>
      tests: handle backspace-newline pairs in test input files (Juerg Haefliger),<br/>
      qemu: More clear error parsing domain def failure of tunneled migration (Osier Yang),<br/>
      maint: reject raw close, popen in 'make syntax-check' (Eric Blake),<br/>
      build: avoid close, system (Eric Blake),<br/>
      Add VIR_DIV_UP to divide memory or storage request sizes with round up (Matthias Bolte),<br/>
      qemu: fix augeas support for vnc_auto_unix_socket (Eric Blake),<br/>
      virsh: added --all flag to freecell command (Michal Privoznik),<br/>
      esx: Don't try to change max-memory of an active domain (Matthias Bolte),<br/>
      qemu aio: enable support (Eric Blake),<br/>
      qemu aio: parse aio support from qemu -help (Matthias Dahl),<br/>
      qemu aio: add XML parsing (Matthias Dahl),<br/>
      Remove bogus log warning lines when launching QEMU (Daniel P. Berrange),<br/>
      qemu: fix error messages (Eric Blake),<br/>
      qemu: Report more accurate error on failure to attach device. (Hu Tao),<br/>
      Force guest suspend at timeout (Wen Congyang),<br/>
      Show migration progress. (Wen Congyang),<br/>
      Cancel migration if user presses Ctrl-C when migration is in progress (Hu Tao),<br/>
      qemu: use separate alias for chardev and associated device (Eric Blake),<br/>
      remote: Add extra parameter pkipath for URI (Osier Yang),<br/>
      Update localization files from Fedora i10n (Daniel Veillard),<br/>
      Add check for poll error events in monitor (Daniel P. Berrange),<br/>
      Filter out certain expected error messages from libvirtd (Daniel P. Berrange),<br/>
      Add a function to the security driver API that sets the label of an open fd. (Laine Stump),<br/>
      qemu: Error prompt when managed save a shutoff domain (Osier Yang),<br/>
      build: avoid corrupted gnulib/tests/Makefile (Eric Blake),<br/>
      qemu: sound: Support intel 'ich6' model (Cole Robinson),<br/>
      vmx: Use VIR_ERR_CONFIG_UNSUPPORTED when appropriated (Matthias Bolte),<br/>
      Push unapplied fixups for previous patch (Cole Robinson),<br/>
      qemu: Add conf option to auto setup VNC unix sockets (Cole Robinson),<br/>
      qemu: Allow serving VNC over a unix domain socket (Cole Robinson),<br/>
      qemu: Set domain def transient at beginning of startup process (Cole Robinson),<br/>
      qemu: report more proper error for unsupported graphics (Osier Yang),<br/>
      qemu: Fail if per-device boot is used but deviceboot is not supported (Jiri Denemark),<br/>
      Turn libvirt.c error reporting functions into macros (Daniel P. Berrange),<br/>
      build: use more gnulib modules for simpler code (Eric Blake),<br/>
      Remove two unused PATH_MAX-sized char arrays from the stack (Matthias Bolte),<br/>
      Use VIR_ERR_OPERATION_INVALID when appropriated (Matthias Bolte),<br/>
      Fix misuse of VIR_ERR_INVALID_* error code (Matthias Bolte),<br/>
      Simplify "NWFilterPool" to "NWFilter" (Matthias Bolte),<br/>
      datatypes: Get virSecretFreeName in sync with the other free functions (Matthias Bolte),<br/>
      qemu: use -incoming fd:n to avoid qemu holding fd indefinitely (Eric Blake),<br/>
      tests: Add tests for per-device boot elements (Jiri Denemark),<br/>
      Introduce per-device boot element (Jiri Denemark),<br/>
      conf: Move boot parsing into a separate function (Jiri Denemark),<br/>
      build: let xgettext see strings in libvirt-guests (Eric Blake),<br/>
      A couple of fixes for the search PHP code (Daniel Veillard),<br/>
      virsh: Use WITH_SECDRIVER_APPARMOR to detect AppArmor support (Matthias Bolte),<br/>
      memtune: Let virsh know the unlimited value for memory tunables (Nikunj A. Dadhania),<br/>
      maint: improve sc_prohibit_strncmp syntax check (Eric Blake),<br/>
      Enable tuning of qemu network tap device "sndbuf" size (Laine Stump),<br/>
      Add XML config switch to enable/disable vhost-net support (Laine Stump),<br/>
      Use the new set_password monitor command to set password. (Marc-André Lureau),<br/>
      qemu: add set_password and expire_password monitor commands (Marc-André Lureau),<br/>
      qemu: move monitor device out of domain_conf common code (Eric Blake),<br/>
      domain_conf: split source data out from ChrDef (Eric Blake),<br/>
      cpu: Add support for Westmere CPU model (Jiri Denemark),<br/>
      qemu: improve device flag parsing (Eric Blake),<br/>
      util: add missing string-&gt;integer conversion functions (Eric Blake),<br/>
      qemu: convert capabilities to use virCommand (Eric Blake),<br/>
      virsh: ensure --maximum flag used only with --config for setvcpus (Justin Clift),<br/>
      Add HAP to xen hypervisor capabilities (Jim Fehlig),<br/>
      Add support for HAP feature to xen drivers (Jim Fehlig),<br/>
      Add HAP to virDomainFeature enum (Jim Fehlig),<br/>
      tests: virsh is no longer in builddir/src (Eric Blake),<br/>
      virFindFileInPath: only find executable non-directory (Eric Blake),<br/>
      Fix old PHP syntax in the search online form (Daniel Veillard),<br/>
      report error when specifying wrong desturi (Wen Congyang),<br/>
      qemu: Reject SDL graphic if it's not supported by qemu (Osier Yang),<br/>
      vbox: Silently ignore missing registry key on Windows (Matthias Bolte),<br/>
      python: Use PyCapsule API if available (Cole Robinson),<br/>
      event-test: Simplify debug on/off (Cole Robinson),<br/>
      Refactor the security drivers to simplify usage (Daniel P. Berrange),<br/>
      Add AM_MAINTAINER_MODE (Guido Günther),<br/>
      esx: Move occurrence check into esxVI_LookupObjectContentByType (Matthias Bolte),<br/>
      esx: Add domain autostart support (Matthias Bolte),<br/>
      vmx: Add support for video device VRAM size (Matthias Bolte),<br/>
      API: Improve log for domain related APIs (Osier Yang),<br/>
      schema: tighten &lt;serial&gt;&lt;protocol type=...&gt; relaxNG (Eric Blake),<br/>
      Log an error on attempts to add a NAT rule for non-IPv4 addresses (Laine Stump),<br/>
      Improve error reporting when parsing dhcp info for virtual networks (Laine Stump),<br/>
      qemu driver: fix positioning to end of log file (Stefan Berger),<br/>
      build: satisfy 'make syntax-check' regarding year change (Eric Blake)<br/>
      </li>

      <li>Cleanups:<br/>
      build: silence some clang warnings (Eric Blake),<br/>
      maint: kill dead assignments (Eric Blake),<br/>
      build: silence false positive clang report (Eric Blake),<br/>
      maint: whitespace cleanup (Eric Blake),<br/>
      maint: update AUTHORS (Eric Blake),<br/>
      Prefer C style comments over C++ ones (Matthias Bolte),<br/>
      Revert all previous error log priority hacks (Daniel P. Berrange),<br/>
      Cleanup code style in logging APIs (Daniel P. Berrange),<br/>
      Remove redundant brackets around return values (Daniel P. Berrange),<br/>
      tests: Remove obsolete secaatest (Matthias Bolte),<br/>
      datatypes: avoid redundant __FUNCTION__ (Eric Blake)<br/>
      </li>

    </ul>
    <h3>0.8.7: Jan 4 2011</h3>
    <ul>
      <li>Features:<br/>
      Preliminary support for VirtualBox 4.0 (Matthias Bolte),<br/>
      IPv6 support (Laine Stump),<br/>
      Add VMware Workstation and Player driver (Jean-Baptiste Rouault),<br/>
      Add network disk support (MORITA Kazutaka and Josh Durgin)<br/>
      </li>

      <li>Documentation:<br/>
      esx: Fix "occurence" typo (again) (Matthias Bolte),<br/>
      update docs for network disks (MORITA Kazutaka),<br/>
      docs: Make VMware Workstation / Player page appear in the menu (Matthias Bolte),<br/>
      Add info about VMware driver to the libvirt website (Jean-Baptiste Rouault),<br/>
      docs: fixed typo, added table of contents (Justin Clift),<br/>
      docs: added compiling page and significantly expanded windows page (Justin Clift),<br/>
      docs: Add additional indentation to level 3 menu items (Matthias Bolte),<br/>
      maint: doc fix (Eric Blake),<br/>
      Update documentation of watchdog dump option and add test data for it (Hu Tao),<br/>
      virsh: fix a typo in the memtune help description (Justin Clift),<br/>
      docs: updated virsh command reference download links to new version (Justin Clift),<br/>
      Moved the nodeinfo command to the 'host' help keyword group (Justin Clift),<br/>
      man pages: update the description for the virsh help command (Justin Clift),<br/>
      virsh: move two commands from domain group to storage pool group (Osier Yang),<br/>
      virCommand: docs for usage of new command APIs (Daniel P. Berrange),<br/>
      virsh: update help for "virsh help help" (Osier Yang),<br/>
      virsh: remove a badly placed line break in virsh -h output (Justin Clift),<br/>
      virsh: Categorize commands into groups for virsh help (Osier Yang)<br/>
      </li>

      <li>Portability:<br/>
      vbox: Handle different IID representation in Version 2.2 on Windows (Matthias Bolte),<br/>
      build: make building on cygwin easier (Eric Blake),<br/>
      build: improve testsuite results with older automake (Eric Blake),<br/>
      build: allow older libselinux again (Eric Blake),<br/>
      build: allow autoconf 2.59 again (Eric Blake),<br/>
      build: allow mingw compilation with virCommand (Eric Blake),<br/>
      build: quote AC_LANG_PROGRAM to avoid warnings with autoconf 2.68 (Diego Elio Pettenò),<br/>
      build: properly handle ./configure --with-libpcap (Diego Elio Pettenò),<br/>
      build: avoid shadowing devname(),<br/> on BSD systems (Eric Blake)
      Fix undefined symbol errors when macvtap support is disabled (Matthias Bolte),<br/>
      Fix warning when macvtap support is disabled (Jean-Baptiste Rouault)<br/>
      </li>

      <li>Bug fixes:<br/>
      virExec: fix logic bug (Eric Blake),<br/>
      Set broadcast address for IPv4 addresses on virtual network bridges (Laine Stump),<br/>
      Fix misuse of VIR_ERR_INVALID_DOMAIN (Matthias Bolte),<br/>
      build: fix building error when building without libvirtd (Wen Congyang),<br/>
      spec: Enable ESX driver on RHEL (Jiri Denemark),<br/>
      bridge: Fix uninitialized variable (Jiri Denemark),<br/>
      make the dhcp element optional in network.rng (Laine Stump),<br/>
      fix syntax error in configure.ac (Wen Congyang),<br/>
      qemu: Reparent children when deleting a snapshot (Matthias Bolte),<br/>
      Set bitmap size when allocating a bitmap (Jim Fehlig),<br/>
      qemu: Return SPICE ports on domain shutdown (Jiri Denemark),<br/>
      virterror: avoid API breakage with vmware (Eric Blake),<br/>
      Fix memory leak in virsh (Hu Tao),<br/>
      Distribute libvirt_vmx.syms (Matthias Bolte),<br/>
      vmware: Fix undefine symbol with loadable drivers enabled (Matthias Bolte),<br/>
      esx: Fix cluster resource lookup when connecting to a vCenter (Matthias Bolte),<br/>
      command: avoid hanging on daemon processes (Eric Blake),<br/>
      storage: Ignore dangling symbolic link for filesystem pool (Osier Yang),<br/>
      Skip file-based security checks for network disks (Josh Durgin),<br/>
      tests: avoid data race (Eric Blake),<br/>
      bridge_driver: avoid double call to VIR_FREE (Paweł Krześniak),<br/>
      vbox: Don't leak domain names in vboxListDefinedDomains (Matthias Bolte),<br/>
      vbox: Don't leak arrays from XPCOM (Matthias Bolte),<br/>
      build: fix typo that broke 'make dist' (Eric Blake),<br/>
      util: Fix logical error in virReportSystemErrorFull (Jiri Denemark),<br/>
      util: Fix error message in __virExec (Jiri Denemark),<br/>
      daemon: Change CWD to / before daemonizing (Jiri Denemark),<br/>
      daemon, threads: plug a memory leak (Eric Blake),<br/>
      daemon: plug a memory leak (Eric Blake),<br/>
      conf: plug memory leaks (Eric Blake),<br/>
      tests: plug memory leaks (Eric Blake),<br/>
      virExec: avoid undefined behavior (Eric Blake),<br/>
      command: plug memory leak (Eric Blake),<br/>
      build: distribute commandtest files (Eric Blake),<br/>
      spec: do not start libvirt-guests if that service is off (Dan Kenigsberg),<br/>
      correct the signal's name (Wen Congyang),<br/>
      command: avoid memory leak (Eric Blake),<br/>
      qemu: call drive_del in DetachPciDiskDevice (Ryan Harper),<br/>
      qemu: call drive_unplug in DetachPciDiskDevice (Ryan Harper),<br/>
      qemud: fix memory leak in io error events (Anthony Liguori),<br/>
      qemu: Enable disabled debug messages (Jiri Denemark),<br/>
      qemu: Use -vga none only if it is supported (Jiri Denemark),<br/>
      openvz: avoid potential buffer overflow (Eric Blake),<br/>
      tests: fix leaks in commandtest (Eric Blake),<br/>
      uuid: require smbios uuid and domain uuid to match (Eric Blake),<br/>
      qemu: avoid adding "" in smbios arguments (Eric Blake),<br/>
      Fix funny off-by-one error in clock-variable (Dan Kenigsberg),<br/>
      syntax error "Bad fd number" when stopping libvirt-guests (Laurent Léonard),<br/>
      util: Fix bug which will cause libvirtd crash (Osier Yang),<br/>
      qemu: Fix a possible deadlock in p2p migration (Jiri Denemark),<br/>
      qemu: Don't try to set input FD to -1 (Matthias Bolte),<br/>
      Fix memory leak in logging setup (Daniel P. Berrange),<br/>
      schemas: Fix cpu element schema (Jiri Denemark),<br/>
      virsh: Remove using phy as default disk driver in cmdAttachDisk (Osier Yang),<br/>
      OpenVZ: drop fd leackage (Guido Günther),<br/>
      qemu: plug memory leak (Eric Blake),<br/>
      libvirtd: avoid memory leak on shutdown (Eric Blake),<br/>
      Fix flaw in thread creation APIs (Daniel P. Berrange)<br/>
      </li>

      <li>Improvements:<br/>
      build: avoid compilation warnings (Eric Blake),<br/>
      Improve virSocketAddrMask[ByPrefix] API (Laine Stump),<br/>
      Utility functions to produce an IPv4 broadcast address (Laine Stump),<br/>
      qemu: add -incoming fd:n capability checking (Eric Blake),<br/>
      spec: Automatically turn on cgconfig service (Daniel P. Berrange),<br/>
      Replace setuid/setgid/initgroups with virSetUIDGID(),<br/> (Laine Stump)
      new virSetUIDGID(),<br/> utility function (Laine Stump)
      Preserve errno across calls to error reporting functions &amp; VIR_FREE (Laine Stump),<br/>
      Run radvd for virtual networks with IPv6 addresses (Laine Stump),<br/>
      Turn on IPv6 support in the bridge_driver.c virtual network driver (Laine Stump),<br/>
      Update iptables.c to also support ip6tables. (Laine Stump),<br/>
      Support multiple IP addresses on one network in bridge_driver.c (Laine Stump),<br/>
      Change virtual network XML parsing/formatting to support IPv6 (Laine Stump),<br/>
      Replace brSetInetAddress/brSetInetNetmask with brAddInetAddress (Laine Stump),<br/>
      Make virtual network netmasks optional (Laine Stump),<br/>
      Pass prefix rather than netmask into iptables functions (Laine Stump),<br/>
      Consistently return 0 on success, -1 on failure in bridge_driver.c (Laine Stump),<br/>
      Fix logging of failed iptables commands (Laine Stump),<br/>
      New virNetworkDef utility functions (Laine Stump),<br/>
      New virSocketAddr utility functions (Laine Stump),<br/>
      virsh: Add --force option to update-device (Jiri Denemark),<br/>
      esx: Add support for storage volume wiping (Matthias Bolte),<br/>
      esx: Add support for storage volume deletion (Matthias Bolte),<br/>
      maint: avoid space-tab (Eric Blake),<br/>
      build: skip vmware driver when building for RHEL (Eric Blake),<br/>
      tests: avoid spurious failure of nodeinfotest (Eric Blake),<br/>
      libvirt-guests: avoid sourcing failure (Eric Blake),<br/>
      vbox: Handle different array representations of XPCOM and MSCOM (Matthias Bolte),<br/>
      vbox: Add glue layer for MSCOM on Windows (Matthias Bolte),<br/>
      vbox: Match struct layout of the MSCOM implementation on Windows (Matthias Bolte),<br/>
      vbox: Use stdcall convention for all COM methods on Windows (Matthias Bolte),<br/>
      maint: improve tests distribution (Eric Blake),<br/>
      Update QEMU test cases for new file locations &amp; API renames (Daniel P. Berrange),<br/>
      Move QEMU hotplug helper code out of the QEMU driver (Daniel P. Berrange),<br/>
      Move QEMU domain lock / job helper code to separate file (Daniel P. Berrange),<br/>
      Move QEMU driver lock helpers to a separate file (Daniel P. Berrange),<br/>
      Move QEMU hostdev helper code out of the QEMU driver (Daniel P. Berrange),<br/>
      Move QEMU cgroup helper code out of the QEMU driver (Daniel P. Berrange),<br/>
      Move QEMU audit helper code out of the QEMU driver (Daniel P. Berrange),<br/>
      Move QEMU private data &amp; namespace code into separate file (Daniel P. Berrange),<br/>
      Move QEMU command line management into a separate file (Daniel P. Berrange),<br/>
      Move QEMU capabilities management into a separate file (Daniel P. Berrange),<br/>
      Add a new function doStartCPUs (Hu Tao),<br/>
      Add a new function doStopCPUs (Hu Tao),<br/>
      Add a macro timeval_to_ms to compute micro seconds from timeval (Hu Tao),<br/>
      cpu: Unify CPUID data structures (Jiri Denemark),<br/>
      esx: Add support for storage volume cloning (Matthias Bolte),<br/>
      selinux: avoid memory overhead of matchpathcon (Eric Blake),<br/>
      tests: test Fedora 14 qemu-kvm -help parsing (Eric Blake),<br/>
      tests: test RHEL 6.0 qemu-kvm -help parsing (Eric Blake),<br/>
      sysinfo: convert to virCommand (Eric Blake),<br/>
      build: update gnulib for pipe on mingw (Eric Blake),<br/>
      test: fix commandtest under autobuild.sh (Eric Blake),<br/>
      qemu: Introduce two new job types (Osier Yang),<br/>
      qemu: Add RBD support and some network disk fixes (Josh Durgin),<br/>
      Missing "Default-Stop" field in LSB comment in libvirt-guests (Laurent Léonard),<br/>
      802.1Qbh: Add support for IFLA_VF_MAC (Roopa Prabhu),<br/>
      command: ease use with virBuffer, and fix qemu leak (Eric Blake),<br/>
      Convert dhcpStartDhcpDaemon from virRun to virCommand (Laine Stump),<br/>
      esx: Refactor storage pool type lookup into a function (Matthias Bolte),<br/>
      esx: Improve error reporting for failed tasks (Matthias Bolte),<br/>
      tests: Add tests for network disks (Josh Durgin),<br/>
      Add a watchdog action `dump' (Hu Tao),<br/>
      Add a new function doCoreDump (Hu Tao),<br/>
      threadpool impl (Hu Tao),<br/>
      qemu: Distinguish between domain shutdown and crash (Jiri Denemark),<br/>
      qemu: Only build devstr when needs (attach PCI controller),<br/> (Osier Yang)
      configure: improve misleading libnl missing error message (Justin Clift),<br/>
      maint: update to latest gnulib (Eric Blake),<br/>
      openvz: convert popen to virCommand (Eric Blake),<br/>
      command: improve behavior on no output (Eric Blake),<br/>
      command: enforce fd vs. buffer considerations (Eric Blake),<br/>
      tests: Fix commandtest in VPATH build (Jiri Denemark),<br/>
      command: improve allocation failure reporting (Eric Blake),<br/>
      tests: Fix detection of expected error (Jiri Denemark),<br/>
      tests: Fix code formating in commandtest (Jiri Denemark),<br/>
      smbios: allow (),<br/> in smbios strings (Eric Blake)
      smbios: support system family (Eric Blake),<br/>
      threads: add virThreadID for debugging use (Eric Blake),<br/>
      tests: Don't ignore return value of getcwd(),<br/> (Jiri Denemark)
      build: Fix internal docs generation in VPATH builds (Jiri Denemark),<br/>
      Change return value of VIR_DRV_SUPPORTS_FEATURE to bool (Jiri Denemark),<br/>
      Implement virVMOperationType{To|From}String independent from WITH_MACVTAP (Matthias Bolte),<br/>
      Create file in virFileWriteStr(),<br/> if it doesn't exist (Jean-Baptiste Rouault)
      Remove bogus includes (Daniel P. Berrange),<br/>
      uml: convert to virCommand (Daniel P. Berrange),<br/>
      qemu: convert to virCommand (Eric Blake),<br/>
      Port hooks and iptables code to new command execution APIs (Daniel P. Berrange),<br/>
      Introduce new APIs for spawning processes (Daniel P. Berrange),<br/>
      util: add virVasprintf (Eric Blake),<br/>
      util: fix saferead type (Eric Blake),<br/>
      Tweak daemon event debug to include errno (Daniel P. Berrange),<br/>
      tests: Add tests for CPU selection in qemu driver (Jiri Denemark),<br/>
      tests: Support for faking emulator in qemuxml2argv (Jiri Denemark),<br/>
      maint: update .gitignore (Eric Blake),<br/>
      qemu: Use macro for max and min vnc port instead of number (Osier Yang),<br/>
      tests: Add unit tests for internal CPU APIs (Jiri Denemark),<br/>
      cpu: Add support for overriding path to CPU map XML file (Jiri Denemark),<br/>
      Fall back to QEMUD_SAVE_FORMAT_RAW if compression method fails. (Hu Tao)<br/>
      </li>

      <li>Cleanups:<br/>
      esx: Move VMX handling code out of the driver directory (Matthias Bolte),<br/>
      qemu: use virAsprintf instead of PATH_MAX (Eric Blake),<br/>
      build: fix typo that broke 'make dist' (Wen Congyang),<br/>
      sysinfo: formatting cleanups (Eric Blake),<br/>
      virsh: Remove redundant commands in group domain (Osier Yang),<br/>
      virsh: Remove redundant optional option for cmdHelp (Osier Yang),<br/>
      qemu: Fix typo in qemuTeardownDiskPathDeny (Osier Yang),<br/>
      maint: allow 'make syntax-check' to run again (Eric Blake)<br/>
      </li>
    </ul>
    <h3>0.8.6: Nov 30 2010</h3>
    <ul>
      <li> Features:<br/>
      new API virDomainIsUpdated (Osier Yang),<br/>
      Add support for iSCSI target auto-discovery (Daniel P. Berrange),<br/>
      QED: Basic support for QED images (Adam Litke),<br/>
      Introduce a virDomainOpenConsole API (Daniel P. Berrange),<br/>
      Support for SPICE graphics (Daniel P. Berrange),<br/>
      Add a sysinfo and SMBIOS support (Daniel Veillard),<br/>
      Implement virsh qemu-monitor-command. (Chris Lalancette)<br/>
      </li>
      <li> Documentation:<br/>
      updated c# bindings with arnauds latest changes (Justin Clift),<br/>
      Fix spelling of virBufferAsprintf (Jiri Denemark),<br/>
      Fix broken XML entity for '&gt;' (Philipp Hahn),<br/>
      removed outdated reference to virt-mem (Justin Clift),<br/>
      Add doc for missed options of migrate (Osier Yang),<br/>
      add doc for missed parameters of attach-disk (Osier Yang),<br/>
      update virsh manual (Osier Yang),<br/>
      updated virsh command reference with libvirt.org links (Justin Clift),<br/>
      Generate HACKING from docs/hacking.html.in (Matthias Bolte),<br/>
      Prepare hacking.html.in to generate HACKING from it (Matthias Bolte),<br/>
      updated csharp pages with latest info (Justin Clift),<br/>
      trivial typo fix (Justin Clift),<br/>
      added virsh command reference page. (Justin Clift),<br/>
      rpm: Fix summary wording (Cole Robinson),<br/>
      Augment bug reporting documentation (Daniel Veillard),<br/>
      virsh: fix incorrect help text mentioning non-existent network 'id' (Justin Clift),<br/>
      Fix off-by-1 in todo page generator (Daniel P. Berrange),<br/>
      Fix comment for video tag in domain RNG schema (Daniel P. Berrange),<br/>
      fix typo (Eric Blake)<br/>
      </li>
      <li> Portability:<br/>
      remote: Fix TLS transport on Windows (Matthias Bolte),<br/>
      Rename 'remove' param to 'toremove' to avoid clash with stdio.h (Daniel P. Berrange),<br/>
      virt-aa-helper: Fix several compile errors (Matthias Bolte),<br/>
      maint: improve i18n on non-Linux (Eric Blake),<br/>
      nwfilter: use /bin/sh rather than requiring bash (Eric Blake),<br/>
      Use python discovered through env instead of hardcoding a path (Matthias Bolte),<br/>
      esx: Avoid warnings about breaking strict-aliasing rules on FreeBSD (Matthias Bolte),<br/>
      Make sure struct sockaddr_in is defined on FreeBSD (Matthias Bolte),<br/>
      configure: Disable FS storage driver if mntent.h is not available (Matthias Bolte),<br/>
      daemon: Include stdlib.h in dispatch.c (Matthias Bolte),<br/>
      xen: work with xen 4.0.1 headers (Eric Blake),<br/>
      Fix build with polkit 0 (Jim Fehlig),<br/>
      xen: work with ia64 MAX_VIRT_CPUS of 64 (Eric Blake),<br/>
      build: cleanup declaration of xen tests. (Diego Elio Pettenò),<br/>
      qemu: check compression program availability of virsh save and dump (KAMEZAWA Hiroyuki)<br/>
      </li>
      <li> Bug Fixes:<br/>
      correct the arguments of migrate_speed (Wen Congyang),<br/>
      Fix memory leaks in audit &amp; VirtualBox code (Daniel P. Berrange),<br/>
      Fix host CPU counting on unusual NUMA topologies (Jiri Denemark),<br/>
      security, storage: plug memory leaks for security_context_t (Eric Blake),<br/>
      network: plug memory leak (Eric Blake),<br/>
      qemu: plug memory leak (Eric Blake),<br/>
      Always close drivers when a virConnectPtr is released (Matthias Bolte),<br/>
      libvirtd: fix bug when shrinking number of clients (Eric Blake),<br/>
      Fix 32-bit int truncation in QED header check (Daniel P. Berrange),<br/>
      Fix error handling in virsh when listing storage volumes (Daniel P. Berrange),<br/>
      Fix parsing of port attribute in storage XML configuration (Daniel P. Berrange),<br/>
      Don't catch SIGCHLD in libvirtd (Daniel P. Berrange),<br/>
      Ensure logfile isn't truncated by shutdown message. (Daniel P. Berrange),<br/>
      xend: Escape reserved sexpr characters (Cole Robinson),<br/>
      xend: urlencode: Properly escape '&amp;' (Cole Robinson),<br/>
      conf: Fix parsing python style triple quotes (Cole Robinson),<br/>
      nwfilter: re-order lock grabbed by IP addr. learn thread (Stefan Berger),<br/>
      virExec: fix bug in setting up child stderr/out with /dev/null (Daniel P. Berrange),<br/>
      Fix a failure to restore SELinux label for character devices (Daniel Veillard),<br/>
      nwfilter: also purge ip(6)tables rules before detecting IP address (Stefan Berger),<br/>
      Fix ipv4-addr definition in interface.rng (Laine Stump),<br/>
      remote_driver.c: fix non-literal format strings w/o args (Laine Stump),<br/>
      ignore SELinuxSetFilecon error in SELinuxSetSecurityFileLabel if on nfs (Laine Stump),<br/>
      Fix reference counting bug in virsh console (Daniel P. Berrange),<br/>
      Fix busy-wait loop on closed file descriptor (Daniel P. Berrange),<br/>
      Fix LXC container console device setup (Daniel P. Berrange),<br/>
      rpm: fix /var/lib/libvirt permissions (Eric Blake),<br/>
      xencapstest: Don't fail when Xen is installed (Matthias Bolte),<br/>
      virsh: fix non-literal string format (Laine Stump),<br/>
      Fix syntax-check error in domain.rng (Matthias Bolte),<br/>
      qemu: Fix non-literal format string (Jiri Denemark),<br/>
      macvtap: libvirtd forgot macvtap dev name when restarted (Stefan Berger),<br/>
      tests: fix daemon-conf testing failure (Osier Yang),<br/>
      Fix virPipeReadUntilEOF on more than 1024 bytes of data (Daniel Veillard),<br/>
      Misc error handling fixes in text mode monitor commands (Daniel P. Berrange),<br/>
      Ignore open failures when relabelling disk images (Daniel P. Berrange),<br/>
      Treat failure to relabel stdin_path as non-fatal on NFS (Daniel P. Berrange),<br/>
      qemu: add the USB devices to the cgroup whitelist (Diego Elio Pettenò),<br/>
      802.1Qbg: use pre-associate state at beginning of inc. migr (Stefan Berger)<br/>
      </li>
      <li> Improvements:<br/>
      Log client errors in libvirtd at debug priority,<br/>
      maint: prohibit most uses of xmlGetProp (Eric Blake),<br/>
      maint: ensure syntax check exceptions are distributed (Eric Blake),<br/>
      Implementations of virDomainIsUpdated for drivers except qemu (Osier Yang),<br/>
      implement callback function for qemu driver (Osier Yang),<br/>
      implement the remote protocol (Osier Yang),<br/>
      implement public API virDomainIsUpdated (Osier Yang),<br/>
      define internal driver API (Osier Yang),<br/>
      tests: Fix dispatching internal error reports (Cole Robinson),<br/>
      Improve SCSI volume name generation (Daniel P. Berrange),<br/>
      Fix error codes returned when a storage pool is inactive (Daniel P. Berrange),<br/>
      Check whether pools are already active upon libvirtd startup (Daniel P. Berrange),<br/>
      Allow iSCSI IQN to be set with find-storage-pool-sources-as command (Daniel P. Berrange),<br/>
      Switch the virsh XML generation to use virBuffer instead of virAsprintf (Daniel P. Berrange),<br/>
      Stop iSCSI targets automatically logging back in after logout (Daniel P. Berrange),<br/>
      Refactor iSCSI driver code to facilitate future changes (Daniel P. Berrange),<br/>
      Ensure virExec preserves logging environment (Daniel P. Berrange),<br/>
      Include a thread identifier in log messages (Daniel P. Berrange),<br/>
      qemu: setvcpus: Save config changes to disk (Cole Robinson),<br/>
      qemu: setvcpus: Simplify altering the persistent config (Cole Robinson),<br/>
      qemu: setvcpus: Fix maxvcpus check (Cole Robinson),<br/>
      conf: domain: Improve vcpus validation reporting (Cole Robinson),<br/>
      Make state driver device hotplug/update actually transient (Cole Robinson),<br/>
      domain_conf: Add virDomainObjSetDefTransient (Cole Robinson),<br/>
      buf: Simplify virBufferEscapeString (Cole Robinson),<br/>
      conf: Convert ParseString to use STRPREFIX (Cole Robinson),<br/>
      schemas: domain: Add more valid file path chars (Cole Robinson),<br/>
      qed: Minor updates to QED support patches (Adam Litke),<br/>
      Support for probing qed image metadata (Adam Litke),<br/>
      storage_file: Add a new flag to mark backing files that are safe to probe (Adam Litke),<br/>
      Allow probing of image formats without version information (Adam Litke),<br/>
      maint: tighten strncmp syntax check (Eric Blake),<br/>
      capabilities, cpu: use new array API (Eric Blake),<br/>
      memory: make it easier to avoid quadratic scaling of arrays (Eric Blake),<br/>
      memory: make it safer to expand arrays (Eric Blake),<br/>
      build: fix autobuild failures on gcov upgrade (Eric Blake),<br/>
      virt-aa-helper: translate error messages (Eric Blake),<br/>
      maint: update to latest gnulib (Eric Blake),<br/>
      deprecate fclose() and introduce VIR_{FORCE_}FCLOSE() (Stefan Berger),<br/>
      qemu: record timestamp in qemu domain log (Osier Yang),<br/>
      virsh: add net-info command (Osier Yang),<br/>
      interface.rng: Make miimon and arpmon optional for bond interfaces (Laine Stump),<br/>
      macvtap: convert send / recv function to use libnl (Stefan Berger),<br/>
      configure: Remove bashism and replace 'test ==' with 'test =' (Matthias Bolte),<br/>
      virsh: Fix compile error in VPATH build (Matthias Bolte),<br/>
      qemu: Remove unnecessary quoting from the process name argument (John Morrissey),<br/>
      phyp: Don't do a flags check in the storage driver (Matthias Bolte),<br/>
      qemu: Add qemu-system-s390x to the emulators list (Matthias Bolte),<br/>
      macvtap: convert nl msg construction to use libnl (Stefan Berger),<br/>
      Do a better job of validating IP and MAC addresses in network.rng (Laine Stump),<br/>
      virt-aa-helper should require uuid in XML (Jamie Strandboge),<br/>
      esx: Support SMBIOS host mode (Matthias Bolte),<br/>
      Wire up virDomainOpenConsole for LXC, Xen and UML (Daniel P. Berrange),<br/>
      Re-write virsh console to use streams (Daniel P. Berrange),<br/>
      Convert daemon/events.c to use virMutex and virThread (Daniel P. Berrange),<br/>
      Introduce portability APIs for creating threads (Daniel P. Berrange),<br/>
      Support virDomainOpenConsole with QEMU (Daniel P. Berrange),<br/>
      Add a generic internal API for handling any FD based stream (Daniel P. Berrange),<br/>
      Lower logging level in remote driver streams (Daniel P. Berrange),<br/>
      Remote driver client and server for virDomainOpenConsole (Daniel P. Berrange),<br/>
      Support callbacks on virStream APIs in remote driver client (Daniel P. Berrange),<br/>
      virsh: supply long option for -V (Eric Blake),<br/>
      qemu: Add flag to force a CDROM eject (Cole Robinson),<br/>
      Allow non-file disk backingStores (Adam Litke),<br/>
      bye to close(), welcome to VIR_(FORCE_)CLOSE() (Stefan Berger),<br/>
      esx: Add support for memtune/min_guarantee (Matthias Bolte),<br/>
      schema: Move timer element inside clock (Jiri Denemark),<br/>
      Misc test case fixes for SPICE (Daniel P. Berrange),<br/>
      virsh: Add .xml suffix to tmp files used in *edit commands (Jiri Denemark),<br/>
      Support SPICE channel security options (Daniel P. Berrange),<br/>
      Support multiple QXL video cards (Daniel P. Berrange),<br/>
      Define XML syntax for password expiry (Daniel P. Berrange),<br/>
      Add SPICE support for QEMU driver configuration file (Daniel P. Berrange),<br/>
      Support automatic port number allocation for SPICE (Daniel P. Berrange),<br/>
      Implement QEMU/KVM QXL video card support in QEMU driver (Daniel P. Berrange),<br/>
      Add a graphics type for SPICE protocol (Daniel P. Berrange),<br/>
      Add a QXL graphics card type to domain XML schema (Daniel P. Berrange),<br/>
      Show compiled in options in virsh -V (Daniel Veillard),<br/>
      lxc: Exit on first error in lxcDomainGetMemoryParameters (Matthias Bolte),<br/>
      Allow virDomainGetMemoryParameters on read-only connections (Matthias Bolte),<br/>
      Add a new test for sysinfo and smbios handling (Daniel Veillard),<br/>
      Add sysinfo/smbios support to the QEmu driver (Daniel Veillard),<br/>
      Read the host sysinfo for the QEmu driver (Daniel Veillard),<br/>
      Add smbios element to schema and configuration to HVM os (Daniel Veillard),<br/>
      Sysinfo parsing and saving to/from configuration files (Daniel Veillard),<br/>
      Sysinfo extension to relax-ng schemas (Daniel Veillard),<br/>
      Change calling conventions in remote driver client internals (Daniel P. Berrange),<br/>
      util: Add helper function to build timestamp string (Osier Yang),<br/>
      misc: encode the Emacs suggstions from HACKING into a .dir-locals.el file (Diego Elio Pettenò),<br/>
      add compression support for "virsh dump" (KAMEZAWA Hiroyuki),<br/>
      qemu_driver: add virCgroupMounted (Lai Jiangshan),<br/>
      OpenVZ: Fix some overwritten error codes (Guido Günther),<br/>
      OpenVZ: take veid from vmdef-name when defining new domains (Guido Günther)<br/>
      </li>
      <li> Cleanups:<br/>
      tests: Fix detection of expected errors (Jiri Denemark),<br/>
      Remove bogus check for Xen in example program (Daniel P. Berrange),<br/>
      build: enforce files.h usage (Eric Blake),<br/>
      maint: sort exports (Eric Blake),<br/>
      Remove bogus port handling code in virsh (Daniel P. Berrange),<br/>
      Remove trailing ':' from timestamp (Daniel P. Berrange),<br/>
      Log all errors at level INFO to stop polluting syslog (Daniel P. Berrange),<br/>
      daemon: use safer memory growth macros (Eric Blake),<br/>
      maint: avoid remaining sprintf uses (Eric Blake),<br/>
      maint: use gnulib configmake rather than open-coding things (Eric Blake),<br/>
      replace last instances of close() (Stefan Berger),<br/>
      daemon: fix indention problem in daemon/libvirt.c (Osier Yang),<br/>
      qemu: fix typos in qemu_monitor_text.c (Osier Yang),<br/>
      re-indent network.rng following structural change (Laine Stump),<br/>
      Put network.rng contents inside grammar for uniformity with other RNGs (Laine Stump),<br/>
      maint: Commit .gitignore sorting done by bootstrap (Jiri Denemark),<br/>
      xen-proxy: Remove it entirely and use libvirtd instead (Matthias Bolte),<br/>
      qemu: Remove redundant slash in save directory path (Matthias Bolte),<br/>
      virterror: supply missing spaces (Eric Blake),<br/>
      Fix several warnings about a non-literal format string (Jiri Denemark),<br/>
      build: avoid compiler warning in xen code (Eric Blake)<br/>
      </li>
    </ul>

    <h3>0.8.5: Oct 29 2010</h3>
    <ul>
      <li> Features: <br/>
      Enable JSON and netdev features in QEMU &gt; 0.13 (Daniel P. Berrange),<br/>
      framework for auditing integration (Daniel P. Berrange),<br/>
      framework for DTrace/SystemTap integration (Daniel P. Berrange),<br/>
      Setting the number of vcpu at boot (Eric Blake),<br/>
      Enable support for nested SVM (Daniel P. Berrange),<br/>
      Virtio plan9fs filesystem QEMU (Daniel P. Berrange),<br/>
      Memory parameter controls (Nikunj A. Dadhania),<br/>
      portability to OS-X (Justin Clift)
      </li>
      <li> Documentation: <br/>
      virsh: improve the help description for managedsave and start (Justin Clift),<br/>
      updated the C# bindings page with arnauds latest changes (Justin Clift),<br/>
      update ruby bindings maintainer to chris lalancette (Justin Clift),<br/>
      reworded and reordered the bindings page, plus minor tweaks (Justin Clift),<br/>
      Fix xen API documentation (Philipp Hahn),<br/>
      added a table of contents to the first 11 docs files (Justin Clift),<br/>
      reformated the bindings page html markup to match other pages (Justin Clift),<br/>
      revamp api_extension example, using vcpu patch series (Eric Blake),<br/>
      install the generated html files when make install is run (Justin Clift),<br/>
      Fix documentation for virEventAddTimeout() (Philipp Hahn),<br/>
      esx: Add documentation about certificates and connection problems (Matthias Bolte),<br/>
      added a table of contents to the new c sharp bindings page (Justin Clift),<br/>
      removed old changelog file, as it is no longer relevant (Justin Clift),<br/>
      Update comments for the memory tunables macros (Nikunj A. Dadhania),<br/>
      added initial page for c# binding, with links to it (Justin Clift),<br/>
      virsh: consolidate memtune docs (Eric Blake),<br/>
      Update docs for memory parameters and memtune command (Nikunj A. Dadhania),<br/>
      document how to disable memballoon (Eric Blake),<br/>
      Update todo list file to point at bugzilla/website (Daniel P. Berrange),<br/>
      virsh: update comment about parsing (Eric Blake),<br/>
      virsh: document options in man page (Eric Blake),<br/>
      Fixes for documentation extraction (Daniel Veillard),<br/>
      Add automatic generation of a todo item page (Daniel P. Berrange),<br/>
      nwfilter: Add 2nd example to the html docs (Stefan Berger),<br/>
      nwfilter: Extend docs with info about the state attribute (Stefan Berger),<br/>
      vcpu: improve cpuset attribute (Eric Blake),<br/>
      nwfilter: Extend docs with information about comment attr. (Stefan Berger),<br/>
      grammar cleanups on logging examples (Eric Blake),<br/>
      Fix spelling of Xen in comments (Philipp Hahn),<br/>
      reworked the policykit patch submitted by Patrick Dignan (Justin Clift),<br/>
      fix the xml validity errors regarding name and id (Justin Clift),<br/>
      improve wording for the dev guide (Justin Clift),<br/>
      add the app dev guide (Justin Clift)
      </li>
      <li>Portability: <br/>
      mingw: Add body for virFork and remove double virDriverLoadModule export (Matthias Bolte),<br/>
      daemon: exclude requirement for probes.h on systems without systemtap (Justin Clift),<br/>
      build: skip xenapi driver when building for RHEL (Eric Blake),<br/>
      build: fix mingw build (Eric Blake),<br/>
      build: require pkg-config for bootstrap (Eric Blake),<br/>
      configure: disable network and storage-fs drivers on mac os x (Justin Clift),<br/>
      build: fix example build on MacOS X (Eric Blake),<br/>
      mpath: disable devmapper-multipath checking on non-linux (Justin Clift),<br/>
      mac os x: use awk selected by build system rather than first in path (Justin Clift),<br/>
      virtualbox: fix a typo in the expected location on mac os x (Justin Clift),<br/>
      nwfilter: Don't compile nwfilter driver on other systems than Linux (Stefan Berger),<br/>
      nwfilter: add a missing define, so libvirtd builds on macos x (Justin Clift),<br/>
      build: avoid non-portable IPv6 struct member, for MacOS X (Eric Blake),<br/>
      virsh: change wexitstatus order to allow compilation on mac osx (Justin Clift),<br/>
      build: use portable sed expressions (Eric Blake)
      </li>
      <li> Bug Fixes: <br/>
      eliminate possibility of a double-closed file descriptor (Stefan Berger),<br/>
      qemu: check for vm after starting a job (Eric Blake),<br/>
      Only attempt removal of the rule allowing tftp if it was added (Laine Stump),<br/>
      qemu: don't use %.3d format for bus/addr of USB devices (Diego Elio Pettenò),<br/>
      virsh: fix range of memtune command (Eric Blake),<br/>
      qemu: work around dash 0.5.5 bug in managed save (Eric Blake),<br/>
      Avoid squashing errors during network startup cleanup path (Daniel P. Berrange),<br/>
      xen: Fix domain dump (Jiri Denemark),<br/>
      dnsmasq: avoid potential crash (Eric Blake),<br/>
      Fix netmask checks for IPv6 in virSocketCheckNetmask (Daniel P. Berrange),<br/>
      Don't fail lxc domain start when memory controller support is missing (Guido Günther),<br/>
      root_squash: virFileOperation may fail with EPERM too (Dan Kenigsberg),<br/>
      qemu: let qemu group look below /var/lib/libvirt/qemu/ (Dan Kenigsberg),<br/>
      qemu: Prohibit migration of guests with host devices (Jiri Denemark),<br/>
      cpu: Use vendor in baseline CPU only if all hosts use it (Jiri Denemark),<br/>
      cpu: Fix vendor for recent CPU models (Jiri Denemark),<br/>
      Fix Xen SEXPR generation to properly quote strings containing () (Daniel P. Berrange),<br/>
      nwfilter: resolve deadlock between VM ops and filter update (Stefan Berger),<br/>
      Don't fail on missing D-Bus (Guido Günther),<br/>
      cpu: Remove redundant features (Jiri Denemark),<br/>
      xen: Fix virDomain{At,De}tachDevice (Jiri Denemark),<br/>
      xen: xenXMDomain*DeviceFlags should obey all flags (Jiri Denemark),<br/>
      nwfilter: fix memory leaks (Stefan Berger),<br/>
      phyp: Checking for NULL values when building new guest (Eduardo Otubo),<br/>
      libvirt-guests: start late and stop early (Jiri Denemark),<br/>
      nwfilter bug appearing on big endian machines (Stefan Berger),<br/>
      Rebuild network filter for UML guests on updates (Soren Hansen)
      </li>
      <li> Improvements: <br/>
      vbox: Stop hardcoding a single path for VBoxXPCOMC.so (Matthias Bolte),<br/>
      Add disk/net resource auditing to QEMU driver (Daniel P. Berrange),<br/>
      Add auditing of security label in QEMU driver (Daniel P. Berrange),<br/>
      Add auditing of start/stop events to the QEMU driver (Daniel P. Berrange),<br/>
      Add printf format attribute annotation to virAuditSend method (Daniel P. Berrange),<br/>
      Add audit helper for escaping log message strings (Daniel P. Berrange),<br/>
      virsh: use - not _ in memtune option names (Eric Blake),<br/>
      build: fix shell detection bug (Eric Blake),<br/>
      virsh: improve help text where integers are expected (Eric Blake),<br/>
      docs: make the location of the xml catalog file a configure option (Justin Clift),<br/>
      Fix build for SystemTap 1.0 (Matthias Bolte),<br/>
      Fix formatting of network address in iptables helpers (Daniel P. Berrange),<br/>
      virsh: Add option 'model' for attach-interface (Osier Yang),<br/>
      qemu: Fix detection of drive readonly option (Jiri Denemark),<br/>
      vbox: Fix compile errors due to the virSocketAddr series (Matthias Bolte),<br/>
      Don't try to parse a NULL ip address for boot server (Daniel P. Berrange),<br/>
      Convert virNetwork to use virSocketAddr everywhere (Daniel P. Berrange),<br/>
      Include socket address in client probe data (Daniel P. Berrange),<br/>
      Add dtrace static probes in libvirtd (Daniel P. Berrange),<br/>
      Add test suite for virSocket APIs (Daniel P. Berrange),<br/>
      Ban use of all inet_* functions (Daniel P. Berrange),<br/>
      Fix error reporting for virSocketParse (Daniel P. Berrange),<br/>
      Expand virSocketFormat to be more flexible (Daniel P. Berrange),<br/>
      Fix passing of address family to virSocketParseAddr (Daniel P. Berrange),<br/>
      Include length with virSocketAddr data (Daniel P. Berrange),<br/>
      audit: simplify declaration (Eric Blake),<br/>
      qemu: Exit on first error in qemuDomainGetMemoryParameters (Matthias Bolte),<br/>
      virsh: Don't read nparams when virDomainGetMemoryParameters fails (Matthias Bolte),<br/>
      Fix formatting of the memtune XML element (Matthias Bolte),<br/>
      Add process= support for 'qemu-kvm -name' (John Morrissey),<br/>
      nwfilter: avoid dir. enforcement for certain types of rules (Stefan Berger),<br/>
      Audit SELinux label assignment. (Miloslav Trmač),<br/>
      Audit VM start/stop/suspend/resume (Miloslav Trmač),<br/>
      vcpu: remove dead xen code (Eric Blake),<br/>
      vcpu: improve support for setting xen vcpu counts (Eric Blake),<br/>
      vcpu: improve support for getting xen vcpu counts (Eric Blake),<br/>
      vcpu: improve vcpu support in xen command line (Eric Blake),<br/>
      vcpu: complete vcpu support in qemu driver (Eric Blake),<br/>
      vcpu: improve vcpu support in qemu command line (Eric Blake),<br/>
      vcpu: support all flags in test driver (Eric Blake),<br/>
      vcpu: add virsh support (Eric Blake),<br/>
      vcpu: support maxvcpu in domain_conf (Eric Blake),<br/>
      vcpu: make old API trivially wrap to new API (Eric Blake),<br/>
      vcpu: implement the remote protocol (Eric Blake),<br/>
      vcpu: implement the public APIs (Eric Blake),<br/>
      vcpu: define internal driver API (Eric Blake),<br/>
      vcpu: add new public API (Eric Blake),<br/>
      nwfilter: changes to rules in VM-&gt;host table (Stefan Berger),<br/>
      esx: Handle non-UTF-8 encoded VMX files (Matthias Bolte),<br/>
      Run initgroups() in qemudOpenAsUID() (Dan Kenigsberg),<br/>
      memtune: Add min_guarantee to the virsh memtune command (Nikunj A. Dadhania),<br/>
      esx: Fix check in esxDomainGetInfo's perf metric handling (Matthias Bolte),<br/>
      virsh: add tests for recent cli improvements (Eric Blake),<br/>
      virsh: new echo command (Eric Blake),<br/>
      virsh: add support for accepting arbitrary argv (Eric Blake),<br/>
      esx: Explictly declare VMX file content as UTF-8 (Matthias Bolte),<br/>
      esx: Handle name escaping properly (Matthias Bolte),<br/>
      nwfilter: prevent filters with different name but same UUID (Stefan Berger),<br/>
      new attribute accessmode to filesystem element (Harsh Prateek Bora),<br/>
      nwfilter: cut off connections after changing filters (Stefan Berger),<br/>
      build: provide URL in 'configure --help' (Eric Blake),<br/>
      tests: Honor LIBVIRT_{DEBUG,LOG_*} variables (Jiri Denemark),<br/>
      tests: Do not override LIBVIRT_DEBUG variable (Jiri Denemark),<br/>
      Improve error reporting in test suites (Daniel P. Berrange),<br/>
      virsh: move code into topological order (Eric Blake),<br/>
      virsh: simplify top-level option parsing (Eric Blake),<br/>
      virsh: add -- support (Lai Jiangshan),<br/>
      virsh: support single quote (Lai Jiangshan),<br/>
      virsh: add escaper \ for command string parsing (Lai Jiangshan),<br/>
      virsh: rework command parsing (Lai Jiangshan),<br/>
      virsh: add vshCommandParser abstraction (Lai Jiangshan),<br/>
      virsh: better handling the boolean option (Lai Jiangshan),<br/>
      virsh: allow zero length arguments (Lai Jiangshan),<br/>
      virsh: better support double quote (Lai Jiangshan),<br/>
      Add todo.pl and config example to EXTRA_DIST (Daniel P. Berrange),<br/>
      Fix several minor problems introduced by the memtune series (Matthias Bolte),<br/>
      Remote protocol implementation of virDomainSet/GetMemoryParameters (Nikunj A. Dadhania),<br/>
      Adding memtune command to virsh tool (Nikunj A. Dadhania),<br/>
      Implement domainGetMemoryParamters for LXC (Nikunj A. Dadhania),<br/>
      Implement domainSetMemoryParamters for LXC (Nikunj A. Dadhania),<br/>
      Adding memtunables to libvirt-lxc command (Nikunj A. Dadhania),<br/>
      Adding memtunables to qemuSetupCgroup (Nikunj A. Dadhania),<br/>
      Implement domainGetMemoryParamters for QEmu (Nikunj A. Dadhania),<br/>
      Implement domainSetMemoryParamters for QEmu (Nikunj A. Dadhania),<br/>
      Implement cgroup memory controller tunables (Nikunj A. Dadhania),<br/>
      XML parsing for memory tunables (Nikunj A. Dadhania),<br/>
      Adds xml entries for memory tunables in domain schema (Nikunj A. Dadhania),<br/>
      Adding structure and defines for virDomainSet/GetMemoryParameters (Nikunj A. Dadhania),<br/>
      Set sensible defaults for cpu match and feature policy (Daniel P. Berrange),<br/>
      xen: Fix logic bug in xenDaemon*DeviceFlags (Jiri Denemark),<br/>
      xen: Make xenDaemon*DeviceFlags errors less confusing (Jiri Denemark),<br/>
      Return a suitable error message if we can't find a matching emulator (Guido Günther),<br/>
      Pass -n to ip(6)tables (Guido Günther),<br/>
      nwfilter: Extend schema to accept state attribute (Stefan Berger),<br/>
      nwfilter: Add test case for testing the state attribute (Stefan Berger),<br/>
      nwfilter: Instantiate state match in ip(6)tables rules (Stefan Berger),<br/>
      nwfilter: Extend XML parser and gen. to support state attr. (Stefan Berger),<br/>
      xen: Fix bogus error when attaching a device (Jiri Denemark),<br/>
      esx: Add support for virtual serial device network backing (Matthias Bolte),<br/>
      phyp: Verify that domain XML contains at least one disk element (Matthias Bolte),<br/>
      implement usb and pci hot attach in AppArmor driver (Jamie Strandboge),<br/>
      nwfilter: Add a test case for testing the comment attribute (Stefan Berger),<br/>
      nwfilter: Extend nwfilter schema to accept comment attrib. (Stefan Berger),<br/>
      nwfilter: Instantiate comments in ip(6)tables rules (Stefan Berger),<br/>
      nwfilter: Extend XML parser and generator w/ comment attribute (Stefan Berger),<br/>
      configure: tweak logic flow of virtport check (Justin Clift),<br/>
      Rework configure logic for virtualport support (Stefan Berger),<br/>
      nwfilter: report if ip(6)tables rules would not be active (Stefan Berger),<br/>
      app-armor: add 'rw' for appropriate devices (Jamie Strandboge),<br/>
      add extra tests to virt-aa-helper-test for new '-p' option (Jamie Strandboge),<br/>
      esx: Allow '-' in VMX entry names (Matthias Bolte),<br/>
      Make SASL work over UNIX domain sockets (Daniel P. Berrange),<br/>
      Refactor some daemon code to facilitate introduction of static probes (Daniel P. Berrange),<br/>
      nodeinfo: work when hot-plugging is disabled (Eric Blake),<br/>
      libvirtd: improve the error message displayed on tls client auth failure (Justin Clift),<br/>
      virsh: Use virBuffer for generating XML (Jiri Denemark)
      </li>
      <li> Cleanups: <br/>
      audit: printf warning fix (KAMEZAWA Hiroyuki),<br/>
      build: use shorter file names for 'make dist' (Eric Blake),<br/>
      maint: fix syntax-check failure of previous patch (Eric Blake),<br/>
      maint: ignore new test executable (Eric Blake),<br/>
      tests: Silence qemuxml2argv test (Jiri Denemark),<br/>
      Remove all use of inet_pton and inet_ntop (Daniel P. Berrange),<br/>
      Remove both addrToString methods (Daniel P. Berrange),<br/>
      Remove pointless nwIPAddress struct &amp; void *casts (Daniel P. Berrange),<br/>
      Remove useless code in error path of getnameinfo() (Daniel P. Berrange),<br/>
      maint: sort private sym lists (Eric Blake),<br/>
      Rename VIR_DOMAIN_SWAP_HARD_LIMIT to VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT (Matthias Bolte),<br/>
      Fix make check on RHEL-5 (Jiri Denemark),<br/>
      Don't let daemon-conf test fail when auditing is disabled (Matthias Bolte),<br/>
      Fix compile errors in remote.c and newly added audit code (Matthias Bolte),<br/>
      Fix symbol exports &amp; remove duplicated libvirt_util.la linkage (Daniel P. Berrange),<br/>
      Fix statstest when driver modules are enabled (Daniel P. Berrange),<br/>
      build: avoid false positive syntax-check failure (Eric Blake),<br/>
      proxy: Fix undefined reference to virClose (Matthias Bolte),<br/>
      Introduce VIR_CLOSE to be used rather than close() (Stefan Berger),<br/>
      Fix warning about a non-literal format string in qemu_driver.c (Laine Stump),<br/>
      test: silence nwfilter test (Stefan Berger),<br/>
      tests: fix spurious test failure (Eric Blake),<br/>
      memory: fix remote protocol compilation (Eric Blake),<br/>
      virsh: poison raw allocation routines (Eric Blake),<br/>
      Avoid checking against strncpy in virsh.c (Daniel Veillard),<br/>
      Cleanup some tabs issues (Daniel Veillard),<br/>
      util: add missing export (Eric Blake),<br/>
      virt-aa-helper-test cleanups (Jamie Strandboge),<br/>
      python: drop unnecessary conn assignment (Dan Kenigsberg),<br/>
      pciFindStubDriver should return NULL on error (Chris Wright),<br/>
      tests: silence qemuargv2xmltest noise (Eric Blake),<br/>
      tests: clean up qemuargv2xmltest (Eric Blake),<br/>
      maint: silence warning from libtool (Eric Blake),<br/>
      tests: Fix preprocessor indentation (Jiri Denemark)
      </li>
    </ul>
    <h3>0.8.4: Sep 10 2010</h3>
    <ul>
      <li> Features:
      various improvements to UML driver (Soren Hansen)
      </li>
      <li> Documentation:<br/>
      docs: fix lxc examples (Serge Hallyn),<br/>
      docs: mention domain clock improvements (Eric Blake),<br/>
      docs: fix an incorrect keyword in updated hooks page (Justin Clift),<br/>
      docs: significant expansion of custom hook script information (Justin Clift)

      </li>
      <li> Portability:<br/>
      cygwin: build fix (Stefan Berger),<br/>
      build: allow mingw VPATH build (Eric Blake),<br/>
      Generate libvirt_qemu.def from libvirt_qemu.syms for MinGW builds (Matthias Bolte),<br/>
      Only require XDR when building libvirtd or the remote driver (Matthias Bolte),<br/>
      build-sys: fix build when daemon is disabled by not installing libvirtd.8 (Diego Elio Pettenò)

      </li>
      <li> Bug Fixes:<br/>
      Fix block statistics with newer versions of Xen (Guido Günther),<br/>
      Fix off-by-1 in QEMU boot arg array handling (Daniel P. Berrange),<br/>
      bridge: Fix static-only DHCP configuration (Jiri Denemark),<br/>
      qemu: qemuMonitorJSONEjectMedia(): Fix arguments' type (Luiz Capitulino),<br/>
      qemu: qemuMonitorJSONMigrate(): Fix arguments' type (Luiz Capitulino),<br/>
      test: Don't overwrite storage volume target path and key (Matthias Bolte),<br/>
      build: Fix permissions of sysconfig files (Jiri Denemark),<br/>
      virsh: remove driver check from attach-disk command (Ryan Harper),<br/>
      phyp: Bad comparison when checking for existing domain name (Eduardo Otubo),<br/>
      esx: Fix esxVI_BuildSelectSet's invalid argument check (Matthias Bolte),<br/>
      spec: Fix undefined with_libnl (Jiri Denemark),<br/>
      Fix handling of sparse NUMA topologies (Daniel P. Berrange),<br/>
      qemu: Check for errors when converting PCI address to string (Jiri Denemark),<br/>
      qemu: Fix JSON migrate_set_downtime command (Jiri Denemark),<br/>
      uml: fix logic bug in checking reply length (Eric Blake),<br/>
      xen: Fix scheduler setting problems (Daniel Veillard),<br/>
      nodedev: Free the right pointers when getting WWNs fails (Jiri Denemark),<br/>
      nodedev: Fix sysfs paths for vport operations (Dave Allan),<br/>
      xen: Fix device count on detach (Daniel Berrange),<br/>
      remote: Fix incorrect use of private data field (Daniel Berrange),<br/>
      esx: Fix memory leak when looking up an non-existing domain by name (Matthias Bolte),<br/>
      Fix up qemu domain save/managed save locking. (Chris Lalancette),<br/>
      qemu: Release PCI slot when detaching disk and net devices (Jiri Denemark),<br/>
      qemu: Re-reserve all PCI addresses on libvirtd restart (Jiri Denemark),<br/>
      Close fd's of persistent tap devices (Soren Hansen),<br/>
      Fix tunnelled migration with qemu running as qemu:qemu. (Chris Lalancette),<br/>
      Fix valgrind complaints when using kill -SIGHUP on libvirtd (Stefan Berger),<br/>
      bridge: Fix potential segfault when preparing dnsmasq arguments (Jiri Denemark),<br/>
      Fix return value usage (Doug Goldstein),<br/>
      nodeinfo: skip offline CPUs (Eric Blake),<br/>
      Do not use boot=on on IDE device (Daniel Veillard)

      </li>
      <li> Improvements:<br/>
      virsh: Option for overriding disk type in attach-disk (Jiri Denemark),<br/>
      Explicitly pass uml_dir argument to user-mode-linux (Soren Hansen),<br/>
      Fix dependancies for remote generated files (Daniel P. Berrange),<br/>
      Ensure remote daemon unions are always non-zero length (Daniel P. Berrange),<br/>
      Add nwfilter support to UML driver (Soren Hansen),<br/>
      esx: Use SessionIsActive when available (Matthias Bolte),<br/>
      esx: Fall back to path as key when QueryVirtualDiskUuid isn't available (Matthias Bolte),<br/>
      mingw: match recent changes in spec file (Eric Blake),<br/>
      Update of localization files (Daniel Veillard),<br/>
      esx: Use the VirtualDisk UUID as storage volume key (Matthias Bolte),<br/>
      esx: Add .vmdk storage volume creation (Matthias Bolte),<br/>
      OpenVZ: add ethernet interface type support (Jean-Baptiste Rouault),<br/>
      esx: Rework datastore path parsing and handling (Matthias Bolte),<br/>
      esx: Fix generator for string return values (Matthias Bolte),<br/>
      build: add some modules (Eric Blake),<br/>
      Use global directory as UML's monitorDir for privileged connections (Soren Hansen),<br/>
      maint: track moved file (Eric Blake),<br/>
      Add tests for Xen's blktap2 implementation (Jim Fehlig),<br/>
      Add blktap2 support to xend driver (Jim Fehlig),<br/>
      esx: Map the .vmx annotation to the domain XML description (Matthias Bolte),<br/>
      esx: Add read-only storage volume access (Matthias Bolte),<br/>
      Move libvirt-guests init script and config to tools (Jiri Denemark),<br/>
      Support virDomainAttachDevice and virDomainDetachDevice for disks in UML (Soren Hansen),<br/>
      Log return value for virConnectGetCapabilities (Daniel P. Berrange),<br/>
      Try harder to send RPC error message back to client (Daniel P. Berrange),<br/>
      Add explicit warning messages when failing to serialize to XDR (Daniel P. Berrange),<br/>
      Allow chardev of type 'file' for UML domains. (Soren Hansen),<br/>
      esx: Improve object-by-type lookup performance (Matthias Bolte),<br/>
      xen tests: Fix PV-VFB tests with RHEL-5 API (Jiri Denemark),<br/>
      xen tests: Fix missing "type ioemu" with rhel5-api (Jiri Denemark),<br/>
      nodeinfotest: Print libvirt error on failure (Jiri Denemark),<br/>
      xenapi: support xenapi 5.6.0 headers (Eric Blake),<br/>
      Add support for -enable-kqemu flag (Daniel P. Berrange),<br/>
      esx: Use MD5 sum of mount path as storage pool UUID (Matthias Bolte),<br/>
      esx: Make sure dumpxml outputs proper ID for active domains (Matthias Bolte),<br/>
      Add actions to virDomainLifecycle enum (Jim Fehlig),<br/>
      vbox: add location used in rpmfusion release (Eric Blake),<br/>
      storage: add support for Vendor and Model in XML (Patrick Dignan),<br/>
      qemu: Fix copy and paste error in warning message (Jiri Denemark),<br/>
      nwfilter: extend nwfilter reload support (Stefan Berger),<br/>
      esx: Explicitly disable unused floppy devices (Matthias Bolte),<br/>
      phyp: Add rudimentary network driver (Eduardo Otubo),<br/>
      Make umlConnectTapDevice ask brAddTap for a persistent tap device. (Soren Hansen),<br/>
      Make sure all command line arguments get passed to UML (Soren Hansen),<br/>
      nwfilter: Discard class D,E IP addresses when sniffing pkts (Stefan Berger),<br/>
      nwfilter: serialize execution of scripts with ebtables cmds (Stefan Berger),<br/>
      Move the tunnelled migration unix socket to /var/lib/libvirt/qemu (Chris Lalancette),<br/>
      qemu: avoid calling the balloon info command if disabled (Daniel Veillard),<br/>
      bridge: Add --dhcp-no-override option to dnsmasq (Jiri Denemark),<br/>
      esx: Improve VMX file name parsing and formatting (Matthias Bolte),<br/>
      esx: Split VMX code into a general and an ESX specific part (Matthias Bolte),<br/>
      allow memballoon type of none to desactivate it (Daniel Veillard),<br/>
      Add a detailed message when tap device add fails (Doug Goldstein),<br/>
      qemu: Hack around asynchronous device_del (Jiri Denemark),<br/>
      build-sys: only build the test programs during the check phase. (Diego Elio Pettenò),<br/>
      Add "ubd" to the list of disk prefixes (Soren Hansen),<br/>
      Extend virSocketParseAddr() to allow a NULL result pointer (Daniel Veillard),<br/>
      bootloader_args is named bootargs in xen-xm (Philipp Hahn),<br/>
      Fix return value usage (Doug Goldstein),<br/>
      qemu: improve error if tun device is missing (Doug Goldstein),<br/>
      build: rerun bootstrap if po/Makevars got nuked (Eric Blake)

      </li>
      <li> Cleanups:<br/>
      Remove hack to get static binaries in DV environment (Daniel Veillard),<br/>
      build: avoid uninitialized variable warning (Eric Blake),<br/>
      vbox: factor a large function (Eric Blake),<br/>
      lxc: avoid large stacks with veth creation (Eric Blake),<br/>
      openvz: use virAsprintf to avoid large stacks (Eric Blake),<br/>
      openvz: formatting cleanups (Eric Blake),<br/>
      network: use virAsprintf when appropriate (Eric Blake),<br/>
      Move hextobin as virHexToBin to util.c (Matthias Bolte),<br/>
      Rename qemudShrinkDisks to virDomainDiskRemove and move to domain_conf.c (Soren Hansen),<br/>
      xml2sexprtest: Remove graphics from unrelated tests (Jiri Denemark),<br/>
      xenapi: Fix compile error in previous commit (Matthias Bolte),<br/>
      qemu: Remove code duplication (Jiri Denemark),<br/>
      vbox: factor a large function (Eric Blake),<br/>
      xenapi: avoid sprintf (Eric Blake),<br/>
      storage: avoid s[n]printf (Eric Blake),<br/>
      maint: whitespace cleanups (Eric Blake),<br/>
      build: delete dead comments (Eric Blake),<br/>
      nwfilter: use consistent OOM reporting (Eric Blake),<br/>
      build: fix compiler warning (Eric Blake),<br/>
      build: fix AppArmor compilation (Jamie Strandboge),<br/>
      Avoid unnecessary bootstrap runs in VPATH builds (Jiri Denemark),<br/>
      maint: update an email address preference (Eric Blake),<br/>
      phyp: refactor phypListDomainsGeneric to eliminate buffer overflow (Eduardo Otubo)
      </li>
    </ul>
    <h3>0.8.3: Aug  4 2010</h3>
    <ul>
      <li> Features:<br/>
      esx: Support vSphere 4.1 (Matthias Bolte),<br/>
      Qemu arbitrary monitor commands. (Chris Lalancette),<br/>
      Qemu Monitor API entry point. (Chris Lalancette)
      </li>
      <li> Documentation:<br/>
      docs: Link wiki FAQ to main page (Cole Robinson),<br/>
      Document the memory balloon device (Daniel P. Berrange),<br/>
      man pages: update authors and copyright notice for libvirtd and virsh (Justin Clift),<br/>
      Add openauth example to demonstrate a custom auth callback (Matthias Bolte),<br/>
      docs: fix so generated .html files are removed with make clean (Justin Clift),<br/>
      virsh: Fix man page syntax (Jiri Denemark),<br/>
      html docs: added firewall explanation page by daniel berrange (Justin Clift),<br/>
      libvirtd: add man page for libvirtd (Justin Clift)
      </li>
      <li> Portability:<br/>
      Fix compile on i686. (Chris Lalancette),<br/>
      daemon: dispatch.c should include stdio.h (and stdarg.h) (Ryota Ozaki)
      </li>
      <li> Bug fixes:<br/>
      qemu: Fix PCI address allocation (Jiri Denemark),<br/>
      Don't leak delay string when freeing virInterfaceBridgeDefs (Laine Stump),<br/>
      qemu: don't lose error on setting monitor capabilities (Eric Blake),<br/>
      Add iptables rule to fixup DHCP response checksum. (Laine Stump),<br/>
      Fix the ACS checking in the PCI code. (Chris Lalancette),<br/>
      Free up memballoon def. (Chris Lalancette),<br/>
      Fix a bogus warning when parsing &lt;hostdev&gt; (Chris Lalancette),<br/>
      Update ID after stopping a domain (Matthias Bolte),<br/>
      openvzDomainCreateWithFlags: set domain id to the correct value (Jean-Baptiste Rouault),<br/>
      xenapi: Update ID after starting a domain (Matthias Bolte),<br/>
      esx: Update ID after starting a domain (Matthias Bolte),<br/>
      Fix DMI uuid parsing. (Chris Lalancette),<br/>
      Do not activate boot=on on devices when not using KVM (Daniel Veillard),<br/>
      Fix a memory leak in the qemudBuildCommandLine. (Chris Lalancette),<br/>
      esx: Fix freeing of heterogeneous lists (Matthias Bolte),<br/>
      xen: fix logic bug (Eric Blake),<br/>
      Eliminate memory leak in xenUnifiedDomainInfoListFree (Laine Stump),<br/>
      lxc: Fix 'autostart' doesn't take effect actually (Ryota Ozaki),<br/>
      Fix --with-xen-proxy related compile error (Matthias Bolte),<br/>
      Fix a potential race in pciInitDevice. (Chris Lalancette),<br/>
      Invert logic for checking for QEMU disk cache options (Daniel P. Berrange),<br/>
      libvirt-guests: Don't throw errors if libvirtd is not installed (Jiri Denemark),<br/>
      pciResetDevice: use inactive devices to determine safe reset (Chris Wright),<br/>
      secaatest: Fix compilation (Matthias Bolte),<br/>
      virt-aa-helper-test: Fix failure due to the new disk format probing option (Matthias Bolte),<br/>
      virt-aa-helper: Make getopt accept the p option (Matthias Bolte),<br/>
      virt-aa-helper: Fix return value of add_file_path (Matthias Bolte),<br/>
      Fix SEGV on exit after domainEventDeregister() (Philipp Hahn),<br/>
      pciSharesBusWithActive fails to find multiple devices on bus (Chris Wright),<br/>
      Fix incorrect use of private data in remote driver (Daniel P. Berrange),<br/>
      Set a stable &amp; high MAC addr for guest TAP devices on host (Daniel P. Berrange),<br/>
      Fix PCI address assignment if no IDE controller is present (Daniel P. Berrange),<br/>
      lxc: force kill of init process by sending SIGKILL if needed (Ryota Ozaki),<br/>
      Fix a NULL dereference in the case that the arg in question didn't exist. (Chris Lalancette),<br/>
      Remove bogus free of static strings (Daniel P. Berrange),<br/>
      Fix a deadlock in bi-directional p2p concurrent migration. (Chris Lalancette),<br/>
      Make virsh setmaxmem balloon only when successful. (Chris Lalancette),<br/>
      fsync new storage volumes even if new volume was copied. (Laine Stump),<br/>
      Don't skip zero'ing end of volume file when inputvol is shorter than newvol (Laine Stump),<br/>
      Always clear out the last_error in virshReportError. (Chris Lalancette),<br/>
      CVE-2010-2242 Apply a source port mapping to virtual network masquerading (Daniel P. Berrange),<br/>
      uml_driver: correct logic error in umlMonitorCommand (Jim Meyering),<br/>
      qemuConnectMonitor: fix a bug that would have masked SELinux failure (Jim Meyering),<br/>
      python: Fix IOErrorReasonCallback bindings (Cole Robinson),<br/>
      cpuCompare: Fix crash on unexpected CPU XML (Jiri Denemark),<br/>
      cpu: Fail when CPU type cannot be detected from XML (Jiri Denemark),<br/>
      cpuCompare: Fix comparison of two host CPUs (Jiri Denemark),<br/>
      Fix potential crash in QEMU monitor JSON impl (Daniel P. Berrange)
      </li>
      <li> Improvements:<br/>
      OpenVZ: implement suspend/resume driver APIs (Jean-Baptiste Rouault),<br/>
      esx: Set storage pool target path to host.mountInfo.path (Matthias Bolte),<br/>
      esx: Make storage pool lookup by name and UUID more robust (Matthias Bolte),<br/>
      esx: Restrict vpx:// to handle a single host in a vCenter (Matthias Bolte),<br/>
      esx: Map some managed object types (Matthias Bolte),<br/>
      esx: Parse the path of the URI (Matthias Bolte),<br/>
      Make virsh -d check its input (Daniel Veillard),<br/>
      esx: Switch from name to number checks in the subdrivers (Matthias Bolte),<br/>
      esx: Improve blocked task detection and fix race condition (Matthias Bolte),<br/>
      build: distribute libvirt_qemu.syms (Eric Blake),<br/>
      build: restore operation of bit-rotted 'make cov' (Eric Blake),<br/>
      qemu: virtio console support (Cole Robinson),<br/>
      domain conf: Track &lt;console&gt; target type (Cole Robinson),<br/>
      domain conf: char: Add an explicit targetType field (Cole Robinson),<br/>
      domain conf: Rename character prop targetType -&gt; deviceType (Cole Robinson),<br/>
      docs: domain: Document virtio &lt;channel&gt; (Cole Robinson),<br/>
      tests: Test qemuxml2xml when expected xml changes (Cole Robinson),<br/>
      fix handling of PORT_PROFILE_RESPONSE_INPROGRESS netlink message (Gerhard Stenzel),<br/>
      maint: turn on gcc logical-op checking (Eric Blake),<br/>
      libvirt-guests: add reload, condrestart (Eric Blake),<br/>
      libvirt-guests: enhance status (Eric Blake),<br/>
      libvirt-guests: detect invalid arguments (Eric Blake),<br/>
      qemu: Allow setting boot menu on/off (Cole Robinson),<br/>
      qemu: Error on unsupported graphics config (Cole Robinson),<br/>
      Force FLR on for buggy SR-IOV devices. (Chris Lalancette),<br/>
      qemudDomainAttachHostPciDevice refactor to use new helpers (Chris Wright),<br/>
      Add helpers qemuPrepareHostdevPCIDevice and qemuDomainReAttachHostdevDevices (Chris Wright),<br/>
      qemuGetPciHostDeviceList take hostdev list directly (Chris Wright),<br/>
      esx: Add vpx:// scheme to allow direct connection to a vCenter (Matthias Bolte),<br/>
      esx: Don't ignore the vcenter query parameter (Matthias Bolte),<br/>
      esx: Add autodetection for the SCSI controller model (Matthias Bolte),<br/>
      esx: Allow 'vmpvscsi' as SCSI controller model (Matthias Bolte),<br/>
      Add tests for the new Qemu namespace XML. (Chris Lalancette),<br/>
      Qemu remote protocol. (Chris Lalancette),<br/>
      Handle arbitrary qemu command-lines in qemuParseCommandLine. (Chris Lalancette),<br/>
      Qemu arbitrary command-line arguments. (Chris Lalancette),<br/>
      Add namespace callback hooks to domain_conf. (Chris Lalancette),<br/>
      Remove erroneous setting of return value to errno. (Laine Stump),<br/>
      Change virDirCreate to return -errno on failure. (Laine Stump),<br/>
      Make virStorageBackendCopyToFD return -errno. (Laine Stump),<br/>
      Change virFileOperation to return -errno (ie &lt; 0) on error. (Laine Stump),<br/>
      Re-arrange PCI device address assignment to match QEMU's default (Daniel P. Berrange),<br/>
      Explicitly represent balloon device in XML and handle PCI address (Daniel P. Berrange),<br/>
      Rearrange VGA/IDE controller address reservation (Daniel P. Berrange),<br/>
      Use unsigned long in cmdSetmem. (Chris Lalancette),<br/>
      Fix up inconsistent virsh option error reporting. (Chris Lalancette),<br/>
      Use the extract backing store format in storage volume lookup (Daniel P. Berrange),<br/>
      Rewrite qemu-img backing store format handling (Daniel P. Berrange),<br/>
      Add ability to set a default driver name/type when parsing disks (Daniel P. Berrange),<br/>
      Disable all disk probing in QEMU driver &amp; add config option to re-enable (Daniel P. Berrange),<br/>
      Pass security driver object into all security driver callbacks (Daniel P. Berrange),<br/>
      Convert all disk backing store loops to shared helper API (Daniel P. Berrange),<br/>
      Add an API for iterating over disk paths (Daniel P. Berrange),<br/>
      Require format to be passed into virStorageFileGetMetadata (Daniel P. Berrange),<br/>
      Refactor virStorageFileGetMetadataFromFD to separate functionality (Daniel P. Berrange),<br/>
      Remove 'type' field from FileTypeInfo struct (Daniel P. Berrange),<br/>
      Extract the backing store format as well as name, if available (Daniel P. Berrange),<br/>
      RFC: Canonicalize block device paths (David Allan),<br/>
      .gitignore: Ignore generated libvirtd docs (Cole Robinson),<br/>
      esx: Make esxVI_*_Deserialize dynamically dispatched (Matthias Bolte),<br/>
      qemu: Use -nodefconfig when probing for CPU models (Jiri Denemark),<br/>
      Ensure we return the callback ID in python events binding (Daniel P. Berrange),<br/>
      virsh: add new --details option to vol-list (Justin Clift),<br/>
      Implement virsh managedsave-remove command. (Chris Lalancette),<br/>
      cpu: Add new models from qemu's target-x86_64.conf (Jiri Denemark),<br/>
      cpu: Add support for CPU vendor (Jiri Denemark),<br/>
      cpuBaseline: Detect empty set of common features (Jiri Denemark),<br/>
      cpuBaseline: Don't mess with the CPU returned by arch driver (Jiri Denemark),<br/>
      Make html docs in non-srcdir build (Jiri Denemark)
      </li>
      <li> Cleanups:<br/>
      Fix build error in virsh.c (Laine Stump)<br/>
      Fix virsh error message when -d arg is not numeric (Eric Blake)<br/>
      Fix a couple of typo in iSCSI backend (Aurelien ROUGEMONT)<br/>
      Don't put a semicolon on the end of a VIR_ENUM_IMPL. (Chris Lalancette)<br/>
      Remove duplicate &lt;p&gt; from downloads.html.in (Matthias Bolte)<br/>
      storage: kill dead stores (Eric Blake)<br/>
      qemu: kill some dead stores (Eric Blake)<br/>
      network: kill dead store (Eric Blake)<br/>
      esx: silence spurious compiler warning (Eric Blake)<br/>
      build: fix 'make syntax-check' failure (Eric Blake)<br/>
      lxc: Fix return values of veth.c functions (Ryota Ozaki)<br/>
      maint: fix comment typos (Eric Blake)<br/>
      Fix up confusing indentation in qemudDomainAttachHostPciDevice. (Chris Lalancette)<br/>
      build: fix VPATH builds (Eric Blake)<br/>
      virt-aa-helper: Ignore open errors again (Matthias Bolte)<br/>
      qemu-api: avoid build failure (Eric Blake)<br/>
      Fix .mailmap after accidental wrong committer address (Daniel P. Berrange)<br/>
      Remove inappropriate use of VIR_ERR_NO_SUPPORT (Daniel P. Berrange)<br/>
      Remove unused and bitrotting vshCommandOptStringList (Chris Lalancette)<br/>
      Remove error checking after using vshMalloc. (Chris Lalancette)<br/>
      Remove the "showerror" parameter from vshConnectionUsability. (Chris Lalancette)<br/>
      Eliminate compiler warning due to gettext string with no format args (Laine Stump)<br/>
      Fix build by removing unknown pod2man flag (Daniel P. Berrange)
      </li>
    </ul>
    <h3>0.8.2: Jul  5 2010</h3>
    <ul>
      <li> Features:<br/>
      phyp: adding support for IVM (Eduardo Otubo),<br/>
      libvirt: introduce domainCreateWithFlags API (Eric Blake),<br/>
      add 802.1Qbh and 802.1Qbg switches handling (Stefan Berger),<br/>
      Support for VirtualBox version 3.2 (Jean-Baptiste Rouault),<br/>
      Init script for handling guests on shutdown/boot (Jiri Denemark),<br/>
      qemu: live migration with non-shared storage for kvm (Kenneth Nagin)
      </li>
      <li> Documentation:<br/>
      html docs: add link to PHP bindings by Radek Hladik (Justin Clift),<br/>
      virsh: document attach-disk better (Eric Blake),<br/>
      bridge_driver.c: fix file description (Alan Pevec),<br/>
      nwfilter: extensions of docs with (Stefan Berger),<br/>
      Fix description of virStorageVolGetInfo() (Philipp Hahn),<br/>
      virsh: improve help text for vol query commands (Justin Clift),<br/>
      virsh: fixed trivial comment and debug message in vshCommandOptVolBy function (Justin Clift),<br/>
      virsh: remove xen reference in header comment (Justin Clift),<br/>
      virsh: add the volume commands to the virsh man page (Justin Clift),<br/>
      virsh: fix minor virsh man page typos and formatting problems (Justin Clift),<br/>
      Trivial virsh.pod additions --all for "list" command and similar (Justin Clift),<br/>
      Add docs on drive &lt;serial&gt; element (Марк Коренберг),<br/>
      daemon: sysconf: Update comment about VNC audio (Cole Robinson),<br/>
      nwfilter: documentation (Stefan Berger),<br/>
      docs: distribute more coding convention documentation (Eric Blake),<br/>
      note a typo: VIR_MIGRATE_TUNNELLED should be VIR_MIGRATE_TUNNELED, (Jim Meyering),<br/>
      datatypes: fix comment typo (Eric Blake),<br/>
      Fix a typo in docs (Ersek Laszlo),<br/>
      docs: hacking: explain why using curly braces well is important (Jim Meyering)
      </li>
      <li> Portability:<br/>
      cgroup: Fix compilation broken on MinGW due to dirent-&gt;d_type (Ryota Ozaki),<br/>
      parthelper: fix compilation without optimization (Eric Blake),<br/>
      build: fix some mingw issues (Eric Blake),<br/>
      build: avoid pthreads-win32 on mingw (Eric Blake),<br/>
      build: fix cygwin build, correctly this time (Eric Blake),<br/>
      build: fix up some compiler flags (Eric Blake),<br/>
      build: avoid compile failure on linux kernels older than 2.6.19 (Jim Meyering),<br/>
      libvirt_proxy: link with -lpthread if needed (Eric Blake),<br/>
      build: allow older gettext (Eric Blake),<br/>
      mingw32-libvirt.spec: bring up to date (Eric Blake),<br/>
      avoid link error in tests using libvirt_util; due to pthread_sigmask (Jim Meyering),<br/>
      configure.ac: Avoid uname, which breaks cross-compilation (Matthias Bolte),<br/>
      mingw: Fix two undefined symbols (Matthias Bolte),<br/>
      build: avoid compiler warning (Eric Blake),<br/>
      build: prefer WIN32 over __MINGW32__ checks (Eric Blake),<br/>
      dnsmasqReload: avoid mingw link failure (Eric Blake),<br/>
      mingw: Fix symbol export (Matthias Bolte)
      </li>
      <li> Bug Fixes:<br/>
      Avoid invoking the qemu monitor destroy callback if the constructor fails (Daniel P. Berrange),<br/>
      cgroup: Add missing errno == ENOENT check in virCgroupRemoveRecursively (Ryota Ozaki),<br/>
      Fix crash when detaching devices from qemu domains. (Chris Lalancette),<br/>
      virFileResolveLink: guarantee an absolute path (Eric Blake),<br/>
      phyp: don't steal storage management from other drivers (Eric Blake),<br/>
      Avoid calling virStorageFileIsSharedFS with NULL (Laine Stump),<br/>
      lxc: Fix virsh console doesn't work after restarting libvirtd (Ryota Ozaki),<br/>
      lxc: Fix error handlings in lxcContainerRenameAndEnableInterfaces (Ryota Ozaki),<br/>
      Set proper selinux label on image file during qemu domain restore (Laine Stump),<br/>
      build: fix regression with libvirt-api.xml generation (Eric Blake),<br/>
      Fix a reference leak for node devices. (Chris Lalancette),<br/>
      Don't squash file permissions when migration fails (Daniel P. Berrange),<br/>
      Fix migration in text mode and shared storage migration in json mode (Daniel P. Berrange),<br/>
      Add missing parameter in python Disk IO error callback (Daniel P. Berrange),<br/>
      Check for presence of qemu -nodefconfig option before using it (Laine Stump),<br/>
      cgroup: Change virCgroupRemove to remove all descendant groups at first (Ryota Ozaki),<br/>
      Fix reference handling leak on qemuMonitor (Daniel P. Berrange),<br/>
      Don't leak open fd to virsh in libvirt-guests init script (Jiri Denemark),<br/>
      nwfilter: fix loadable module support (Stefan Berger),<br/>
      Do not free static buffer with UUID (Jiri Denemark),<br/>
      qemu: Fix crash on failed VM startup (Cole Robinson),<br/>
      Add several missing vir*Free calls in libvirtd's remote code (Matthias Bolte),<br/>
      Fix enumeration of partitions in disks with a trailing digit in path (Daniel P. Berrange),<br/>
      vbox: check getenv("DISPLAY") for NULL in vboxDomainDumpXML (Matthias Bolte),<br/>
      Check getenv("PATH") for NULL in virFindFileInPath (Matthias Bolte),<br/>
      Fix cgroup setup code to cope with root squashing NFS (Daniel P. Berrange),<br/>
      Fix leaks in udev device add/remove v3 (David Allan),<br/>
      Ensure that PCI device is reattached to host if hotadd fails (Daniel P. Berrange),<br/>
      Don't raise errors in the selinux restore code (Daniel P. Berrange),<br/>
      Fix check for errors in device_add command in QEMU text monitor (Daniel P. Berrange),<br/>
      Network duplicate UUID/name checking (Daniel P. Berrange),<br/>
      Storage pool duplicate UUID/name checking (Daniel P. Berrange),<br/>
      Fix auto-adding of virtio serial controllers (Daniel P. Berrange),<br/>
      Ensure UNIX domain sockets are removed on daemon shutdown (Daniel P. Berrange),<br/>
      Fix AppArmor save/restore.Add stdin_path to qemudStartVMDaemon() args. (Jamie Strandboge),<br/>
      Adjust block size used by dd to speed QEMU domain save operations. (Laine Stump),<br/>
      Fix dereference of potentially freed pointer in qemudDomainSaveFlags (Laine Stump),<br/>
      Update nodedev scsi_host data before use (David Allan),<br/>
      Fix device destroy return value (David Allan),<br/>
      storage: Check for invalid storage mode before opening (Cole Robinson),<br/>
      Improve nodedev parent/child relationships (David Allan),<br/>
      network: bridge: Don't start network if it collides with host routing (Cole Robinson),<br/>
      Fix integer overflow in hotplug methods (Daniel P. Berrange),<br/>
      Fix failing virGetHostname. (Chris Lalancette),<br/>
      storage: Sanitize pool target paths (Cole Robinson),<br/>
      Fix handling of disk backing stores with cgroups (Daniel P. Berrange),<br/>
      Fix up basic migration. (Chris Lalancette),<br/>
      qemu: Release bus address on PCI host device remove (Alex Williamson),<br/>
      qemu: avoid corrupting guest info struct on host device PCI hot add (Alex Williamson),<br/>
      Query block allocation extent from QEMU monitor (Daniel P. Berrange),<br/>
      Don't overwrite virDomainAssignDef errors. (Chris Lalancette),<br/>
      Fix race in finding available vnc port (Jim Fehlig),<br/>
      qemu driver: fix version check typos (Chris Wright),<br/>
      daemon: A few initscript corrections (Cole Robinson),<br/>
      qemu: Properly cleanup in security startup error path (Cole Robinson),<br/>
      qemudDomainMigrateFinish2: handle a case of virDomainSaveStatus failure (Jim Meyering),<br/>
      Fix potential NULL dereference in remoteDomainMigratePrepare2 (Jiri Denemark),<br/>
      qemudDomainRestore: handle a case of virDomainSaveStatus failure (Jim Meyering),<br/>
      python: don't ignore virInitialize failure in module initialization (Jim Meyering),<br/>
      tests: do not ignore virInitialize failure (Jim Meyering),<br/>
      qemuMonitorTextMigrate: avoid leak on OOM-error path (Jim Meyering),<br/>
      virNWFilterDefParseXML: avoid leak on error paths (Jim Meyering),<br/>
      virDomainNetDefParseXML: avoid leak upon multiple "filterref" (Jim Meyering),<br/>
      ebiptablesWriteToTempFile: don't close a negative file descriptor (Jim Meyering),<br/>
      Protect against NULL pointer flaws in monitor usage (Daniel P. Berrange),<br/>
      Fix multiple potential NULL pointer references in monitor usage (Daniel P. Berrange),<br/>
      umlAutostartDomain: avoid NULL-deref upon virGetLastError failure (Jim Meyering),<br/>
      x86ModelHasFeature: avoid NULL-dereference for unmatched CPU "feature" (Jim Meyering),<br/>
      qemudDomainSetVcpus: avoid NULL-deref (Jim Meyering),<br/>
      nwfilter: Add missing driver lock in qemu driver (Stefan Berger),<br/>
      Fix a misuse of virAsprintf in qemudDomainMemoryPeek (Ryota Ozaki),<br/>
      Don't reset user/group/security label on shared filesystems during migrate (Daniel P. Berrange),<br/>
      Fix handling of disk backing stores with cgroups (Daniel P. Berrange),<br/>
      Fix possible crash in handling IO Error event (Daniel P. Berrange),<br/>
      Fix monitor ref counting when adding event handle (Jiri Denemark),<br/>
      Remove watches before calling REMOTE_PROC_CLOSE (Jiri Denemark),<br/>
      node_device: udev: Fix PCI product/vendor swappage (Cole Robinson),<br/>
      virsh: schedinfo --set invalid=value would simply ignore the option (Jim Meyering),<br/>
      Remove unused nwfilter field from struct remote_error (Matthew Booth),<br/>
      util: fix va_start usage bug (Eric Blake),<br/>
      Don't wipe generated iface target in active domains (Jiri Denemark),<br/>
      Various fixes for the spec file (Daniel Veillard),<br/>
      lxc: Check domain is active/inactive as required by operation (Jiri Denemark),<br/>
      lxc: Make SetMemory work for active domains only (Jiri Denemark),<br/>
      cgroup: Fix possible memory leak in virCgroupMakeGroup (Ryota Ozaki),<br/>
      Fix memory leaks in cmdInterfaceEdit and cmdNWFilterEdit. (Laine Stump),<br/>
      lxc: Fix failure on starting a domain with multiple interfaces (Ryota Ozaki)
      </li>
      <li> Improvements:<br/>
      vbox: Let configure detect/set the XPCOMC directory (Matthias Bolte),<br/>
      udev: Parse PCI devices even if libpciaccess fails (Cole Robinson),<br/>
      qemu: Improve some qemu.conf error reporting (Cole Robinson),<br/>
      util: virExec: Dispatch all errors raised after fork (Cole Robinson),<br/>
      virsh: tweak help output for VSH_OT_DATA (Eric Blake),<br/>
      Check for active PCI devices when doing nodedevice operations. (Chris Lalancette),<br/>
      virsh: add new --details option to pool-list (Justin Clift),<br/>
      Selectively ignore domainSetSecurityAllLabel failure in domain restore (Laine Stump),<br/>
      use virStorageFileIsSharedFS utility function in qemudDomainSaveFlag (Laine Stump),<br/>
      Enhance virStorageFileIsSharedFS (Laine Stump),<br/>
      phyp: optimize use of sed (Eric Blake),<br/>
      phyp: add storage management driver (Eduardo Otubo),<br/>
      phyp: add rudimentary storage driver (Eduardo Otubo),<br/>
      maint: add gnulib gettimeofday module (Eric Blake),<br/>
      Avoid blocking all APIs during incoming migration (Daniel P. Berrange),<br/>
      Set labelling for character devices in security drivers (Daniel P. Berrange),<br/>
      Add API for iterating over all character devices (Daniel P. Berrange),<br/>
      Adding Storage Management driver (style and indentation) (Eduardo Otubo),<br/>
      esx: Add support for the controller element (Matthias Bolte),<br/>
      Add optional model attribute to the controller element (Matthias Bolte),<br/>
      Add wide SCSI bus disk address generation support (Matthias Bolte),<br/>
      cgroup: Enable memory.use_hierarchy of cgroup for domain (Ryota Ozaki),<br/>
      network: allow tftp port if tftp is defined (Alan Pevec),<br/>
      Add '-nodefconfig' command line arg to QEMU (Daniel P. Berrange),<br/>
      Make checks for inactive QEMU guest more robust (Daniel P. Berrange),<br/>
      Improve some error messages about unsupported APIs/URIs (Daniel P. Berrange),<br/>
      Index hashes by UUID instead of name (Jiri Denemark),<br/>
      Allow one-or-more &lt;boot dev="..."/&gt; entries (Philipp Hahn),<br/>
      virsh: add --uuid option to vol-pool (Justin Clift),<br/>
      nwfilter: add XML attribute to control iptables state match (Stefan Berger),<br/>
      virsh: ensure persistence and autostart are shown for dominfo and pool-info (Justin Clift),<br/>
      nwfilter: use match target on incoming traffic (Stefan Berger),<br/>
      macvtap: work-around for 2.6.32 and older kernels (Stefan Berger),<br/>
      virsh: add pool support to vol-key command (Justin Clift),<br/>
      esx: Update case insensitive .vmx tests (Matthias Bolte),<br/>
      esx: Accept 'disk' as harddisk device type in .vmx files (Matthias Bolte),<br/>
      virsh: mark autostart answers for translation (Justin Clift),<br/>
      virsh: add start --paused support (Eric Blake),<br/>
      qemu: support starting persistent domain paused (Eric Blake),<br/>
      drivers: add virDomainCreateWithFlags if virDomainCreate exists (Eric Blake),<br/>
      remote: protocol implementation for virDomainCreateWithFlags (Eric Blake),<br/>
      uml: sanity check external data before using it (Eric Blake),<br/>
      Improve error message for disabled client-side drivers (Matthias Bolte),<br/>
      virsh: add snapshot backing store support to vol-create-as (Justin Clift),<br/>
      esx: Add proxy query parameter (Matthias Bolte),<br/>
      esx: Refactor esxUtil_ParseQuery's parameter handling (Matthias Bolte),<br/>
      virsh: add new vol-pool command (Justin Clift),<br/>
      virsh: add --paused option to create (Eric Blake),<br/>
      qemu: allow creation of a paused domain (Eric Blake),<br/>
      virDomainCreateXML: support new flag (Eric Blake),<br/>
      Add multiIQN tests (David Allan),<br/>
      Add multiiqn XML dump (David Allan),<br/>
      Fix test breakage from virtio serial changes (Daniel P. Berrange),<br/>
      Enable probing of VPC disk format type (Daniel P. Berrange),<br/>
      Prefer UDEV to HAL drivers if both a compiled (Daniel P. Berrange),<br/>
      Add support for setting socket MLS level in SELinux driver (Daniel J Walsh),<br/>
      Fix error codes for missing storage pools (Daniel P. Berrange),<br/>
      Include port number with virtio serial devices (Daniel P. Berrange),<br/>
      Disable use of 'reason' field in block IO event in QEMU (Daniel P. Berrange),<br/>
      Add stdin_path to qemudStartVMDaemon() args. (Jamie Strandboge),<br/>
      Allocate buffer to hold xend response (Jim Fehlig),<br/>
      phyp: Strict check when listing domains (Eduardo Otubo),<br/>
      hostusb: Properly handle 'usbX' sysfs files (Cole Robinson),<br/>
      Add --source-format argument to virsh pool-define-as and pool-create-as (Justin Clift),<br/>
      Add --source-format argument to virsh pool-define-as and pool-create-as (Justin Clift),<br/>
      build: fix VPATH 'make syntax-check' (Eric Blake),<br/>
      qemu: Add a qemu.conf option for clearing capabilities (Cole Robinson),<br/>
      macvtap: cannot support target device name (Stefan Berger),<br/>
      Fix libvirt-guests init script (Jiri Denemark),<br/>
      maint: new syntax-check rule to ensure that AUTHORS stays in sync (Jim Meyering),<br/>
      maint: update AUTHORS with recent contributors (Eric Blake),<br/>
      xen: Fix chardev listen sexpr formatting (Cole Robinson),<br/>
      v2 of Cole's wlan support (David Allan),<br/>
      Install, distribute and package domainsnapshot.rng (Matthias Bolte),<br/>
      build: support 'make check' in pristine tree (Eric Blake),<br/>
      esx: Expose host UUID in the capabilities XML (Matthias Bolte),<br/>
      Pass pre-opened PCI device sysfs config file to QEMU (Alex Williamson),<br/>
      xen-proxy build broken (Matthias Bolte),<br/>
      esx: Add read-only storage pool access (Matthias Bolte),<br/>
      libvirtd: diagnose invalid host UUID (Jim Meyering),<br/>
      vepa: parsing for 802.1Qb{g|h} XML (Stefan Berger),<br/>
      vepa+vsi: Introduce dependency on libnl (Stefan Berger),<br/>
      Expose a host UUID in the capabilities XML (Daniel P. Berrange),<br/>
      qemu: Allow using regular audio backends with VNC (Cole Robinson),<br/>
      lxcSetSchedulerParameters: reverse order of tests; diagnose a failure (Jim Meyering),<br/>
      libvirtd: start each diagnostic with "argv0: " (Jim Meyering),<br/>
      libvirtd: mark strings for translation, including --help output (Jim Meyering),<br/>
      build: force init scripts to rebuild on changed --prefix (Eric Blake),<br/>
      build: Distribute the whole tests/qemuhelpdata directory (Matthias Bolte),<br/>
      Add defines for QEMU_VNC_PORT_{MIN,MAX} and use them (Jim Fehlig),<br/>
      Add simple bitmap operations to utils (Jim Fehlig),<br/>
      daemon: Export SDL audio environment variables (Cole Robinson),<br/>
      Autostart domains using virDomainObjStart (Jiri Denemark),<br/>
      maint: update po/POTFILES.in (Jim Meyering),<br/>
      maint: enforce policy wrt VIR_DEBUG and VIR_DEBUG0 (Jim Meyering),<br/>
      maint: enforce policy wrt VIR_ERROR and VIR_ERROR0 (Jim Meyering),<br/>
      maint: change empty string in err message to localized 'unknown error' (Jim Meyering),<br/>
      qemu: Use ShutdownVMDaemon for all startup cleanup paths (Cole Robinson),<br/>
      Domain snapshot RNG and tests. (Chris Lalancette),<br/>
      Fix up the python bindings for snapshotting. (Chris Lalancette),<br/>
      qemu_conf.c: also recognize new first line of qemu -help output (Jim Meyering),<br/>
      lxc_controller.c: don't ignore failed "accept" (Jim Meyering),<br/>
      qemu: Don't deny ShutdownVMDaemon for non-running VMs (Cole Robinson),<br/>
      libvirtd: don't ignore virInitialize failure (Jim Meyering),<br/>
      maint: prohibit newline at end of diagnostic (Jim Meyering),<br/>
      maint: remove unwanted newline at end of diagnostic (Jim Meyering),<br/>
      build: distribute missing file (Eric Blake),<br/>
      esx: Make esxVI_*_CastFromAnyType dynamically dispatched (Matthias Bolte),<br/>
      esx: Allow esxVI_X_DynamicCast to be called successfully on X objects (Matthias Bolte),<br/>
      tests: the remote_protocol check also accommodates older pdwtags (Jim Meyering),<br/>
      maint: enforce no-markup policy wrt VIR_WARN-like macros (Jim Meyering),<br/>
      Add support for SSE4.1 and SSE4.2 CPU features (Jiri Denemark),<br/>
      maint: add more free-like functions to the list and deal with fallout (Jim Meyering),<br/>
      maint: add virCgroupFree to the list of free-like functions (Jim Meyering),<br/>
      qemudDomainSetVcpus: avoid NULL-deref on failed uuid look-up (Jim Meyering),<br/>
      Add CIFS to the list of network file systems (Matthias Bolte),<br/>
      Add VIR_STORAGE_POOL_INACCESSIBLE to denote inaccessible storage pools (Matthias Bolte),<br/>
      qemu_conf: fix flag value (Eric Blake),<br/>
      qemu: Clarify a couple error messages (Cole Robinson),<br/>
      virFileResolveLink: fix return value (Eric Blake),<br/>
      tests: Skip daemon-conf test if dir exceeds UNIX_PATH_MAX (Cole Robinson),<br/>
      pci: Give an explicit error if device not found (Cole Robinson),<br/>
      qemu: Report cmdline output if VM dies early (Cole Robinson),<br/>
      qemu_driver: avoid NULL dereference (Jim Meyering),<br/>
      Make domain save work when dynamic_ownership=0 (Daniel P. Berrange),<br/>
      Add support for NIC hotplug using netdev_add in QEMU (Daniel P. Berrange),<br/>
      build: update gnulib (Eric Blake),<br/>
      tests: correct PATH in new test, for when running manually (Jim Meyering),<br/>
      Add env variable for debugging gnutls usage (Daniel P. Berrange),<br/>
      maint: allow VPATH use of remote_protocol-structs (Eric Blake),<br/>
      help avoid accidental remote_protocol.x changes (Jim Meyering),<br/>
      build: use LIBADD, not LDFLAGS, for adding libraries (Eric Blake),<br/>
      Implement SCSI disk unplugging (Wolfgang Mauerer),<br/>
      qemu: use better types (Eric Blake),<br/>
      Refactor disk unplugging (Wolfgang Mauerer),<br/>
      build: simplify checks for sched.h (Eric Blake),<br/>
      build: use gnulib's sys/wait.h (Eric Blake),<br/>
      build: use gnulib's uname (Eric Blake),<br/>
      build: rely on gnulib's pthread module (Eric Blake),<br/>
      rpmbuild: add ebtables &amp; ip(6)tables dependency for rpm (Stefan Berger),<br/>
      lxc: Use virDomainFindByUUID for domain lookup (Jiri Denemark),<br/>
      nwfilter: skip some interfaces on filter update (Stefan Berger),<br/>
      pass info where request stems from to have rules applied (Stefan Berger),<br/>
      dnsmasq.c: Fix OOM error reporting (Matthias Bolte),<br/>
      autobuild.sh: provide default prefix (Eric Blake)
      </li>
      <li> Cleanups:<br/>
      lxc: Change VIR_ERROR to VIR_DEBUG for just a debugging message (Ryota Ozaki),<br/>
      phyp: reduce scope of driver functions (Eric Blake),<br/>
      Fix test case failure due to missing -nodefconfig (Daniel P. Berrange),<br/>
      esx: Use bool instead of int where appropriated (Matthias Bolte),<br/>
      Cleanup some LIBADD and CFLAGS (Matthias Bolte),<br/>
      virsh: remove a doubled up include for errno.h (Justin Clift),<br/>
      Misc cleanups (Jiri Denemark),<br/>
      Remove unnecessary check for non-NULL uuid (Jiri Denemark),<br/>
      qemu: reduce file padding requirements (Eric Blake),<br/>
      virsh: change printf() calls to vshPrint() (Justin Clift),<br/>
      phyp: sed cleanups (Eric Blake),<br/>
      maint: simplify some ignore files (Eric Blake),<br/>
      avoid syntax-check failure (Jim Meyering),<br/>
      autobuild.sh: avoid bashism (Eric Blake),<br/>
      bitmap: reject zero-size bitmap (Eric Blake),<br/>
      build: depend on correct file (Eric Blake),<br/>
      build: make cpp indentation conform (Jim Meyering),<br/>
      hooks: fix typo (Paolo Smiraglia),<br/>
      build: silence cppi warning, clarify vbox headers (Eric Blake),<br/>
      xen: Remove unused function (Cole Robinson),<br/>
      esx: Simplify goto usage (Matthias Bolte),<br/>
      Use printf instead of echo -e in libvirt.spec.in (Matthias Bolte),<br/>
      build: fix HTML errors in nwfilter docs (Eric Blake),<br/>
      build: fix compilation without macvtap (Eric Blake),<br/>
      tests: avoid new failure of the daemon-conf test (Jim Meyering),<br/>
      storage: mpath: Fix incorrect VIR_ERROR use (Cole Robinson),<br/>
      Allow nwfilter functions to be compiled with C++ (Chris Lalancette),<br/>
      storage: Combine some duplicate code (Cole Robinson),<br/>
      storage: mpath: Clean up some error handling (Cole Robinson),<br/>
      Remove dead code after refactoring qemudDomainStart (Jiri Denemark),<br/>
      build: fix cppi warnings (Eric Blake),<br/>
      Remove isValidIfname. (Chris Lalancette),<br/>
      Refactor qemudDomainStart (Jiri Denemark),<br/>
      Factor out def assignment to existing domain from virDomainAssignDef (Jiri Denemark),<br/>
      Refactor qemudDomainRestore (Jiri Denemark),<br/>
      maint: don't mark VIR_DEBUG or VIR_DEBUG0 diagnostics for translation (Jim Meyering),<br/>
      maint: more of same, but manual: convert VIR_ERROR("%s" to VIR_ERROR0( (Jim Meyering),<br/>
      maint: VIR_ERROR/VIR_ERROR0: mark up the remaining ones manually (Jim Meyering),<br/>
      maint: mark translatable string args of VIR_ERROR (Jim Meyering),<br/>
      maint: mark translatable string args of VIR_ERROR0 (Jim Meyering),<br/>
      maint: use VIR_ERROR0 rather than VIR_ERROR with a bare "%s" (Jim Meyering),<br/>
      qemu: Remove explicit VNC XML cleanup (Cole Robinson),<br/>
      Rename qemuBuildCommandLine tapfds -&gt; vmfds. (Alex Williamson),<br/>
      initialize "meta" in virStorageFileGetMetadata, not in each caller (Jim Meyering),<br/>
      (qemu*DiskCgroup): avoid dead code (Jim Meyering),<br/>
      maint: more VIR_WARN corrections: now manually (Jim Meyering),<br/>
      maint: use VIR_WARN0("...") rather than VIR_WARN("%s", "...") (Jim Meyering),<br/>
      maint: remove _(...) from VIR_WARN arg manually (Jim Meyering),<br/>
      maint: don't mark VIR_WARN or VIR_WARN0 diagnostics for translation (Jim Meyering),<br/>
      do not ignore qemuMonitorAddDrive failure; make uses identical (Jim Meyering),<br/>
      ebtablesAddRemoveRule, iptablesAddRemoveRule: don't skip va_end (Jim Meyering),<br/>
      linuxNodeInfoCPUPopulate: avoid used-uninitialized via a test (Jim Meyering),<br/>
      lxcFreezeContainer: avoid test-after-deref of never-NULL pointer (Jim Meyering),<br/>
      Remove debugging fprintf() calls (Daniel P. Berrange),<br/>
      tests: use GPLv2+, not GPLv3 (Jim Meyering),<br/>
      tests: adjust copyrights on scripts: s/FSF/Red Hat/ (Jim Meyering),<br/>
      virsh: fix a typo in a diagnostic (Jim Meyering),<br/>
      delMacvtap: typo fix (Eric Blake),<br/>
      docs/Makefile.am: remove unnecessary subshells (Eric Blake),<br/>
      maint: avoid spurious output if program not present (Eric Blake),<br/>
      storage_encryption: silence clang warning (Eric Blake),<br/>
      maint: whitespace cleanups (Eric Blake),<br/>
      qemu: Fix warning about a non-literal format string (Matthias Bolte),<br/>
      build: drop more redundant configure checks (Eric Blake),<br/>
      build: silence a clang false positive (Eric Blake)
      </li>
      <li>
      </li>
    </ul>
    <h3>0.8.1: Apr 30 2010</h3>
    <ul>
      <li> Features:<br/>
      Add virDomainGetBlockInfo API to query disk sizing (Daniel P. Berrange),<br/>
      Starts dnsmasq from libvirtd with --dhcp-hostsfile option (Satoru SATOH)
      </li>
      <li> Documentation:<br/>
      cleanup the download section of the documentation (Daniel Veillard),<br/>
      Fix messsage as message. (Chris Lalancette),<br/>
      Fix up a debug typo. (Chris Lalancette),<br/>
      add nwfilter functions to virsh man page (Stefan Berger)
      </li>
      <li> Portability:<br/>
      Fix build on Ubuntu. (Chris Lalancette),<br/>
      cygwin/mingw: Fix version script handling (Matthias Bolte),<br/>
      build: fix autogen rule for VPATH build (Eric Blake),<br/>
      Fix build with DEBUG_RAW_IO=1 (Jiri Denemark),<br/>
      Don't try to build qemu and lxc on non-Linux platforms (Daniel Veillard),<br/>
      cygwin: Handle differences in the XDR implementation (Matthias Bolte),<br/>
      Cygwin's GCC doesn't like this .sa_handler initialization for some reason (Matthias Bolte),<br/>
      linux/if.h header is not available on non-Linux platforms (Matthias Bolte),<br/>
      cygwin: Check explicitly for getmntent_r (Matthias Bolte),<br/>
      Disable stateful OpenNebula driver if libvirtd is disabled (Matthias Bolte),<br/>
      build: don't include winsock2.h on cygwin (Eric Blake),<br/>
      portability fixes to tools/virt-pki-validate.in (Dustin Kirkland),<br/>
      virt-aa-helper-test: avoid non-portable echo -n (Eric Blake),<br/>
      schematestutils.sh: improve shell portability: avoid "echo -e" (Jim Meyering),<br/>
      Fix build of openvz on RHEL-5. (Chris Lalancette),<br/>
      Fix spec file for builds without lxc (Daniel Berteaud)
      </li>
      <li> Bug Fixes:<br/>
      domain: Fix PCI address decimal parsing regression (Cole Robinson),<br/>
      Fix virt-pki-validate's determination of CN (Dustin Kirkland),<br/>
      Fix detection of disk in IO events (Daniel P. Berrange),<br/>
      Fix a virsh edit memory leak (Chris Lalancette),<br/>
      Fix a qemuDomainPCIAddressSetFree memory leak (Chris Lalancette),<br/>
      Fix a memory leak in the node_device_udev code (Chris Lalancette),<br/>
      qemuDomainSnapshotCreateXML: avoid NULL dereferences (Jim Meyering),<br/>
      qemudDomainCreate: correct a slightly misdirected goto (Jim Meyering),<br/>
      Fix handling of security driver restore failures in QEMU domain save (Daniel P. Berrange),<br/>
      Fix QEMU domain save to block devices with cgroups enabled (Daniel P. Berrange),<br/>
      Fix QEMU save/restore with block devices (Daniel P. Berrange),<br/>
      Fix crash when cleaning up from failed save attempt (Daniel P. Berrange),<br/>
      The base used for conversion of USB values should be 16 not 10. (Klaus Ethgen),<br/>
      Fix up the locking in the snapshot code. (Chris Lalancette),<br/>
      Ignore qemu STOP event when stopping CPUs (Jiri Denemark),<br/>
      Fix memory leak in virsh snapshot-list. (Chris Lalancette),<br/>
      Fix virDomainSnapshotObjFree memory leak. (Chris Lalancette),<br/>
      Fix a memory leak in the snapshot code in libvirtd. (Chris Lalancette),<br/>
      QEmu JSON drop timestamp from command object (Luiz Capitulino),<br/>
      Fix crash in nwfilter driver check (Daniel P. Berrange),<br/>
      qemu: fix security context references in DAC code (Spencer Shimko),<br/>
      Properly indent encryption tags (David Allan),<br/>
      Fix locking in qemudDomainCoreDump (Jiri Denemark),<br/>
      Poll for migration end every 50ms instead of 50us (Jiri Denemark),<br/>
      configure.ac SELinux fixes (Spencer Shimko),<br/>
      Fix QEMU text monitor command error checking (Daniel P. Berrange),<br/>
      Fix CPU hotplug command names (Daniel P. Berrange),<br/>
      Fix printing of event detail in python events demo program (Daniel P. Berrange),<br/>
      Fix initial VCPU pinning in qemu driver (Jiri Denemark),<br/>
      Make avahi startup more robust. (Chris Lalancette),<br/>
      esx: Don't treat an empty root snapshot list as error (Chris Wong),<br/>
      esx: Fix FindByIp response handling (Matthias Bolte),<br/>
      esx: Fix virtualHW.version generation (Matthias Bolte),<br/>
      Fix device_del in JSON mode for QEMU (Daniel P. Berrange),<br/>
      nwfilter: Free nwfilter hash of virConnectPtr (Matthias Bolte),<br/>
      remote: react to failures on wakeupFD (Eric Blake),<br/>
      Fix CDROM media change for QEMU when using -device syntax (Daniel P. Berrange),<br/>
      Fix QEMU memory stats JSON mode (Daniel P. Berrange),<br/>
      Trivial fix: Add braces to for statement to avoid crashes (Stefan Berger),<br/>
      qemudDomainAttachSCSIDisk: avoid FP NULL-ptr-deref from clang (Jim Meyering),<br/>
      qemudDomainAttachSCSIDisk: avoid FP NULL-ptr-deref from clang (Jim Meyering),<br/>
      virGetHostnameLocalhost: avoid FP NULL-ptr-deref from clang (Jim Meyering),<br/>
      nwfilter_ebiptables_driver.c: avoid NULL dereference (Jim Meyering),<br/>
      esxVMX_GatherSCSIControllers: avoid NULL dereference (Jim Meyering),<br/>
      Fix nodeinfotest on NUMA machines (Daniel P. Berrange)
      </li>
      <li> Improvements:<br/>
      Add support for another explicit IO error event (Daniel P. Berrange),<br/>
      Report all errors in SELinuxRestoreSecurityFileLabel (Jiri Denemark),<br/>
      Prevent updates while IP address learn thread is running (Stefan Berger),<br/>
      Syncronize the teardown of rules with the thread (Stefan Berger),<br/>
      Clean all tables before applying 'basic' rules (Stefan Berger),<br/>
      MAke virFileHasSuffix case insensitive (Paul Dorman),<br/>
      nwfilter: Also pick IP address from a DHCP ACK message (Stefan Berger),<br/>
      Implement python binding for virDomainGetBlockInfo (Daniel P. Berrange),<br/>
      Add new domblkinfo command to virsh (Daniel P. Berrange),<br/>
      Implement virDomainGetBlockInfo in QEMU driver (Daniel P. Berrange),<br/>
      Remote protocol impl for virDomainGetBlockInfo (Daniel P. Berrange),<br/>
      Internal driver API infrastructure for virDomainGetBlockInfo (Daniel P. Berrange),<br/>
      Report better error if qemuSnapshotIsAllowed failed. (Chris Lalancette),<br/>
      nwfilter: python bindings for nwfilter (Stefan Berger),<br/>
      Move dnsmasq host file to a separate directory (Daniel Veillard),<br/>
      nwfilter: allow to mix filterrefs and rules in the schema (Stefan Berger),<br/>
      Avoid create/unlink with block devs used for QEMU save (Daniel P. Berrange),<br/>
      nwfilter: let qemu's after-migration packet pass (Stefan Berger),<br/>
      Fix up the error message if we can't parse the snapshot XML. (Chris Lalancette),<br/>
      nwfilter: add support for RAPR protocol (Stefan Berger),<br/>
      nwfilter: enable hex number inputs in filter XML (Stefan Berger),<br/>
      Add build support for dnsmasq module (Satoru SATOH),<br/>
      Add dnsmasq module files (Satoru SATOH),<br/>
      Fix make dist missing ESX generated files (Daniel Veillard),<br/>
      Fix printing of pathnames on error in qemuDomainSnapshotLoad. (Chris Lalancette),<br/>
      Improve configure error message about missing Linux headers (Matthias Bolte),<br/>
      nwfilter: extend schema + add testcase w/ connlimit-above (Stefan Berger),<br/>
      addrToString: give better error message (Eric Blake),<br/>
      Fake host CPU for qemu tests (Jiri Denemark),<br/>
      Use configured CPU model if possible (Jiri Denemark),<br/>
      Support removing features when converting data to CPU (Jiri Denemark),<br/>
      Move MIN macro to util.h so that others can use it (Jiri Denemark),<br/>
      Deal with CPU models in [] (Jiri Denemark),<br/>
      Ignore empty type attribute in driver element of virtual disks (Guido Günther),<br/>
      esx: Gather some XML generation macros in esx_vi.h (Matthias Bolte),<br/>
      nwfilter: add support for connlimit match (Stefan Berger),<br/>
      Extend fwall-drv interface and call functions via interface (Stefan Berger),<br/>
      esx: Add support for the VMXNET 2 (Enhanced) NIC model (Matthias Bolte),<br/>
      Install nwfilter xml files from source directory. (Philipp Hahn),<br/>
      Fixup python binding for virDomainSnapshot APIs (Daniel P. Berrange),<br/>
      Fix network hotplug to use device_add in QEMU (Daniel P. Berrange),<br/>
      Fix error reporting for getfd + host_net_add in QEMU (Daniel P. Berrange),<br/>
      Replace printf with logging macros (Matthias Bolte),<br/>
      Mark internal.h for translation (Jiri Denemark),<br/>
      Use virCheckFlags for APIs added in 0.8.0 (Jiri Denemark),<br/>
      Introduce virCheckFlags for consistent flags checking (Jiri Denemark),<br/>
      nwfilter: Clear all state tracking from a drop rule (Stefan Berger),<br/>
      Update to latest gnulib to get strtok_r relaxed to LGPLv2+ (Matthias Bolte),<br/>
      esx: Add nwfilter driver stub (Matthias Bolte),<br/>
      util: ensure safe{read,write,zero} return is checked (Eric Blake),<br/>
      Update QEMU device_add command in JSON mode (Daniel P. Berrange),<br/>
      Rename parameter in qemuMonitorDeviceDel (Daniel P. Berrange),<br/>
      Run test suite as part of RPM build process (Daniel P. Berrange),<br/>
      Fix QEMU command building errors to reflect unsupported configuration (Daniel P. Berrange),<br/>
      nwfilter: fix tear down order and consolidate functions (Stefan Berger),<br/>
      Fix close_used_without_including_unistd_h error (Matthias Bolte),<br/>
      Implement variable length structure allocator (David Allan),<br/>
      build: set STATIC_ANALYSIS when running via clang or coverity (Jim Meyering),<br/>
      sa_assert: assert-like macro, enabled only for use with static analyzers (Jim Meyering),<br/>
      Implement forgotten backend of virInterfaceIsActive() (Laine Stump),<br/>
      nwfilter: use virFindFileInPath for needed CLI tools (Stefan Berger),<br/>
      esx: Extend esx_vi_generator.py to cover methods too (Matthias Bolte),<br/>
      Consolidate interface related functions in interface.c (Stefan Berger),<br/>
      build: include usleep gnulib module (Eric Blake)
      </li>
      <li> Cleanups:<br/>
      qemudDomainSaveFlag: remove dead store (Jim Meyering),<br/>
      Remove unused goto label from qemudDomainCreate (Daniel P. Berrange),<br/>
      Fix indentation for storage conf XML (David Allan),<br/>
      Make virDomainSnapshotObjListDeinit static. (Chris Lalancette),<br/>
      Some NWFilter symbols are conditional and have to be exported conditional (Matthias Bolte),<br/>
      xen: Fix inside_daemon beeing unused when libvirtd is disabled (Matthias Bolte),<br/>
      maint: update AUTHORS (Marco Bozzolan),<br/>
      maint: update AUTHORS with recent contributors (Eric Blake),<br/>
      maint: enforce whitespace on shell scripts (Eric Blake),<br/>
      testutilsqemu: avoid uninitialized variable (Eric Blake),<br/>
      maint: ignore 'make syntax-check' failure files (Eric Blake),<br/>
      build: fix preprocessor indentation (Eric Blake),<br/>
      build: avoid compiler warning (Eric Blake),<br/>
      Explicitly set virStoragePoolTypeInfo FS and NETFS defaults (Matthias Bolte),<br/>
      Mark in_open parameter of remoteAuthenticate as unused when it's unused (Matthias Bolte),<br/>
      Don't ship generated python/libvirt.? files. (Philipp Hahn),<br/>
      esx: Replace scanf with STRSKIP and strtok_r (Matthias Bolte),<br/>
      maint: another preprocessor fix (Eric Blake),<br/>
      Remove code from JSON monitor for commands that won't be ported (Daniel P. Berrange),<br/>
      Fix apibuild.py warnings about missing ':' (Matthias Bolte),<br/>
      xend_internal.c: assure clang that we do not dereference NULL (Jim Meyering),<br/>
      build: fix recent 'make syntax-check' failure (Eric Blake),<br/>
      virStorageBackendFileSystemMount: prefer strdup over virAsprintf (Jim Meyering),<br/>
      virStorageBackendFileSystemMount: placate clang (Jim Meyering),<br/>
      openvzGetProcessInfo: address clang-detected low-probability flaw (Jim Meyering),<br/>
      vshCommandRun: avoid used-uninitialized timing-related report from clang (Jim Meyering),<br/>
      Fix up formatting of remote protocol stuff. (Chris Lalancette),<br/>
      Remove some debugging leftovers. (Chris Lalancette),<br/>
      build: fix syntax-check problems (Eric Blake)
      </li>
    </ul>
    <h3>0.8.0: Apr 12 2010</h3>
    <ul>
      <li>Features:<br/>
      esx: Add domain snapshot support (Matthias Bolte),<br/>
      Snapshot API framework. (Chris Lalancette),<br/>
      Add managed save API entry points (Daniel Veillard),<br/>
      Implement XML parser/formatter for "timer" subelement of domain clock (Laine Stump),<br/>
      Add hook utilities (Daniel Veillard),<br/>
      cpuUpdate() for updating guest CPU according to host CPU (Jiri Denemark),<br/>
      Network filtering API (Stefan Berger),<br/>
      Introduce a new virDomainUpdateDeviceFlags public API (Daniel P. Berrange),<br/>
      Introduce a new public API for domain events (Daniel P. Berrange),<br/>
      Public virDomainMigrateSetMaxDowntime API (Jiri Denemark),<br/>
      Add public API for volume wiping (David Allan),<br/>
      xenapi: Initial commit of the new driver (Sharadha Prabhakar)
      </li>

      <li>Documentation:<br/>
      Add documentation for synchronous hooks (Daniel Veillard),<br/>
      Small fixes to virsh man page (Luiz Capitulino),<br/>
      Avoid using multicast addresses for Ethernet MAC examples (redshift),<br/>
      Fix unterminated B&lt;...&gt; in virsh man page (Jiri Denemark),<br/>
      Document all options of virsh dumpxml (Jiri Denemark),<br/>
      virsh: improve documentation (Eric Blake),<br/>
      Document snapshot virsh commands in the man page. (Chris Lalancette),<br/>
      Website documentation for the snapshot XML. (Chris Lalancette),<br/>
      website: Add archive link for libvirt-users list (Matthias Bolte),<br/>
      virsh: improve man page (Eric Blake),<br/>
      Mention direct device support since 0.7.7 in docs (Stefan Berger),<br/>
      esx: Improve documentation about remote URIs (Matthias Bolte),<br/>
      doc: fix typos in hacking.html.in; mark HACKING as read-only (Jim Meyering),<br/>
      doc: fix more typos in HACKING (Jim Meyering),<br/>
      hacking: add a section on preprocessor conventions (Eric Blake),<br/>
      hacking: fix typos (Eric Blake),<br/>
      Update hacking.html.in (David Allan)
      </li>

      <li>Portability:<br/>
      Fix Win32 portability problems (Daniel P. Berrange),<br/>
      This patch fixes some compilation issues for the RHEL5 build (Stefan Berger),<br/>
      util: Add stubs for some functions on Windows (Matthias Bolte),<br/>
      Add HAVE_PTHREAD_H guard for pthread_sigmask (Matthias Bolte),<br/>
      bootstrap: Enable copy-mode for MinGW builds (Matthias Bolte),<br/>
      util: Handle lack of (f)chmod and (f)chown on Windows (Matthias Bolte),<br/>
      bootstrap: Remove rsync from buildreq list (Matthias Bolte),<br/>
      Make sure virtTestCaptureProgramOutput has a body on Windows (Matthias Bolte),<br/>
      Fix export of virConnectAuthPtrDefault for MinGW builds (Matthias Bolte),<br/>
      Make sure uid_t and gid_t are available (Matthias Bolte)
      </li>

      <li>Bug Fixes:<br/>
      nwfilter: Fix memory leak on daemon init and shutdown (Stefan Berger),<br/>
      More event callback fixes (Daniel P. Berrange),<br/>
      Fix error in nwfilter test driver (Stefan Berger),<br/>
      qemu: catch cdrom change error (Ryan Harper),<br/>
      nwfilter: fix for directionality of ICMP traffic (Stefan Berger),<br/>
      Fix CPU comparison for x86 arch (Jiri Denemark),<br/>
      Don't ignore guest CPU selection when unsupported by HV (Jiri Denemark),<br/>
      domain_event.c: don't deref NULL on an OOM error path (Jim Meyering),<br/>
      nwfiler: fix due to non-symmetric src mac address match in iptables (Stefan Berger),<br/>
      qemu_driver.c: don't close an arbitrary file descriptor (Jim Meyering),<br/>
      Add VIR_DOMAIN_XML_INACTIVE flag when parsing domain XML (Jamie Strandboge),<br/>
      virt-aa-helper should not fail if profile was removed (Jamie Strandboge),<br/>
      Do nor clear caps when invoking virt-aa-helper (Jamie Strandboge),<br/>
      virterror.c: avoid erroneous case "fall-through" (Jim Meyering),<br/>
      Increase the number of available VNC ports. (Chris Lalancette),<br/>
      Only assign newDef when we have a new def. (Chris Lalancette),<br/>
      nwfilter: Fix random index in virNWFilterRuleDefDetailsFormat (Matthias Bolte),<br/>
      xenapi: Fix uninitialized variable warning (Matthias Bolte),<br/>
      Add a missing break statement to nwfilter errors. (Chris Lalancette),<br/>
      VBox: Fix use of uninitialized value (Jiri Denemark),<br/>
      Allow domain disk images on root-squash NFS to coexist with security driver. (Laine Stump),<br/>
      Don't use virFileReadLimFD in qemuDomainRestore. (Chris Lalancette),<br/>
      nwfilter's XML parser bug fixes (Stefan Berger),<br/>
      ESX test case needs '/' in interface name (Stefan Berger),<br/>
      Fix linker errors in proxy (Matthias Bolte),<br/>
      virConnectGetLibVersion: Avoid error message on success. (Paolo Smiraglia),<br/>
      Fix daemon hook script initialization (Daniel Veillard),<br/>
      Fix QEMU cpu affinity at startup to include all threads (Daniel P. Berrange),<br/>
      Fix "make check" run requesting authentication (Stefan Berger),<br/>
      Don't replace persistent domain config with migrated config (Jiri Denemark),<br/>
      Fix build break (David Allan),<br/>
      esx: Make the conf parser compare names case insensitive in VMX mode (Matthias Bolte),<br/>
      vbox: Fix segfault on empty device source (Matthias Bolte),<br/>
      python example: poll(-0.001) does not sleep forever (Philipp Hahn),<br/>
      Fix error reporting when parsing CPU XML strings (Jiri Denemark),<br/>
      virDiskNameToIndex: ignore trailing digits (Jim Meyering),<br/>
      esx: Fix potential memory leak in esxVI_BuildFullTraversalSpecItem (Matthias Bolte),<br/>
      Avoid libvirtd crash when cgroups is not configured on host (Jim Fehlig),<br/>
      security: selinux: Fix crash when releasing non-existent label (Cole Robinson),<br/>
      Don't crash without a security driver (Guido Günther),<br/>
      qemu: Fix FD leak in qemudStartVMDaemon (Matthias Bolte),<br/>
      util: ensure virMutexInit is not recursive (Eric Blake),<br/>
      Fix logroate rpm build breakage (Daniel Veillard),<br/>
      Fix LSB compliance of init script (Daniel Veillard),<br/>
      python: Fix networkLookupByUUID (Philip Hahn),<br/>
      Fix make dist with XenAPI changes (Cole Robinson),<br/>
      xenapi: Don't leak url and caps in case of error (Matthias Bolte),<br/>
      xenapi: Check for NULL before accessing the scheme (Matthias Bolte),<br/>
      xenapi: Request a username if there is non in the URI (Matthias Bolte),<br/>
      xenapi: Check for valid private data in xenapiSessionErrorHandle (Matthias Bolte),<br/>
      Use fsync() at the end of file allocation instead of O_DSYNC (Jiri Denemark),<br/>
      security: Set permissions for kernel/initrd (Cole Robinson),<br/>
      qemu: Fix USB by product with security enabled (Cole Robinson),<br/>
      Make nodeGetInfo report the correct number of NUMA nodes. (Chris Lalancette),<br/>
      Fix crash in virsh after bogus command (Chris Lalancette),<br/>
      Fix virsh command 'cd' (Chris Lalancette),<br/>
      Fix hang in qemudDomainCoreDump. (Chris Lalancette),<br/>
      Make sure qemudDomainSetVcpus doesn't hang. (Chris Lalancette),<br/>
      Fix a JSON CPU information bug. (Chris Lalancette),<br/>
      Free resources on error in udev startup (David Allan),<br/>
      Fix up nodeinfo parsing code. (Chris Lalancette),<br/>
      Wipe nodeinfo structure before filling it (Jiri Denemark),<br/>
      macvtap build detection fix (Stefan Berger),<br/>
      Fix virDomainGetXMLDesc cache settings output (Soren Hansen),<br/>
      Fix locking in qemudDomainMemoryStats (Adam Litke),<br/>
      qemu restore: don't let corrupt input provoke unwarranted OOM (Jim Meyering),<br/>
      virFileReadLimFD: diagnose maxlen &lt;= 0, rather than passing it on... (Jim Meyering),<br/>
      xen: don't let bogus packets trigger over-allocation and segfault (Jim Meyering)
      </li>

      <li>Improvements:<br/>
      Rename virsh "revert-to-snapshot" to "snapshot-revert" (Chris Lalancette),<br/>
      nwfilter: Process DHCP option to determine whether packet is a DHCP_OFFER (Stefan Berger),<br/>
      Add enospace option to qemu disk error policy (David Allan),<br/>
      nwfilter: More XML parser test cases (Stefan Berger),<br/>
      remote: Replace some virRaiseError with remoteError (Matthias Bolte),<br/>
      Generate libvirt.def from libvirt.syms (Matthias Bolte),<br/>
      Fix up python bindings for new event callbacks (Daniel P. Berrange),<br/>
      esx: Allow 'lsisas1068' as SCSI controller type (Matthias Bolte),<br/>
      esx: Report an error for invalid arguments in esxList(Defined)Domains (Matthias Bolte),<br/>
      nwfilter: Support for learning a VM's IP address (Stefan Berger),<br/>
      Properly advertise cpuselection guest capability (Jiri Denemark),<br/>
      Update of the apparmor regression tests (Jamie Strandboge),<br/>
      Improve the apparmor example (Jamie Strandboge),<br/>
      Improve virt-aa-helper to handle SDL graphics and cleanups (Jamie Strandboge),<br/>
      Adjust virt-aa-helper to handle pci devices (Jamie Strandboge),<br/>
      Add backingstore support to apparmor (Jamie Strandboge),<br/>
      build: avoid autogen on 'make clean' (Eric Blake),<br/>
      Add filter schema for nwfilter XML, extend domain XML schema (Stefan Berger),<br/>
      Add filter schema for nwfilter XML, extend domain XML schema (Stefan Berger),<br/>
      nwfilter: Fix instantiated layer 2 rules for 'inout' direction (Stefan Berger),<br/>
      Better error reporting in virsh. (Chris Lalancette),<br/>
      Snapshot virsh implementation. (Chris Lalancette),<br/>
      Snapshots for VBox (Jiri Denemark),<br/>
      Snapshot QEMU driver. (Chris Lalancette),<br/>
      Snapshot internal methods. (Chris Lalancette),<br/>
      xenapi: Add managedsave entries to the driver struct (Matthias Bolte),<br/>
      Add a managedsave command to virsh (Daniel Veillard),<br/>
      Implement managed save operations for qemu driver (Daniel Veillard),<br/>
      Implement remote protocol for managed save (Daniel Veillard),<br/>
      build: improve check for out-of-date .gnulib submodule (Eric Blake),<br/>
      optimizes the validation of the name of an interface (Stefan Berger),<br/>
      adds a couple of test cases for the XML parsing test suite (Stefan Berger),<br/>
      build: import latest gnulib (Eric Blake),<br/>
      Changes to clock timer XML to match final design. (Laine Stump),<br/>
      Keep build quiet for generated file (Daniel P. Berrange),<br/>
      Keep track of guest paused state after disk IO / watchdog events (Daniel P. Berrange),<br/>
      virsh: add 'exit' as an alias for 'quit' (Eric Blake),<br/>
      maint: mark xenapiSessionErrorHandler messages for translation (Jim Meyering),<br/>
      Blank out invalid interface names with escaped letters etc. (Stefan Berger),<br/>
      esx: Generate most SOAP mapping and improve inheritance handling (Matthias Bolte),<br/>
      Distribute nwfilter xml files and add them to rpm (Daniel Veillard),<br/>
      Make sure nwfilter headers are part of distribution (Daniel Veillard),<br/>
      maint: show which compiler warning triggered (Eric Blake),<br/>
      build: automate the rerun of autogen.sh (Eric Blake),<br/>
      makes the entries in the int-2-string maps more readable (Stefan Berger),<br/>
      Add ip6tables support for IPv6 filtering (Stefan Berger),<br/>
      Add support for so-far missing protocols for iptables filtering (Stefan Berger),<br/>
      Implement the qemu-kvm backend of clock timer elements (Laine Stump),<br/>
      Add flags to indicate presence of timekeeping-related qemu options (Laine Stump),<br/>
      Add timer element to domain schema (Laine Stump),<br/>
      virsh: support VISUAL, and allow metacharacters in EDITOR (Eric Blake),<br/>
      Add dummy nwfilter driver to test driver (Stefan Berger),<br/>
      Add script hook support to the LXC driver (Daniel Veillard),<br/>
      Add script hook support to the QEmu driver (Daniel Veillard),<br/>
      Add the script hook support to the libvirt daemon (Daniel Veillard),<br/>
      Add an error module and message for the hooks subsystem (Daniel Veillard),<br/>
      Export virPipeReadUntilEOF internally (Daniel Veillard),<br/>
      Introduce UPDATE_CPU flag for virDomainGetXMLDesc (Jiri Denemark),<br/>
      Helper function for making a copy of virCPUDefPtr (Jiri Denemark),<br/>
      filter new files through cppi, so syntax-check passes once again (Jim Meyering),<br/>
      Add disk error policy to domain XML (David Allan),<br/>
      build: don't lose prior configure args on autogen.sh (Eric Blake),<br/>
      build: update gnulib (Eric Blake),<br/>
      Add some examples filters (Stefan Berger),<br/>
      Extensions for iptables rules (Stefan Berger),<br/>
      Add IPv6 support for the ebtables layer (Stefan Berger),<br/>
      Add qemu support (Stefan Berger),<br/>
      Core driver implementation with ebtables support (Stefan Berger),<br/>
      Add XML parser extensions for network filtering (Stefan Berger),<br/>
      Add virsh support for new CLI commands (Stefan Berger),<br/>
      Definition of the wire format, RPC client &amp; server (Stefan Berger),<br/>
      Add Network filtering internal API (Stefan Berger),<br/>
      Add Network filtering public API (Stefan Berger),<br/>
      Add recursive locks (Stefan Berger),<br/>
      Implement VNC password change in QEMU (Daniel P. Berrange),<br/>
      Allow parsing &lt;graphics&gt; in device XML (Daniel P. Berrange),<br/>
      Introduce a update-device command in virsh (Daniel P. Berrange),<br/>
      Implement virDomainUpdateDeviceFlags API in all drivers with media change (Daniel P. Berrange),<br/>
      Remote protocol impl for virDomainUpdateDeviceFlags (Daniel P. Berrange),<br/>
      Add domain events for graphics network clients (Daniel P. Berrange),<br/>
      Add support for an explicit IO error event (Daniel P. Berrange),<br/>
      Add support for an explicit watchdog event (Daniel P. Berrange),<br/>
      Add support for an explicit  RTC change event (Daniel P. Berrange),<br/>
      Add support for an explicit guest reboot event (Daniel P. Berrange),<br/>
      Rename domain lifecycle event message (Daniel P. Berrange),<br/>
      Convert domain events example to new API (Daniel P. Berrange),<br/>
      Remote driver &amp; daemon impl of new event API (Daniel P. Berrange),<br/>
      Support new event register/deregister APis in all drivers except remote (Daniel P. Berrange),<br/>
      Add new internal domain events APIs for handling other event types (Daniel P. Berrange),<br/>
      Refactor domain events to handle multiple event types (Daniel P. Berrange),<br/>
      Make internal domain events struct definitions private (Daniel P. Berrange),<br/>
      tests: teach syntax-check that virDomainDefFree has free-like semantics (Jim Meyering),<br/>
      Add entry point logging for cpu functions (Jiri Denemark),<br/>
      build: suppress distracting build output (Jim Meyering),<br/>
      maint: add syntax-check rule to prohibit use of test's -a operator (Jim Meyering),<br/>
      tests: shell script portability and clean-up (Jim Meyering),<br/>
      tests: Don't add extra padding if counter mod 40 is 0 (Matthias Bolte),<br/>
      Use common XML parsing functions (Jiri Denemark),<br/>
      Introduce XML parsing utility functions (Jiri Denemark),<br/>
      virDomainDiskDefAssignAddress: return int, not void (Jim Meyering),<br/>
      tests: do not use the ":disk" suffix in sample xml input (Jim Meyering),<br/>
      util: Make some conditional symbols unconditional (Matthias Bolte),<br/>
      Export conditional state driver symbols only when they are defined (Matthias Bolte),<br/>
      esx: Add esxVI_LookupVirtualMachineByName (Matthias Bolte),<br/>
      esx: Generate method mappings via macros (Matthias Bolte),<br/>
      Add migrate-setmaxdowntime command to virsh (Jiri Denemark),<br/>
      Implement virDomainMigrateSetMaxDowntime in qemu driver (Jiri Denemark),<br/>
      Implement virDomainMigrateSetMaxDowntime in remote driver (Jiri Denemark),<br/>
      Wire protocol and dispatcher for virDomainMigrateSetMaxDowntime (Jiri Denemark),<br/>
      Internal driver API for virDomainMigrateSetMaxDowntime (Jiri Denemark),<br/>
      Virsh support for vol wiping (David Allan),<br/>
      Simplified version of volume wiping based on feedback from the list. (David Allan),<br/>
      Implement remote bits for vol wiping (David Allan),<br/>
      Implement the public API for vol wiping (David Allan),<br/>
      Define the internal driver API for vol wiping (David Allan),<br/>
      Support vhost-net mode at qemu startup for virtio network devices (Laine Stump),<br/>
      maint: enforce recent N_ usage (Eric Blake),<br/>
      Allow suspend during live migration (Jiri Denemark),<br/>
      do not require two ./autogen.sh runs to permit "make" (Jim Meyering),<br/>
      esx: Move username and password helper functions to authhelper.c (Matthias Bolte),<br/>
      Use WARN_CFLAGS when compiling virsh.c (Jiri Denemark),<br/>
      qemu: Add some debugging at domain startup (Cole Robinson),<br/>
      qemu: pass the information when disks are read-only (Daniel Veillard),<br/>
      macvtap: Only export symbols if support is enabled (Matthias Bolte),<br/>
      Only use the numa functions when they are available. (Chris Lalancette),<br/>
      Allow devices without a parent (Ed Swierk),<br/>
      build: change to gnulib module list should rerun bootstrap (Eric Blake),<br/>
      build: enforce preprocessor indentation (Eric Blake),<br/>
      build: update gnulib submodule to newer (but not latest) (Jim Meyering),<br/>
      Make virsh reconnect when losing connection (Daniel Veillard),<br/>
      Change logrotate to be per-hypervisor logs (Daniel Veillard),<br/>
      build: consistently indent preprocessor directives (Eric Blake),<br/>
      virsh: use N_ rather than gettext_noop (Eric Blake),<br/>
      virsh: fix existing N_ uses (Eric Blake),<br/>
      Get thread and socket information in virsh nodeinfo. (Chris Lalancette),<br/>
      Eliminate large stack buffer in doTunnelSendAll (Laine Stump),<br/>
      build: consistently use C99 varargs macros (Eric Blake)
      </li>

      <li>Cleanups:<br/>
      Fix some cppi prepocessor indentation issues (Daniel Veillard),<br/>
      Cleanup the msg_gen_function list in cfg.mk (Matthias Bolte),<br/>
      remote: Remove virConnectPtr from error/errorf (Matthias Bolte),<br/>
      Remove undefined symbols from symbols file (Matthias Bolte),<br/>
      Add missing nwfilter_learnipaddr.c to POTFILES.in (Daniel P. Berrange),<br/>
      Avoid searching for windres when not building for Windows (Diego Elio Pettenò),<br/>
      Executable does not belong into repository. (Stefan Berger),<br/>
      xenXMDomainDefineXML: remove dead store and useless/leaky virGetDomain (Jim Meyering),<br/>
      createRawFileOpHook: avoid dead stores (Jim Meyering),<br/>
      qemudDomainGetSecurityLabel: avoid dead store to "type" (Jim Meyering),<br/>
      Cleanup x86Compute() (Jiri Denemark),<br/>
      qemuDomainSnapshotLoad: avoid dead store (Jim Meyering),<br/>
      maint: s/initialis/initializ/ (Eric Blake),<br/>
      Fix 'avialable' typo (Matthias Bolte),<br/>
      macvtap: Remove virConnectPtr from ReportError (Matthias Bolte),<br/>
      phyp: Remove virConnectPtr from PHYP_ERROR (Matthias Bolte),<br/>
      esx: Mark error messages for translation (Matthias Bolte),<br/>
      vbox: Mark all error messages for translation (Matthias Bolte),<br/>
      Clarify an error message in setmem. (Chris Lalancette),<br/>
      Fix up comments for isEncrypted, isSecure, domainIsActive, and domainIsPersistent. (Chris Lalancette),<br/>
      Fix compiler warning about unused conn parameter (Matthias Bolte),<br/>
      openvz: Remove virConnectPtr from openvzError (Matthias Bolte),<br/>
      one: Remove virConnectPtr from oneError (Matthias Bolte),<br/>
      uml: Remove virConnectPtr from umlReportError (Matthias Bolte),<br/>
      Remove virConnectPtr from eventReportError (Matthias Bolte),<br/>
      Remove virConnectPtr from virLibConnError (Matthias Bolte),<br/>
      xen: Remove virConnectPtr from xenUnifiedError (Matthias Bolte),<br/>
      Remove virConnectPtr from nodeReportError (Matthias Bolte),<br/>
      netcf: Remove virConnectPtr from interfaceReportError (Matthias Bolte),<br/>
      xen: Remove virConnectPtr from virXenInotifyError (Matthias Bolte),<br/>
      xen: Remove virConnectPtr from virXenStoreError (Matthias Bolte),<br/>
      xen: Remove virConnectPtr from virXenError/virXenErrorFunc (Matthias Bolte),<br/>
      xen: Remove virConnectPtr from virXMError (Matthias Bolte),<br/>
      xen: Remove virConnectPtr from virXendError (Matthias Bolte),<br/>
      proxy: Remove virConnectPtr from virProxyError (Matthias Bolte),<br/>
      vbox: Remove virConnectPtr from vboxError (Matthias Bolte),<br/>
      test: Remove virConnectPtr from testError (Matthias Bolte),<br/>
      Remove unnecessary trailing \n in log messages (Matthias Bolte),<br/>
      Fix compiler warning about non-literal format string (Matthias Bolte),<br/>
      removes the virConnectPtr parameter where not necessary (Stefan Berger),<br/>
      Clarified error message (David Allan),<br/>
      Eliminate compiler warning about non-const format string (Laine Stump),<br/>
      Get rid of the regular expressions (Stefan Berger),<br/>
      Use the virStrToLong_ui() function rather than virStrToLong_i() (Stefan Berger),<br/>
      Make virDomainLoadConfig static. (Chris Lalancette),<br/>
      Eliminate compile warnings in nwfilter error log calls (Laine Stump),<br/>
      Only parse 'CPU XML' in virCPUDefParseXML() (Jim Fehlig),<br/>
      Replace sscanf in PCI device address parsing (Matthias Bolte),<br/>
      xen: Use virStrToLong_i instead of sscanf for XenD port parsing (Matthias Bolte),<br/>
      xenapi: Use virStrToLong_i instead of sscanf for CPU map parsing (Matthias Bolte),<br/>
      openvz: Use strtok_r instead of sscanf for VPS UUID parsing (Matthias Bolte),<br/>
      xen: Use virParseMacAddr instead of sscanf (Matthias Bolte),<br/>
      vbox: Replace atoi with virStrToLong_i (Matthias Bolte),<br/>
      cgroup: Replace sscanf with virStrToLong_ll (Matthias Bolte),<br/>
      Refactor major.minor.micro version parsing into a function (Matthias Bolte),<br/>
      Replace sscanf in nwfilter rule parsing (Matthias Bolte),<br/>
      Replace sscanf in legacy device address parsing (Matthias Bolte),<br/>
      build: more fallout from test -a (Eric Blake),<br/>
      Fix apibuild.py warning about virNWFilterLookupByUUIDString (Matthias Bolte),<br/>
      maint: remove redundant tests after virStrToLong (Eric Blake),<br/>
      maint: update AUTHORS (Eric Blake),<br/>
      maint: fix cpp indentation syntax-check failure (Jim Meyering),<br/>
      Add virt-aa-helper and secaatest to .gitignore (Matthias Bolte),<br/>
      esx: Remove redundant semicolons (Matthias Bolte),<br/>
      Use libvirt's existing ipv6/ipv4 parser/printer (Stefan Berger),<br/>
      Remove driver dependency from nwfilter_conf.c (Stefan Berger),<br/>
      Fix a merge error leftover (Daniel Veillard),<br/>
      Use enum of virDomainNetType (Stefan Berger),<br/>
      Silence cppi syntax-check warning (Daniel Veillard),<br/>
      maint: update syntax-check rule to also catch test's -o operator (Eric Blake),<br/>
      build: don't use "test cond1 -o cond2": it's not portable (Eric Blake),<br/>
      build: don't use "test cond1 -a cond2" in configure: it's not portable (Jim Meyering),<br/>
      Remove interfaceRegister from libvirt_private.syms (Matthias Bolte),<br/>
      esx: Cleanup file header comments (Matthias Bolte),<br/>
      maint: enforce recent copyright style (Eric Blake),<br/>
      maint: make Red Hat copyright notices consistent (Eric Blake),<br/>
      maint: fix typo (Eric Blake),<br/>
      docs: &lt;pre&gt; cannot be nested in &lt;p&gt; (Matthias Bolte),<br/>
      .gitignore: Ignore generated daemon/libvirtd.logrotate (Cole Robinson),<br/>
      phyp: Use virRequestUsername and virRequestPassword (Matthias Bolte),<br/>
      fix two "make syntax check" failures (Jim Meyering),<br/>
      Fix syntax-check errors (Jiri Denemark),<br/>
      Fix error messages in qemu text monitor (Jiri Denemark),<br/>
      Fix compiler warnings in virsh.c (Laine Stump),<br/>
      Silence compiler complaints about non-literal format strings (Laine Stump),<br/>
      Remove qemudDomainSetMaxMemory. (Chris Lalancette),<br/>
      Fix copy&amp;paste typos in virProcessInfoGetAffinity (Jiri Denemark),<br/>
      AUTHORS: add recent contributors (Eric Blake),<br/>
      Fix format string warnings (Laine Stump),<br/>
      ebtablesAddRemoveRule: avoid dead store (Jim Meyering),<br/>
      virInterfaceDefParseBond: avoid dead stores (Jim Meyering),<br/>
      xenXMDomainConfigParse: avoid dead store (Jim Meyering),<br/>
      qemuMonitorTextGetMemoryStats: decrease risk of false positive in parsing (Jim Meyering)
      </li>

    </ul>
    <h3>0.7.7: Mar 5 2010</h3>
    <ul>
      <li>Features:<br/>
      Introduce public API for domain async job handling (Daniel P. Berrange),<br/>
      macvtap support (Stefan Berger),<br/>
      Add QEMU support for virtio channel (Matthew Booth),<br/>
      Add persistence of PCI addresses to QEMU (Daniel P. Berrange),<br/>
      Functions for computing baseline CPU from a set of host CPUs (Jiri Denemark),<br/>
      Public API for virDomain{Attach,Detach}DeviceFlags (Jim Fehlig)
      </li>

      <li>Documentation:<br/>
      web docs -- macvtap mode explanation (Stefan Berger),<br/>
      Expand docs about clock modes (Daniel P. Berrange),<br/>
      docs: Fix syntax warnings from recent changes. (Cole Robinson),<br/>
      docs: network: Document &lt;domain&gt; element (Cole Robinson),<br/>
      docs: network: Document STP and delay attributes (Cole Robinson),<br/>
      docs: domain: Document &lt;description&gt; element (Cole Robinson),<br/>
      docs: storage: Document multipath pools (Cole Robinson),<br/>
      docs: storage: Document SCSI pools (Cole Robinson),<br/>
      docs: storage: Fix backingStore &lt;format&gt; docs (Cole Robinson),<br/>
      docs: storage: &lt;volume&gt;&lt;key&gt; is always generated. (Cole Robinson),<br/>
      docs: storage: Document capacity/alloc 'unit' (Cole Robinson),<br/>
      docs: add 3 missing spaces (Dan Kenigsberg),<br/>
      Fix typo in comment (Matthew Booth),<br/>
      libvirt: Update docs for hotplug only commands (Cole Robinson),<br/>
      Fix up a misspelled comment. (Chris Lalancette),<br/>
      doc: restrict virDomain{Attach,Detach}Device to active domains (Jim Fehlig),<br/>
      docs: Refer to virReportOOMError in the HACKING file (Matthias Bolte),<br/>
      docs: Emphasize that devices have to be inside the &lt;devices&gt; element (Matthias Bolte)
      </li>

      <li>Portability:<br/>
      build: vbox: avoid build failure when linking with --no-add-needed (Diego Elio Pettenò),<br/>
      build: avoid dlopen-related link failure on rawhide/F13 (Diego Elio Pettenò),<br/>
      Add a define for NFS_SUPER_MAGIC (Chris Lalancette),<br/>
      Fix compliation of AppArmor related code (Matthias Bolte)
      </li>

      <li>Bug Fixes:<br/>
      Fix USB passthrough based on product/vendor (Daniel P. Berrange),<br/>
      Misc fixes for LXC cgroups setup (Daniel P. Berrange),<br/>
      Change default for storage uid/gid from getuid()/getgid() to -1/-1 (Laine Stump),<br/>
      Fix parser checking of storage pool device (Daniel P. Berrange),<br/>
      Add missing device type check in QEMU PCI hotunplug (Daniel P. Berrange),<br/>
      Make domain save work on root-squash NFS (Laine Stump),<br/>
      Fix domain restore for files on root-squash NFS (Laine Stump),<br/>
      Fix USB/PCI device address aliases in QEMU hotplug driver (Daniel P. Berrange),<br/>
      Fix detection of errors in QEMU device_add command (Daniel P. Berrange),<br/>
      uml: avoid crash on partial read (Eric Blake),<br/>
      Fix QEMU domain state after a save attempt fails (Daniel P. Berrange),<br/>
      Fix error messages when parsing USB devices in QEMU (Rolf Eike Beer),<br/>
      Fix USB hotplug device string in QEMU driver (Rolf Eike Beer),<br/>
      phypUUIDTable_Push: do not corrupt output stream upon partial write (Jim Meyering),<br/>
      qemu: avoid null dereference on failed migration (Eric Blake),<br/>
      Free the macvtap mode string (Stefan Berger),<br/>
      libvirtd: do not ignore failure to set group ID in privileged mode (Jim Meyering),<br/>
      Ignore SIGWINCH in remote client call to poll(2) (RHBZ#567931). (Richard Jones),<br/>
      storage: conf: Correctly calculate exabyte unit (Cole Robinson),<br/>
      virsh.c: avoid all leaks in OOM path in cmdCPUBaseline (Jiri Denemark),<br/>
      Fixed reference count in virsh pool-build command (David Allan),<br/>
      Fix daemon-conf invalid failures (David Allan),<br/>
      virBufferAsprintf: do not omit va_end(argptr) call (Jim Meyering),<br/>
      xend_internal.c: don't dereference NULL for unexpected input (Jim Meyering),<br/>
      virsh: be careful to return "FALSE" upon OOM (Jim Meyering),<br/>
      virBufferStrcat: do not skip va_end (Jim Meyering),<br/>
      qparams.c: do not skip va_end, twice (Jim Meyering),<br/>
      get_virtual_functions_linux: would mistakenly always return zero (Jim Meyering),<br/>
      network: bridge: Fix IsActive, IsPersistent (Cole Robinson),<br/>
      qemuMonitorTextAddUSBDisk: avoid unconditional leak (Jim Meyering),<br/>
      tests: avoid NULL deref upon OOM failure (Jim Meyering),<br/>
      qemuInitPasswords: avoid unconditional leak (Jim Meyering),<br/>
      qemuMonitorTextAddDevice: avoid unconditional leak (Jim Meyering),<br/>
      libvirt-override.c: avoid a leak upon call with invalid argument (Jim Meyering),<br/>
      vboxDomainDumpXML: avoid a leak on OOM error path (Jim Meyering),<br/>
      virNodeDevCapScsiHostParseXML: avoid an unconditional leak (Jim Meyering),<br/>
      uml_driver.c: avoid leak upon failure (Jim Meyering),<br/>
      vbox_tmpl.c: avoid an unconditional leak (Jim Meyering),<br/>
      openvz (openvzFreeDriver): avoid leaks (Jim Meyering),<br/>
      Fix crash in LXC driver open method when URI has no path (Daniel P. Berrange),<br/>
      Fix USB device path formatting mixup (Daniel P. Berrange),<br/>
      qemu_driver.c: honor dname parameter once again (Jim Meyering),<br/>
      plug four virStoragePoolSourceFree-related leaks (Jim Meyering),<br/>
      remote_driver.c: avoid leak on OOM error path (Jim Meyering),<br/>
      qemu: Increase guest startup timeout to 30 seconds (Cole Robinson),<br/>
      Fix security driver configuration (Daniel P. Berrange),<br/>
      Escape strings serialized in XML (Daniel Veillard),<br/>
      absolutePathFromBaseFile: don't leak when first arg contains no "/" (Jim Meyering),<br/>
      sexpr_string: avoid leak on OOM error path (Jim Meyering),<br/>
      virDomainChrDefParseXML: don't leak upon invalid input (Jim Meyering),<br/>
      virExecWithHook: avoid leak on OOM error path (Jim Meyering),<br/>
      cgroup.c: don't leak mem+FD upon OOM (Jim Meyering),<br/>
      cgroup.c: avoid unconditional leaks (Jim Meyering),<br/>
      virt-pki-validate contains unexpanded SYSCONFDIR variable (Doug Goldstein)
      </li>

      <li>Improvements:<br/>
      Convert QEMU driver all hotunplug code from pci_del to device_del (Daniel P. Berrange),<br/>
      Support hot-unplug for USB devices in QEMU (Daniel P. Berrange),<br/>
      Tweak container initialization to make upstart/init happier (Daniel P. Berrange),<br/>
      Avoid creating top level cgroups if just querying for existence (Daniel P. Berrange),<br/>
      Support VCPU hotplug in QEMU guests (Daniel P. Berrange),<br/>
      Fix mis-leading error message in pool delete API (Daniel P. Berrange),<br/>
      Fix typo in QEMU migration command name (Daniel P. Berrange),<br/>
      Don't raise error message from cgroups if QEMU fails to start (Daniel P. Berrange),<br/>
      esx: don't ignore failure on close (Eric Blake),<br/>
      Fix safezero() (Jiri Denemark),<br/>
      Support job cancellation in QEMU driver (Daniel P. Berrange),<br/>
      Remote driver implementation for the virDomainAbortJob APi (Daniel P. Berrange),<br/>
      Wire up internal entry points for virDomainAbortJob API (Daniel P. Berrange),<br/>
      Introduce public API for cancelling async domain jobs (Daniel P. Berrange),<br/>
      Add QEMU driver support for job info on migration ops (Daniel P. Berrange),<br/>
      Remote driver implmentation of job info API (Daniel P. Berrange),<br/>
      Stub out internal driver entry points for job processing (Daniel P. Berrange),<br/>
      Use device_del to remove SCSI controllers (Wolfgang Mauerer),<br/>
      Fix PCI address handling when controllers are deleted (Wolfgang Mauerer),<br/>
      Fix data structure handling when controllers are attached (Wolfgang Mauerer),<br/>
      Allow configurable timezones with QEMU (Daniel P. Berrange),<br/>
      Allow a timezone to be specified instead of sync to host timezone (Daniel P. Berrange),<br/>
      Support variable clock offset mode in QEMU (Daniel P. Berrange),<br/>
      Add new clock mode allowing variable adjustments (Daniel P. Berrange),<br/>
      Change the internal domain conf representation of localtime/utc (Daniel P. Berrange),<br/>
      Use standard spacing for user/pass prompt (Cole Robinson),<br/>
      libvirtd: Better initscript error reporting (Cole Robinson),<br/>
      qemu: Report binary path if error parsing -help (Cole Robinson),<br/>
      remote: Improve daemon startup error reporting (Cole Robinson),<br/>
      virsh: Show errors reported by nonAPI functions (Cole Robinson),<br/>
      remote: Improve error message when libvirtd isn't running (Cole Robinson),<br/>
      build: make git submodule checking more reliable (Jim Meyering),<br/>
      Add descriptions for macvtap direct type interfaces (Stefan Berger),<br/>
      maint: import modern bootstrap (Eric Blake),<br/>
      maint: start factoring bootstrap (Eric Blake),<br/>
      build: update gnulib submodule to latest (Jim Meyering),<br/>
      Create raw storage files with O_DSYNC (again) (Jiri Denemark),<br/>
      Use virFileOperation hook function in virStorageBackendFileSystemVolBuild (Laine Stump),<br/>
      Rename virFileCreate to virFileOperation, add hook function (Laine Stump),<br/>
      qemu: Check for IA64 kvm (Dustin Xiong),<br/>
      remote: Print ssh stderr on connection failure (Cole Robinson),<br/>
      fix multiple veth problem for OpenVZ (Yuji NISHIDA),<br/>
      Better error reporting for failed migration (Chris Lalancette),<br/>
      Make an error message in PCI util code clearer (Chris Lalancette),<br/>
      macvtap mac_filter support (Stefan Berger),<br/>
      macvtap IFF_VNET_HDR configuration (Stefan Berger),<br/>
      Use virFork() in __virExec(), virFileCreate() and virDirCreate() (Laine Stump),<br/>
      Add virFork() function to utils (Laine Stump),<br/>
      Add domain support for virtio channel (Matthew Booth),<br/>
      qemu: Explicitly error if guest virtual network is inactive (Cole Robinson),<br/>
      virterror: Make SetError work if no previous error was set (Cole Robinson),<br/>
      macvtap teardown rework (Stefan Berger),<br/>
      Update QEMU JSON balloon command handling (Daniel P. Berrange),<br/>
      python: Actually add virConnectGetVersion to generated bindings (Cole Robinson),<br/>
      build: inform libtool of m4 directory (Eric Blake),<br/>
      Adds a cpu-baseline command for virsh (Jiri Denemark),<br/>
      qemu: Make SetVcpu command hotplug only (Cole Robinson),<br/>
      qemu: Make Set*Mem commands hotplug only (Cole Robinson),<br/>
      Treat missing QEMU 'thread_id' as non-fatal in JSON monitor (Daniel P. Berrange),<br/>
      Fix check for primary IDE controller in QEMU PCI slot assignment (Daniel P. Berrange),<br/>
      Make error reporting for QEMU JSON mode more friendly (Daniel P. Berrange),<br/>
      Run 'qmp_capabilities' command at QEMU monitor startup (Daniel P. Berrange),<br/>
      macvtap support for libvirt -- schema extensions (Stefan Berger),<br/>
      macvtap support for libvirt -- qemu support (Stefan Berger),<br/>
      macvtap support for libvirt -- helper code (Stefan Berger),<br/>
      macvtap support for libvirt -- parse new interface XML (Stefan Berger),<br/>
      interface: Use proper return codes in the open function (Matthias Bolte),<br/>
      Support 'block_passwd' command for QEMU disk encryption (Daniel P. Berrange),<br/>
      Implement cpuBaseline in remote and qemu drivers (Jiri Denemark),<br/>
      Wire protocol format and dispatcher for virConnectBaselineCPU (Jiri Denemark),<br/>
      virConnectBaselineCPU public API implementation (Jiri Denemark),<br/>
      Internal driver API for virConnectBaselineCPU (Jiri Denemark),<br/>
      virConnectBaselineCPU public API (Jiri Denemark),<br/>
      Implement cpuArchBaseline in x86 CPU driver (Jiri Denemark),<br/>
      Implement cpuArchBaseline in generic CPU driver (Jiri Denemark),<br/>
      Mark all error messages for translation (Jiri Denemark),<br/>
      Add cpu_generic.c to the list of translated files (Jiri Denemark),<br/>
      Fix &lt;cpu&gt; element in domain XML schema (Jiri Denemark),<br/>
      Fix disk stats retrieval with QEMU &gt;= 0.12 (Daniel P. Berrange),<br/>
      qemu: Properly report a startup timeout error (Cole Robinson),<br/>
      test: Fake security driver support in capabilities (Cole Robinson),<br/>
      Annotate some virConnectPtr as mandatory non-null (Daniel P. Berrange),<br/>
      Convert qemu command line flags to 64-bit int (Daniel P. Berrange),<br/>
      Create raw storage files with O_DSYNC (Jiri Denemark),<br/>
      Re-generate remote protocol files for new APIs (Daniel P. Berrange),<br/>
      Modify virsh commands (Jim Fehlig),<br/>
      domain{Attach,Detach}DeviceFlags handler for drivers (Jim Fehlig),<br/>
      Server side dispatcher (Jim Fehlig),<br/>
      Remote driver (Jim Fehlig),<br/>
      Wire protocol format (Jim Fehlig),<br/>
      Public API Implementation (Jim Fehlig)
      </li>

      <li>Cleanups:<br/>
      virsh: silence compiler warning (Eric Blake),<br/>
      build: silence coverity warning in node_device (Eric Blake),<br/>
      Tiny spelling fix (Wolfgang Mauerer),<br/>
      libvirtd: avoid false-positive NULL-deref warning from clang (Eric Blake),<br/>
      x86Decode: avoid NULL-dereference upon questionable input (Jim Meyering),<br/>
      openvzDomainDefineCmd: remove useless increment (Jim Meyering),<br/>
      maint: disallow TAB-in-indentation also in *.rng files (Jim Meyering),<br/>
      maint: convert leading TABs in *.rng files to equivalent spaces (Jim Meyering),<br/>
      udevEnumerateDevices: remove dead code (Jim Meyering),<br/>
      qemudNetworkIfaceConnect: remove dead store (Jim Meyering),<br/>
      cmdPoolDiscoverSources: initialize earlier to avoid FP from clang (Jim Meyering),<br/>
      build: avoid warning about return-with-value in void function (Jim Meyering),<br/>
      Only build virDomainObjFormat if not building proxy. (Chris Lalancette),<br/>
      openvzGetVEID: don't leak (memory + file descriptor) (Jim Meyering),<br/>
      build: avoid warning about unused variables (Jim Meyering),<br/>
      build: avoid "make rpm" failure in docs/ (Jim Meyering),<br/>
      build: teach apibuild.py to work in a non-srcdir build (Jim Meyering),<br/>
      build: avoid non-srcdir "make distcheck" failures (CLEANFILES) (Jim Meyering),<br/>
      build: avoid non-srcdir "make distcheck" failures (srcdir vs wildcard) (Jim Meyering),<br/>
      build: avoid non-srcdir "make distcheck" failure (test_conf.sh) (Jim Meyering),<br/>
      build: avoid non-srcdir installation failure (sitemap.html.in) (Jim Meyering),<br/>
      build: avoid non-srcdir installation failure (apibuild.py) (Jim Meyering),<br/>
      build: fix typos in makefile variable names (Jim Meyering),<br/>
      build: ensure that MKINSTALLDIRS is AC_SUBST-defined (Jim Meyering),<br/>
      maint: relax git minimum version (Eric Blake),<br/>
      maint: sort .gitignore (Eric Blake),<br/>
      maint: fix quoting in autogen.sh (Eric Blake),<br/>
      virFork: placate static analyzers: ignore pthread_sigmask return value (Jim Meyering),<br/>
      virsh.c: avoid leak on OOM error path (Jim Meyering),<br/>
      Make virDomainObjFormat static (Chris Lalancette),<br/>
      xenDaemonDomainSetAutostart: avoid appearance of impropriety (Jim Meyering),<br/>
      Remove unused functions from domain_conf (Matthew Booth),<br/>
      Fix whitespace in domain.rng (Matthew Booth),<br/>
      openvzLoadDomains: don't ignore failing virUUIDFormat (Jim Meyering),<br/>
      vshCommandParse: placate coverity (Jim Meyering),<br/>
      virStorageBackendIsMultipath: avoid dead store (Jim Meyering),<br/>
      Convert virSecurityReportError into a macro (Matthias Bolte),<br/>
      Swap position of nmodels and models parameters in cpuDecode() (Jiri Denemark),<br/>
      Remove virConnectPtr from secret XML APIs (Daniel P. Berrange),<br/>
      Remove virConnectPtr from interface XML APIs (Daniel P. Berrange),<br/>
      Remove virConnectPtr from CPU XML APIs (Daniel P. Berrange),<br/>
      Remove virConnectPtr from storage APIs &amp; driver (Daniel P. Berrange),<br/>
      Remove virConnectPtr from all node device XML APIs (Daniel P. Berrange),<br/>
      Remove virConnectPtr from network XML APis (Daniel P. Berrange),<br/>
      Remove virConnectPtr from USB/PCI device iterators (Daniel P. Berrange),<br/>
      Fix generation of floppy disk arg for QEMU's -global arg (Daniel P. Berrange),<br/>
      Fix compile error in Xen proxy from virConnectPtr changes (Daniel P. Berrange),<br/>
      Remove use of virConnectPtr from security driver APIs (Daniel P. Berrange),<br/>
      Remove virConnectPtr from all domain XML parsing/formatting APIs (Daniel P. Berrange),<br/>
      Remove virConnectPtr from LXC driver (Daniel P. Berrange),<br/>
      Remove passing of virConnectPtr throughout QEMU driver (Daniel P. Berrange),<br/>
      virAsprintf: remove its warn_unused_result attribute (Jim Meyering),<br/>
      absolutePathFromBaseFile: avoid an unnecessary use of assert (Jim Meyering),<br/>
      Remove conn parameter from USB functions (Matthias Bolte),<br/>
      Remove conn parameter from JSON error macro (Matthias Bolte),<br/>
      Remove conn parameter from PCI functions (Matthias Bolte),<br/>
      Remove conn parameter from Linux stats functions (Matthias Bolte),<br/>
      Remove conn parameter from storage file functions (Matthias Bolte),<br/>
      Remove conn parameter from util functions (Matthias Bolte),<br/>
      Remove conn parameter from virXPath* functions (Matthias Bolte),<br/>
      Remove conn parameter from virReportSystemError (Matthias Bolte),<br/>
      Remove conn parameter from virReportOOMError (Matthias Bolte),<br/>
      website: Add a 1em right margin (Matthias Bolte),<br/>
      storage: Replace storageLog with VIR_ERROR (Matthias Bolte),<br/>
      opennebula: Remove unnecessary casts (Matthias Bolte),<br/>
      esx: Remove unnecessary casts (Matthias Bolte),<br/>
      cpu conf: Use virBufferFreeAndReset instead of virBufferContentAndReset and VIR_FREE (Matthias Bolte),<br/>
      esx: Cleanup preprocessing structure in esxVI_EnsureSession (Matthias Bolte)
      </li>
    </ul>
    <h3>0.7.6: Feb 3 2010</h3>
    <ul>
      <li>Features:<br/>
      Implement support for multi IQN (David Allan),<br/>
      Implement CPU topology support for QEMU driver (Jiri Denemark),<br/>
      Use QEmu new device adressing when possible (Daniel P. Berrange),<br/>
      Implement SCSI controller hotplug/unplug for QEMU (Wolfgang Mauerer)
      </li>

      <li>Documentation:<br/>
      Add missing function parameter documentation (Matthias Bolte),<br/>
      Add docs about new mailing list (Daniel P. Berrange),<br/>
      Document cpu-compare command in virsh man page (Jiri Denemark),<br/>
      Document cpu elements in capabilities and domain XML (Jiri Denemark),<br/>
      docs: Remove outdated information about remote limitations (Matthias Bolte),<br/>
      documentation improvements (David Jorm),<br/>
      Minor fixes for API extension doc (Jim Fehlig),<br/>
      cpu_shares parameter limit documented (David Jorm),<br/>
      Document the domain XML cache attribute for disk devices (Matthias Bolte),<br/>
      Replace old CVS references with GIT (Matthias Bolte)
      </li>

      <li>Portability:<br/>
      portability to non-glibc: don't use realpath(..., NULL) (Jim Meyering),<br/>
      Add some missing include files which break build in certain platforms (Daniel P. Berrange),<br/>
      Remove AppArmor compile warnings (Jamie Strandboge),<br/>
      Fix compilation of virt-aa-helper.c (Matthias Bolte),<br/>
      Fix linkage of virt-aa-helper to libgnu.a (Matthias Bolte)
      </li>

      <li>Bug Fixes:<br/>
      Fix restore of QEMU guests with PCI device reservation (Daniel P. Berrange),<br/>
      Another fork() log locking cleanup in file creation (Laine Stump),<br/>
      Fix log locking problem when using fork() in the library (Cole Robinson),<br/>
      Fix locking for udev device add/remove (David Allan),<br/>
      interface_conf.c: don't use a negative value as allocation size (Jim Meyering),<br/>
      virStoragePoolSourceListNewSource: avoid unconditional leak (Jim Meyering),<br/>
      xs_internal.c: don't use a negative value as allocation size (Jim Meyering),<br/>
      Ensure QEMU DAC security driver is activated at all times (Daniel P. Berrange),<br/>
      udev: Don't let strtoul parse USB busnum and devnum as octal (Matthias Bolte),<br/>
      json.c: avoid an unconditional leak from most qemuMonitorJSON* functions (Jim Meyering),<br/>
      Fix PCI host reattach on domain detach. (Chris Lalancette),<br/>
      Clarify controllers -device string in QEMU driver (Matthew Booth),<br/>
      util.c (virGetUserEnt): don't use a negative value as allocation size (Jim Meyering),<br/>
      cpu_x86.c: avoid NULL-deref for invalid arguments (Jim Meyering),<br/>
      Fix a crash when restarting libvirtd. (Chris Lalancette),<br/>
      qemuMonitorTextAttachDrive: avoid two leaks (Jim Meyering),<br/>
      usbGetDevice: don't leak a "usbDevice" buffer on failure path (Jim Meyering),<br/>
      qemuMonitorTextGetMemoryStats: plug a leak on an error path (Jim Meyering),<br/>
      usbFindBusByVendor: don't leak a DIR buffer and FD (Jim Meyering),<br/>
      Fix libvirtd restart for domains with PCI passthrough devices (Chris Lalancette),<br/>
      qemu: Fix race between device rebind and kvm cleanup (Chris Lalancette),<br/>
      Fix device assignment with root devices (Chris Lalancette),<br/>
      Corrected log level of WWN path message (David Allan),<br/>
      Fix an error when looking for devices in syspath (Daniel Veillard),<br/>
      Fix off-by-1 in SCSI drive hotplug (Daniel P. Berrange),<br/>
      Fix leak in hotplug code in QEMU driver (Daniel P. Berrange),<br/>
      Fix security driver calls in hotplug cleanup paths (Daniel P. Berrange),<br/>
      Add missing call to re-attach host devices if VM startup fails (Daniel P. Berrange),<br/>
      Pull initial disk labelling out into libvirtd instead of exec hook (Daniel P. Berrange),<br/>
      Fix leak of allocated security label (Daniel P. Berrange),<br/>
      Create storage pool directories with proper uid/gid/mode (Laine Stump),<br/>
      Create storage volumes directly with desired uid/gid (Laine Stump),<br/>
      Unset copied environment variables in qemuxml2argvtest (Matthias Bolte),<br/>
      qemu: Don't allocate zero bytes (Matthias Bolte),<br/>
      node_device_linux_sysfs.c: avoid opendir/fd leak on error path (Jim Meyering),<br/>
      domain_conf.c: avoid a leak and the need for "cleanup:" block (Jim Meyering),<br/>
      Fix QEMU driver custom domain status XML extensions (Daniel P. Berrange),<br/>
      xen_driver: don't leak a parsed-config buffer (Jim Meyering),<br/>
      storage_conf: plug a leak on OOM error path (Jim Meyering),<br/>
      Tests for ACS in PCIe switches (Jiri Denemark),<br/>
      storage_backend_fs.c: do not ignore probe failure (Jim Meyering),<br/>
      Avoid free'ing a constant string in chardev lookup code (Daniel P. Berrange),<br/>
      Fix build of Xen proxy daemon (Daniel P. Berrange),<br/>
      xen: do not report a write-to-Xen-daemon failure as a read failure (Jim Meyering),<br/>
      daemon: Don't blindly unregister domain events (Cole Robinson),<br/>
      node_device: udev: Fix memory leak (Cole Robinson),<br/>
      Fix migration in xend driver (Jim Fehlig),<br/>
      Ensure error handling callback functions are called from safe context (Daniel P. Berrange),<br/>
      qemu: Fix a memory leak in qemudExtractTTYPath (Matthias Bolte),<br/>
      Fix UUID random generator to use /dev/random (Laine Stump),<br/>
      let "configure --disable-shared" work once again (Jim Meyering),<br/>
      Qemu: ask for memory preallocation with large pages (Daniel Veillard),<br/>
      network/bridge_driver.c: avoid potential NULL-dereference (Jim Meyering),<br/>
      Don't free an uninitalized pointer in update_driver_name() (Matthias Bolte),<br/>
      xend_internal: don't let invalid input provoke NULL dereference (Jim Meyering),<br/>
      Don't update vol details after build (David Allan),<br/>
      vbox_tmpl.c: don't leak a domain pointer upon failure to create (Jim Meyering),<br/>
      vbox_tmpl.c: avoid NULL deref upon vboxDomainCreateXML failure (Jim Meyering),<br/>
      qemu_driver.c: avoid NULL dereference upon disk-op failure (Jim Meyering),<br/>
      openvz_conf.c: don't dereference NULL upon failure (Jim Meyering),<br/>
      Distribute vmx2xml and xml2vmx test data files (Matthias Bolte)
      </li>

      <li>Improvements:<br/>
      Tweak USB hostdevice XML handling (Daniel P. Berrange),<br/>
      Fix QEMU hotplug device alias assignment (Daniel P. Berrange),<br/>
      Disable QEMU monitor IO debugging by default (Daniel P. Berrange),<br/>
      Re-arrange QEMU device alias assignment code (Daniel P. Berrange),<br/>
      Remove direct storage of hostnet_name &amp; vlan (Daniel P. Berrange),<br/>
      Remove use of -netdev arg with QEMU (Daniel P. Berrange),<br/>
      Assign PCI addresses before hotplugging devices (Daniel P. Berrange),<br/>
      Rewrite way QEMU PCI addresses are allocated (Daniel P. Berrange),<br/>
      Introduce generic virDomainDeviceInfo iterator function (Daniel P. Berrange),<br/>
      Make hotplug use new device_add where possible (Daniel P. Berrange),<br/>
      Introduce internal QEMU monitor APIs for drive + device hotadd (Daniel P. Berrange),<br/>
      Split out QEMU code for building PCI/USB hostdev arg values (Daniel P. Berrange),<br/>
      Standard internal API syntax for building QEMU command line arguments (Daniel P. Berrange),<br/>
      Log flags in virConnectCompareCPU (Jiri Denemark),<br/>
      Look in /usr/libexec for the qemu-kvm binary. (Chris Lalancette),<br/>
      Support Xen 4.0 sysctl version 7 (Jim Fehlig),<br/>
      Add missing sata controller type to domain.rng (Matthew Booth),<br/>
      udev: Set the state driver name (Matthias Bolte),<br/>
      udev: Remove event handle on shutdown (Matthias Bolte),<br/>
      esx: Output error details from libcurl (Matthias Bolte),<br/>
      qemu: Search binaries in PATH instead of hardcoding /usr/bin (Matthias Bolte),<br/>
      Implement QMP support for extracting CPU thread ID (Daniel P. Berrange),<br/>
      Misc fixes to QMP monitor support for QEMU (Daniel P. Berrange),<br/>
      Fix setup of compatibility serial devices from console device (Daniel P. Berrange),<br/>
      Start modernizing configure (Eric Blake),<br/>
      Add a rule to check for uses of readlink. (Chris Lalancette),<br/>
      Add virConnectGetVersion Python API (Taizo ITO),<br/>
      domMemoryStats / qemu: Fix parsing of unknown stats (Adam Litke),<br/>
      Allow surrounding whitespace in uuid (Dan Kenigsberg),<br/>
      Add configuration option to turn off dynamic permissions management (Daniel P. Berrange),<br/>
      Switch QEMU driver over to use the DAC security driver (Daniel P. Berrange),<br/>
      Introduce a new DAC security driver for QEMU (Daniel P. Berrange),<br/>
      Introduce a stacked security driver impl for QEMU (Daniel P. Berrange),<br/>
      Make security drivers responsible for checking dynamic vs static labelling (Daniel P. Berrange),<br/>
      New utility functions virFileCreate and virDirCreate (Laine Stump),<br/>
      Add virRunWithHook util function (Laine Stump),<br/>
      Update interface.rng and xml test files to match netcf 0.1.5 (Laine Stump),<br/>
      Support bond interfaces attached to bridges in interface xml. (Laine Stump),<br/>
      Allow empty bridges in interface xml. (Laine Stump),<br/>
      Support delay property in interface bridge xml. (Laine Stump),<br/>
      Use pciDeviceIsAssignable in qemu driver (Jiri Denemark),<br/>
      Allow for CPU topology specification without model (Jiri Denemark),<br/>
      Add debug messages for CPU incompatibility (Jiri Denemark),<br/>
      Take disabled/forced CPU features into account (Jiri Denemark),<br/>
      Enhance qemuParseCommandLineKeywords (Jiri Denemark),<br/>
      Convert VirtIO balloon over to -device syntax (Daniel P. Berrange),<br/>
      uto-assign PCI addresses (Daniel P. Berrange),<br/>
      Pass -vga none if no video card specified (Daniel P. Berrange),<br/>
      Add support for explicit -sdl flag to QEMU (Daniel P. Berrange),<br/>
      Assign device aliases for all devices at startup (Daniel P. Berrange),<br/>
      Add device info to serial, parallel, channel, input &amp; fs devices (Daniel P. Berrange),<br/>
      Introduce device aliases (Daniel P. Berrange),<br/>
      Clear assigned PCI devices at shutdown (Daniel P. Berrange),<br/>
      Auto-add disk controllers based on defined disks (Daniel P. Berrange),<br/>
      Remove restriction on duplicated sound devices in parser (Daniel P. Berrange),<br/>
      Detect PCI addresses at QEMU startup (Daniel P. Berrange),<br/>
      Properly support SCSI drive hotplug (Daniel P. Berrange),<br/>
      build: update gnulib submodule to latest (Jim Meyering),<br/>
      Use closest CPU model when decoding from CPUID (Jiri Denemark),<br/>
      Change detection of xen so that it's actually automatic rather than forced. (Diego Elio Pettenò),<br/>
      Standardise ./configure --help options reporting. (Diego Elio Pettenò),<br/>
      qemu: Use log output for pty assignment if 'info chardev' is unavailable (Matthias Bolte),<br/>
      esx: Add VNC support (Matthias Bolte),<br/>
      esx: Make the domain part of the hostname optional (Matthias Bolte),<br/>
      esx: Add stubs for secondary driver types (Matthias Bolte),<br/>
      Specify bus/unit instead of index for disks with QEMU (Daniel P. Berrange),<br/>
      Split code for building QEMU -drive arg in separate method (Daniel P. Berrange),<br/>
      Convert monitor over to use virDomainDeviceAddress (Daniel P. Berrange),<br/>
      Add new domain device: "controller" (Wolfgang Mauerer),<br/>
      Set default disk controller/bus/unit props (Daniel P. Berrange),<br/>
      Add address info to sound, video and watchdog devices (Daniel P. Berrange),<br/>
      Extend the virDomainDeviceAddress struture to allow disk controller addresses (Daniel P. Berrange),<br/>
      Introduce a standardized data structure for device addresses (Daniel P. Berrange),<br/>
      util: Make sure virExec hook failures are raised (Cole Robinson),<br/>
      Implement path lookup for USB by vendor:product (Cole Robinson),<br/>
      events: Report errors on failure (Cole Robinson),<br/>
      node_device: udev: Enumerate floppy devices (Cole Robinson),<br/>
      node_device: udev: Use base 16 for product/vendor (Cole Robinson),<br/>
      libvirt.c: Preserve MigratePerform failure (Cole Robinson),<br/>
      qemu: migrate: Save MigratePerform error in MigrateFinish. (Cole Robinson),<br/>
      virterror: Add virSetError (Cole Robinson),<br/>
      Also look for dmi information in /sys/class (Guido Günther),<br/>
      proxy_internal.c: mark "request" parameter as nonnull (Jim Meyering),<br/>
      esx: Dump the raw response in case of an SOAP fault (Matthias Bolte),<br/>
      esx: Warn if the ESX server is in maintenance mode (Matthias Bolte),<br/>
      xen hypervisor: xen domctl version 6 (Jim Fehlig),<br/>
      virsh: Add persistent history using libreadline (Matthias Bolte),<br/>
      esx: Fix 'vpx' MAC address range and allow arbitrary MAC addresses (Matthias Bolte),<br/>
      esx: Fix deserialization for VI API calls CancelTask and UnregisterVM (Matthias Bolte),<br/>
      esx: Fix and improve the libcurl debug callback (Matthias Bolte),<br/>
      esx: Also allow virtualHW version 4 for ESX 4.0 (Matthias Bolte),<br/>
      qemu: Always enable the virtio balloon driver (Adam Litke),<br/>
      Disable building of static Python module (Diego Elio Pettenò),<br/>
      Fix parsing of 'info chardev' line endings (Matthew Booth)
      </li>

      <li>Cleanups:<br/>
      xen_hypervisor.c: remove all "domain == NULL" tests, ... (Jim Meyering),<br/>
      xen_hypervisor.c: avoid NULL deref for NULL domain argument (Jim Meyering),<br/>
      libvirtd.c: avoid closing a negative socket file descriptor (Jim Meyering),<br/>
      storage_backend.c: avoid closing a negative file descriptor (Jim Meyering),<br/>
      avoid a probable EINVAL from lseek (Jim Meyering),<br/>
      util.c (two more): don't use a negative value as allocation size (Jim Meyering),<br/>
      avoid format-related warnings (Jim Meyering),<br/>
      maint: avoid excess parens in STREQ (Eric Blake),<br/>
      Move models/nmodels mismatch checking one level up (Jiri Denemark),<br/>
      Fix up a comment in virHashUpdateEntry (Chris Lalancette),<br/>
      maint: fix spelling error in hacking (Eric Blake),<br/>
      pci.c: correct an erroneous expression (Jim Meyering),<br/>
      Remove undefined symbols from libvirt_private.syms (Matthias Bolte),<br/>
      Don't call disabled timer callbacks in event-test.c (Matthias Bolte),<br/>
      hostusb: closedir only if non-NULL; rename labels: s/error/cleanup/ (Jim Meyering),<br/>
      Cleanup of large buffer on stack in virFileMakePath (Laine Stump),<br/>
      esx: Stop passing around virConnectPtr for error reporting (Matthias Bolte),<br/>
      Revert "Fix libvirtd restart for domains with PCI passthrough devices" (Chris Lalancette),<br/>
      Fix two instances of misspelled 'pseudo' (Chris Lalancette),<br/>
      Use virFileResolveLink instead of readlink in AppArmor (Chris Lalancette),<br/>
      Fix a compile warning in parthelper.c (Chris Lalancette),<br/>
      Remove unused PROC_MOUNT_BUF_LEN #define (Chris Lalancette),<br/>
      fix "make distcheck" failure (Jim Meyering),<br/>
      avoid format-related warnings (Jim Meyering),<br/>
      Refactor setup &amp; cleanup of security labels in security driver (Daniel P. Berrange),<br/>
      Let make fail when XHTML validation fails (Jiri Denemark),<br/>
      Fix uses of virFileMakePath (Laine Stump),<br/>
      remove unnecessary closedir call (Jim Meyering),<br/>
      Make all bitfields unsigned ints to avoid unexpected values in casts (Daniel P. Berrange),<br/>
      logging: confirm that we want to ignore a write error (Jim Meyering),<br/>
      Remove superfluous new lines from messages (Jiri Denemark),<br/>
      vbox_tmpl.c: remove useless array-is-non-NULL comparisons (Jim Meyering),<br/>
      lxc_driver: remove useless comparison (Jim Meyering),<br/>
      gnulib added a new syntax-check test: use $(VAR), not @VAR@ (Jim Meyering),<br/>
      storage_backend.h: include required headers (Jim Meyering),<br/>
      esx_vi_types.c: include required headers (Jim Meyering),<br/>
      vbox: include required headers (Jim Meyering),<br/>
      cpu_x86_data.h: include required header (Jim Meyering),<br/>
      util.c: include required header, no longer masked by gnulib (Jim Meyering),<br/>
      Fix validation of news.html (Matthias Bolte),<br/>
      Remove obsolete comment in QEMU JSON code (Daniel P. Berrange),<br/>
      Make test suite output less verbose (Daniel P. Berrange),<br/>
      daemon: Fix various error reporting issues (Cole Robinson),<br/>
      util: Remove logging handlers in virExec (Cole Robinson),<br/>
      Commit bootstrap .gitignore additions (Cole Robinson),<br/>
      qemu: Disable errors in qemudShutdownVMDaemon (Cole Robinson),<br/>
      avoid another "make distcheck" failure (Jim Meyering),<br/>
      avoid newly-introduced test failure (Jim Meyering),<br/>
      don't test "res == NULL" after we've already dereferenced "res" (Jim Meyering),<br/>
      fix 7 "make check" test failures in non-srcdir build (Jim Meyering),<br/>
      virsh: Use VIR_FREE instead of free (Matthias Bolte),<br/>
      esx: Don't warn about an empty URI path (Matthias Bolte),<br/>
      qemu_driver.c: remove useless, warning-provoking test (Jim Meyering)
      </li>

    </ul>
    <h3>0.7.5: Dec 23 2009</h3>
    <ul>
      <li>Features:<br/>
      Add new API virDomainMemoryStats to header and drivers (Adam Litke),<br/>
      Public API and domain extension for CPU flags (Jiri Denemark),<br/>
      expose SR IOV physical/virtual function relationships (Dave Allan),<br/>
      Support for JSON mode monitor [deactivated] (Daniel P. Berrange),<br/>
      Support for interface model='netfront' (Jiri Denemark),<br/>
      vbox: Add support for version 3.1 (Pritesh Kothari),<br/>
      Support QEMU's virtual FAT block device driver (Daniel P. Berrange)
      </li>

      <li>Documentation:<br/>
      Document the dommemstat command in the virsh man page (Adam Litke),<br/>
      esx: Add more links to external documentation (Matthias Bolte),<br/>
      esx: Extend documentation about 'vcenter' and add some about 'auto_answer' (Matthias Bolte),<br/>
      Fix and improve domain xml video element description (Matthias Bolte),<br/>
      Fix owner and group in example volume XML (Matthew Booth),<br/>
      add missing doc for device &lt;shareable/&gt; option (Daniel Veillard),<br/>
      add AppArmor test and examples to dist (Jamie Strandboge),<br/>
      Update location of C# bindings. (Richard Jones),<br/>
      Fix typo in QEMU driver webpage (Daniel P. Berrange),<br/>
      Clarify documentation for private symbols (Wolfgang Mauerer),<br/>
      Fix news.html validation (Dan Kenigsberg)
      </li>

      <li>Portability:<br/>
      Define ATTRIBUTE_SENTINEL for GCC &lt; 4.0 too (Matthias Bolte),<br/>
      Fix compilation  with configure --disable-nls (Matthias Bolte),<br/>
      Fix configure check for SASL (Matthias Bolte),<br/>
      Fix GnuTLS pkg-config check (Matthias Bolte),<br/>
      Report an error if no XDR library can be found (Matthias Bolte),<br/>
      Fix compilation with gcrypt &lt; 1.4.2 (Matthias Bolte),<br/>
      Don't mix LDFLAGS and LIBS in the configure script (Diego Elio Pettenò),<br/>
      Don't make it possible to define HAVE_HAL but not enable it in automake (Diego Elio Pettenò),<br/>
      Fix install location for Python bindings (Matthias Bolte),<br/>
      Use AM_PATH_PYTHON and python-config to detect Python configuration (Matthias Bolte),<br/>
      Fix a compilation failure if yajl not avail (Daniel Veillard),<br/>
      Fix compilation for configure --disable-nls (Matthias Bolte)
      </li>

      <li>Bug fixes:<br/>
      cpu: Fix memory leaks in x86FeatureLoad and x86ModelLoad (Matthias Bolte),<br/>
      Make Xen VT-d PCI attach/detach work (Chris Lalancette),<br/>
      Fix detection of JSON when restarting libvirtd (Daniel P. Berrange),<br/>
      Fix reporting of TLS connection errors (Daniel P. Berrange),<br/>
      Fix typo in qemudDomainAttachHostPciDevice() (Daniel Veillard),<br/>
      esx: Destroy virtual machine on a vCenter if available (Matthias Bolte),<br/>
      esx: Undefine virtual machine on a vCenter if available (Matthias Bolte),<br/>
      Initialize gcrypt threading (Daniel P. Berrange),<br/>
      Fix bug in storage driver accessing wrong private data (Daniel P. Berrange),<br/>
      esx_vi.c: do not call through NULL function pointer (Jim Meyering),<br/>
      esx_util.c: avoid NULL deref for invalid inputs (Jim Meyering),<br/>
      esx: Don't goto failure for invalid arguments in VMX code (Matthias Bolte),<br/>
      Fix memory leak in qemudBuildCommandLine (Matthias Bolte),<br/>
      avoid malfunction when virFileResolveLink is applied to non-POSIX FS (Jim Meyering),<br/>
      libvirt.c: don't let a NULL "cpumaps" argument provoke a NULL-deref (Jim Meyering),<br/>
      qemu migration: avoid NULL-deref given an invalid input (Jim Meyering),<br/>
      qemu_driver.c: don't unlink(NULL) on OOM error path (Jim Meyering),<br/>
      remote_driver.c: also zero out ->saslDecodedOffset member (Jim Meyering),<br/>
      qemu_driver.c: avoid double free on error path (Jim Meyering),<br/>
      libvirtd: avoid a NULL dereference on error path (Jim Meyering),<br/>
      virsh: avoid double-free (Jim Meyering),<br/>
      node_device_driver.c: don't write beyond EOB for 4K-byte symlink (Jim Meyering),<br/>
      Eliminate failure to delete empty storage pools (Laine Stump),<br/>
      Fix use of virEventAddHandleImpl() (Jiri Denemark),<br/>
      Fix possible NULL pointer dereference (Paolo Bonzini),<br/>
      fix various breakages in qemu Dump command (Paolo Bonzini),<br/>
      Fix reference leak in remoteDispatchStorageVolCreateXmlFrom (Matthias Bolte),<br/>
      Fix memory leak in virStorageBackendCopyToFD (Matthias Bolte),<br/>
      retrieve paused/running state at migration start (Paolo Bonzini),<br/>
      fix migration of paused vms upon failure (Paolo Bonzini),<br/>
      qemu driver: Fix segfault in libvirt/libvirtd when uri->path is NULL. (Richard Jones),<br/>
      Fix a wellformedness problem in secret.rng (Diego Elio Pettenò),<br/>
      Fix virDomainObj ref handling in QEMU driver (Daniel P. Berrange),<br/>
      Pull code to start CPUs executing out of qemudInitCpuAffinity() (Daniel P. Berrange),<br/>
      Fix migration cancellation for QEMU (Daniel P. Berrange),<br/>
      Fix crash when deleting monitor while a command is in progress (Daniel P. Berrange),<br/>
      udev_device_get_devpath might return NULL (Guido Günther),<br/>
      Fix some locking issues (Matthias Bolte),<br/>
      Fix event test timer checks on kernels with HZ=100 (Daniel P. Berrange),<br/>
      Fix threading problems in python bindings (Daniel P. Berrange),<br/>
      Supress annoying libcap-ng errors from valgrind (Daniel P. Berrange),<br/>
      Fix two leaks in test driver (Daniel P. Berrange),<br/>
      Free cgroup device ACL list on driver shutdown (Daniel P. Berrange),<br/>
      xen: Fix unconditional freeing in xenDaemonListDefinedDomains() (Matthias Bolte),<br/>
      Fix default disk type when parsing QEMU argv (Daniel P. Berrange),<br/>
      remove port filter when network device is detached (Gerhard Stenzel)
      </li>

      <li>Improvements:<br/>
      convert missing server entry points into unsupported errors (Daniel Veillard),<br/>
      fix some error report when on remote access (Olivier Fourdan),<br/>
      Disable JSON mode monitor until QEMU is more mature (Daniel P. Berrange),<br/>
      Only probe for CPU models if required (Jiri Denemark),<br/>
      Add cpu_map.xml to libvirt.spec (Jiri Denemark),<br/>
      Install cpu_map.xml (Jiri Denemark),<br/>
      esx: Don't warn about '/' paths (Matthias Bolte),<br/>
      esx: Extend vCenter query parameter (Matthias Bolte),<br/>
      esx: Improve domain lookup by UUID (Matthias Bolte),<br/>
      build: update gnulib submodule to latest (Jim Meyering),<br/>
      Relax the allowed values for machine type in schema (Daniel Veillard),<br/>
      Implement --pool option for virsh vol-path (Dave Allan),<br/>
      nodedev: Add removable storage 'media_label' prop (Cole Robinson),<br/>
      add --live support to "virsh dump" (Paolo Bonzini),<br/>
      add --crash support to "virsh dump" (Paolo Bonzini),<br/>
      Get QEMU pty paths from the monitor (Matthew Booth),<br/>
      Extract the assigned pty device for QEmu channels (Matthew Booth),<br/>
      Make QEMU driver use -chardev everywhere if available (Matthew Booth),<br/>
      add virsh --suspend arg to migrate command (Paolo Bonzini),<br/>
      reload iptables rules on libvirtd restart (Mark McLoughlin),<br/>
      reload iptables rules simply by re-adding them (Mark McLoughlin),<br/>
      Plumb domain description tag in xend backend (Jim Fehlig),<br/>
      Make QEMU text monitor parsing more robust (Daniel P. Berrange),<br/>
      Hook up JSON monitor to emit basic lifecycle events (Daniel P. Berrange),<br/>
      Add QEMU monitor callbacks for basic lifecycle events (Daniel P. Berrange),<br/>
      Switch over to passing a callback table to QEMU monitor (Daniel P. Berrange),<br/>
      Introduce callbacks for serializing domain object private data to XML (Daniel P. Berrange),<br/>
      Switch LXC driver to use a private data blob for virDomainObj state (Daniel P. Berrange),<br/>
      Switch UML driver to use a private data blob for virDomainObj state (Daniel P. Berrange),<br/>
      Add a 'format' arg to qemuMonitorChangeMedia() since JSON will support it (Daniel P. Berrange),<br/>
      Introduce a simple API for handling JSON data (Daniel P. Berrange),<br/>
      Add --system flag to autogen.sh to make it easy to build with right prefix (Daniel P. Berrange),<br/>
      Export all symbols from xml.h for internal use (Jiri Denemark),<br/>
      vbox: Use virIndexToDiskName() in vboxGenerateMediumName() (Matthias Bolte),<br/>
      Tests for interface type/model configuration (Jiri Denemark),<br/>
      Add virIndexToDiskName and fix mapping gap (Matthias Bolte),<br/>
      Add another SENTINEL attribute (Paolo Bonzini),<br/>
      Fix help message (Wolfgang Mauerer),<br/>
      Alternate CPU affinity impl to cope with NR_CPUS > 1024 (Daniel P. Berrange)
      </li>

      <li>Cleanups:<br/>
      The secret driver is stateful, link it directly to libvirtd (Matthias Bolte),<br/>
      Remove undefined symbols from libvirt_private.syms (Matthias Bolte),<br/>
      boolean shadows a typedef in rpcndr.h when compiled with MinGW (Matthias Bolte),<br/>
      Rename DATADIR to PKGDATADIR to fix win32 build (Jiri Denemark),<br/>
      Move cpu_map.xml to -client RPM (Jiri Denemark),<br/>
      Fix undefined reference to 'close_used_without_including_unistd_h' (Matthias Bolte),<br/>
      Fix argument type of virProcessInfoSetAffinity dummy function (Matthias Bolte),<br/>
      esx: Use occurrence enum to specify expected result of a SOAP call (Matthias Bolte),<br/>
      esx: Fix occurence typo (Matthias Bolte),<br/>
      esx: Removed unused inttypes.h include (Matthias Bolte),<br/>
      esx: Replace libxml1 'xmlChildrenNode' with libxml2 'children' (Matthias Bolte),<br/>
      esx: Use more suitable error code in esxVI_LookupVirtualMachineByUuid() (Matthias Bolte),<br/>
      esx: Add automatic question handling (Matthias Bolte),<br/>
      avoid calling exit with a constant; use EXIT_* instead (Jim Meyering),<br/>
      maint: remove from VC two gnulib-provided files (Jim Meyering),<br/>
      xm_internal.c: remove misleading dead code (Jim Meyering),<br/>
      Cleanup temporary #define after use (Matthew Booth),<br/>
      Suppress cgroup error message on sucess startup (Ryota Ozaki),<br/>
      Small change of RNG syntax for domain (Diego Elio Pettenò),<br/>
      remove iptablesReloadRules() and related code (Mark McLoughlin),<br/>
      remove all traces of lokkit support (Mark McLoughlin),<br/>
      Add virBufferFreeAndReset() and replace free() (Matthias Bolte),<br/>
      Fix the news file non-ascii characters (Daniel Veillard),<br/>
      Add missing commas to the 0.7.4 news section (Matthias Bolte),<br/>
      Change generated HTML to UTF-8 encoding (Daniel Veillard),<br/>
      Avoid an type-punned pointer aliasing pbm (Daniel Veillard),<br/>
      Move qemuMonitorEscape + migrate status enum into shared monitor code (Daniel P. Berrange),<br/>
      vbox: Update IIDs from version 3.1-beta2 to 3.1-final (Matthias Bolte),<br/>
      Fix ReprotError vs ReportError typo in JSON code (Daniel P. Berrange),<br/>
      Fix inverted conditional test in configure.ac check for yajl (Daniel P. Berrange),<br/>
      Pull schedular affinity code out into a separate module (Daniel P. Berrange),<br/>
      Ignore docs/ directory for strcmp() syntax check (Daniel P. Berrange)
      </li>

    </ul>
    <h3>0.7.4: Nov 20 2009</h3>
    <ul>
      <li>Features:<br/>
      Implement a node device backend using libudev (David Allan),<br/>
      New APIs for checking some object properties (Daniel P. Berrange),<br/>
      Fully asynchronous monitor I/O processing (Daniel P. Berrange),<br/>
      add MAC address based port filtering to qemu (Gerhard Stenzel),<br/>
      Support for IPv6 / multiple addresses per interfaces (Laine Stump)
      </li>

      <li>Documentation:<br/>
      Document overriding domain interface target (Cole Robinson),<br/>
      514532 Fix man page, most operation are synchronous (Daniel Veillard),<br/>
      Fix typo in error message (Matthew Booth),<br/>
      esx: Add documentation to the website (Matthias Bolte),<br/>
      AppArmor updates of examples (Jamie Strandboge),<br/>
      Add documentation for &lt;channel&gt; domain element (Matthew Booth),<br/>
      Separate character device doc guest and host parts (Matthew Booth),<br/>
      Add a Python example that lists active ESX domains (Matthias Bolte),<br/>
      LXC fix wrong or out-of-date function descriptions (Ryota Ozaki),<br/>
      docs: &lt;clock&gt; property is 'offset', not 'sync' (Cole Robinson),<br/>
      Update the documentation for virDomainMigrateToURI (Chris Lalancette),<br/>
      fix virDomainMigrateToURI doc (Dan Kenigsberg)
      </li>

      <li>Bug fixes:<br/>
      504262 Check for duplicated UUID in XM Xen defines (Daniel Veillard),<br/>
      512069 fix domain XML schemas for backward compatibility (Daniel Veillard),<br/>
      qemu-kvm needs -enable-kvm flag for VT optimization (Steve Yarmie),<br/>
      fix deprecated iptables command syntax (Steve Yarmie),<br/>
      Ensure driver lock is released when entering QEMU monitor (Daniel P. Berrange),<br/>
      only remove masquerade roles for VIR_NETWORK_FORWARD_NAT (Guido Günther),<br/>
      esx: Fix CPU clock Hz to MHz conversion (Matthias Bolte),<br/>
      esx: Fix memory leak in esxVI_HostCpuIdInfo_Free() (Matthias Bolte),<br/>
      esx: Fix MAC address formatting (Matthias Bolte),<br/>
      Fix compilation of libvirt against xen-unstable (Jim Fehlig),<br/>
      Fix probing for libpciaccess (Daniel P. Berrange),<br/>
      Fix incorrect reference counting logic in qemu monitor open (Daniel P. Berrange),<br/>
      Don't return fatal error in HAL driver init if HAL isn't running (Daniel P. Berrange),<br/>
      Fix cleanup when state driver init fails (Daniel P. Berrange),<br/>
      AppArmor handling of accesses to readonly files (Jamie Strandboge),<br/>
      AppArmor require absolute paths (Jamie Strandboge),<br/>
      Check that domain is running when starting console (Daniel P. Berrange),<br/>
      Fix incorrect variable passed to LXC event callback (Daniel P. Berrange),<br/>
      Fix race condition in HAL driver startup (Daniel P. Berrange),<br/>
      Remove capng_lock() call when spawning LXC container init process (Daniel P. Berrange),<br/>
      Fix initscript to check daemon pidfile (Daniel P. Berrange),<br/>
      Filter out stale domains from xenstore listing (Daniel P. Berrange),<br/>
      Fix logic in xenUnifiedNumOfDomains to match xenUnifiedListDomains (Jonas Eriksson),<br/>
      Disable IPv6 socket auto-binding to IPv4 socket (Daniel P. Berrange),<br/>
      Fix save and restore with non-privileged guests and SELinux (Daniel P. Berrange),<br/>
      Prevent initializing ebtables if disabled in qemu.conf (Ryota Ozaki),<br/>
      phyp: too much timeout when polling socket (Eduardo Otubo),<br/>
      phyp: ssh authentication with public key fixed (Eduardo Otubo),<br/>
      opennebula: Fix potential memory/mutex leak in state driver startup (Matthias Bolte),<br/>
      phyp: Break potential infinite loops (Matthias Bolte),<br/>
      phyp: Fix memory/session leaks and potential invalid frees (Matthias Bolte),<br/>
      storage: conf: Fix memory leak in encryption parsing (Cole Robinson),<br/>
      Fix improper error return in virInterfaceDefParseProtoIPvX (Laine Stump),<br/>
      Fix virInterfaceIpDefPtr leak during virInterfaceIpDefFree (Laine Stump),<br/>
      give up python interpreter lock before calling cb (Dan Kenigsberg),<br/>
      ESX: Fix memory leak in list handling functions. (Matthias Bolte),<br/>
      Fix --with-init-script configure option (Matthew Booth),<br/>
      Don't let parent of daemon exit until basic initialization is done (Daniel P. Berrange),<br/>
      Fix configure detection of device mapper (Pritesh Kothari),<br/>
      Remote code caught EINTR making it ininterruptable (Daniel Veillard),<br/>
      virterror: Add a missing 'break' for VIR_ERR_INVALID_SECRET (Cole Robinson),<br/>
      Fix p2p migration without a passed uri. (Cole Robinson),<br/>
      Fix problems in the Xen inotify driver. (Matthias Bolte),<br/>
      Remove a completely bogus reference increment in the Xen driver. (Chris Lalancette),<br/>
      528575 avoid libvirtd crash on LCX domain autostart (Daniel Veillard),<br/>
      Fix SELinux linking issues (Jim Fehlig),<br/>
      node device: Fix locking issue in virNodeDeviceDestroy (Cole Robinson),<br/>
      LXC fix virCgroupGetValueStr problem with \n (Ryota Ozaki),<br/>
      Avoid crash in virBufferEscapeString (Laine Stump),<br/>
      LXC complement PATH environment variable (Ryota Ozaki)
      </li>

      <li>Improvements:<br/>
      Enable udev instead of hal on F12 / RHEL-6 or later (Daniel P. Berrange),<br/>
      python: Actually implement list*Interfaces bindings (Cole Robinson),<br/>
      esx: Handle 'vmxnet3' in esxVMX_FormatEthernet() (Matthias Bolte),<br/>
      Fix check for existence of cgroups at creation (Daniel P. Berrange),<br/>
      Fix virt-aa-helper when host and os.type arch differ (Jamie Strandboge),<br/>
      Add translation of PCI vendor and product IDs (David Allan),<br/>
      Add scsi_target device type (David Allan),<br/>
      Add several fields to node device capabilities (David Allan),<br/>
      Add virConnectGetLibvirtVersion API (Cole Robinson),<br/>
      Implement finer grained migration control for Xen (Maximilian Wilhelm),<br/>
      Support for SATA Disks in virDomainDiskBus (pritesh),<br/>
      LXC implement missing DomainInterfaceStats API (Ryota Ozaki),<br/>
      disable mac_filter config switch by default (Gerhard Stenzel),<br/>
      phyp: Reorder keyboard_interactive label in openSSHSession() (Eduardo Otubo),<br/>
      Implmentation of new APIs to checking state/persistence of objects (Daniel P. Berrange),<br/>
      Allow timeouts waiting for QEMU job lock (Daniel P. Berrange),<br/>
      Release driver and domain lock when running monitor commands (Daniel P. Berrange),<br/>
      Add reference counting on virDomainObjPtr objects (Daniel P. Berrange),<br/>
      Locking of the qemuMonitorPtr object (Daniel P. Berrange),<br/>
      Wrap text mode monitor APIs, pass qemuMonitorPtr directly to APIs (Daniel P. Berrange),<br/>
      Move encryption lookup back into qemu driver file (Daniel P. Berrange),<br/>
      Make use of private data structure for monitor state (Daniel P. Berrange),<br/>
      Add a new timed condition variable wait API (Daniel P. Berrange),<br/>
      Fix errno handling for pthreads wrappers (Daniel P. Berrange),<br/>
      524280 pass max lease option to dnsmasq (Daniel Veillard),<br/>
      Store the range size when adding a DHCP range (Daniel Veillard),<br/>
      qemu: Allow cpu pinning for all logical CPUs, not just physical (Cole Robinson),<br/>
      qemu: Use same create/define overwrite logic for migration prepare. (Cole Robinson),<br/>
      qemu: Break out function to check if we can create/define/restore (Cole Robinson),<br/>
      Add sentinel attribute for NULL terminated arg lists (Paolo Bonzini),<br/>
      test: Update inactive guest config on shutdown (Cole Robinson),<br/>
      test: Add testDomainShutdownState helper (Cole Robinson),<br/>
      Properly convert port numbers to/from network byte order (Matthew Booth),<br/>
      phyp add create() and destroy() support (Eduardo Otubo),<br/>
      Support for &lt;channel&gt; in domain and QEmu backend (Matthew Booth),<br/>
      Detect availability of QEMU -chardev CLI option (Matthew Booth),<br/>
      Allow character devices to have different target types (Matthew Booth),<br/>
      LXC allow container to have ethN interfaces (Ryota Ozaki),<br/>
      New ebtables module wrapper (Gerhard Stenzel),<br/>
      test: Implement virDomainPinVcpu (Cole Robinson),<br/>
      test: Implement virDomainGetVcpus (Cole Robinson),<br/>
      test: Update vcpu runtime info in SetVcpus (Cole Robinson),<br/>
      test: Use privateData to track running VM vcpu state (Cole Robinson),<br/>
      test: Break out wrapper for setting up started domain state. (Cole Robinson),<br/>
      test: Fixes for SetVcpus (Cole Robinson),<br/>
      Make monitor type (miimon/arpmon) optional in bond xml (Laine Stump),<br/>
      Support reporting live interface IP/netmask (Laine Stump),<br/>
      Make startmode optional in toplevel interface definition (Laine Stump),<br/>
      Move libvirtd event loop into background thread (Daniel P. Berrange),<br/>
      Allow NULL mac address in virGetInterface (Laine Stump),<br/>
      ESX: Don't automatically follow redirects. (Matthias Bolte),<br/>
      ESX: Change disk selection for datastore detection. (Matthias Bolte),<br/>
      ESX: Fallback to the preliminary name if the datastore cannot be found. (Matthias Bolte),<br/>
      Set KMEMSIZE for OpenVZ domains being defined (Yuji NISHIDA),<br/>
      Allow for a driver specific private data blob in virDomainObjPtr (Daniel P. Berrange),<br/>
      More network utility functions (Matthew Booth),<br/>
      Add symbols from new network.h module (Daniel Veillard),<br/>
      Set of new network related utilities (Daniel Veillard),<br/>
      Convert virDomainObjListPtr to use a hash of domain objects (Daniel P. Berrange),<br/>
      qemu: migrate: Don't require manual URI to specify a port (Cole Robinson),<br/>
      test: Support virStorageFindPoolSources (Cole Robinson),<br/>
      storage: Add ParseSourceString function for use with FindPoolSources. (Cole Robinson),<br/>
      Add support for an external TFTP boot server (Paolo Bonzini),<br/>
      test: Support virNodeDeviceCreate and virNodeDeviceDestroy (Cole Robinson),<br/>
      Consolidate virXPathNodeSet() (Daniel Veillard),<br/>
      Support QEMU watchdog device. (Richard Jones),<br/>
      Do not log rotate very small logs (Dan Kenigsberg),<br/>
      LXC implement missing macaddr assignment feature (Ryota Ozaki),<br/>
      tests: Initialize virRandom in for test suite. (Cole Robinson),<br/>
      tests: Add storage volume XML 2 XML tests. (Cole Robinson),<br/>
      tests: Add network XML to XML tests. (Cole Robinson),<br/>
      schema: Update network schema. (Cole Robinson),<br/>
      tests: Add XML 2 XML tests for storage pools. (Cole Robinson),<br/>
      tests: Break out duplicate schema verification functionality. (Cole Robinson),<br/>
      tests: Fix text output for interface XML 2 XML (Cole Robinson),<br/>
      Add ocfs2 to list of fs pool types (Jim Fehlig),<br/>
      Finer grained migration control (Chris Lalancette)
      </li>

      <li>Cleanups:<br/>
      remove sysfs_path and parent_sysfs_path from XML (Dave Allan),<br/>
      Removing devicePath member from dev struct (Dave Allan),<br/>
      report OOM in two places in node_device_driver.c (Dave Allan),<br/>
      Whitespace cleanup for pre-tags on the website (Matthias Bolte),<br/>
      Fix type in configure output summary (Daniel P. Berrange),<br/>
      Remove a compilation warning on uninitialized var (Daniel Veillard),<br/>
      Change DTD references to use public instead of system identifier (Matthias Bolte),<br/>
      Remove obsolete devicekit checks (Daniel P. Berrange),<br/>
      Small guestfwd code cleanup (Matthew Booth),<br/>
      Small indentation cleanup of domain schema (Matthew Booth),<br/>
      AppArmor code cleanups (Jamie Strandboge),<br/>
      Fix formatting of XML for an inactive guest (Daniel P. Berrange),<br/>
      Remove DevKit node device backend (David Allan),<br/>
      Exclude numactl on s390[x] (Daniel P. Berrange),<br/>
      Fix error handling in qemuMonitorOpen (Ryota Ozaki),<br/>
      Fix warning on make due to missing cast (int) (Ryota Ozaki),<br/>
      Various fixes following a code review part 2 (Daniel Veillard),<br/>
      Various fixes following a code review (Daniel Veillard),<br/>
      Move code for low level QEMU monitor interaction into separate file (Daniel P. Berrange),<br/>
      Make pciDeviceList struct opaque (Daniel P. Berrange),<br/>
      Add missing OOM error checks, reports and cleanups (Matthias Bolte),<br/>
      Removes the ebtablesSaveRules() function (Gerhard Stenzel),<br/>
      phyp: Use actual error code instead of 0 (Matthias Bolte),<br/>
      phyp: Don't use VIR_ALLOC if a stack variable is good enough (Matthias Bolte),<br/>
      phyp: Fix several UUID table related problems (Matthias Bolte),<br/>
      phyp: Check for exit_status &lt; 0 before parsing the result (Matthias Bolte),<br/>
      phyp: memcpy/memmove/memset can't fail, so don't check for error (Matthias Bolte),<br/>
      phyp: Make generic domain listing functions return -1 in case of error (Matthias Bolte),<br/>
      Fix configure check for libssh2 (Matthias Bolte),<br/>
      Repair getIPv4Addr after the ntohl conversion (Daniel Veillard),<br/>
      Cleanup whitespace in docs (Matthew Booth),<br/>
      Use virBuffer when building QEMU char dev command line (Matthew Booth),<br/>
      Cleanup virBuffer usage in qemdBuildCommandLine (Matthew Booth),<br/>
      Fix some cut-and-paste error in migration code (Paolo Bonzini),<br/>
      Ensure guestfwd address is IPv4 and various cleanups (Matthew Booth),<br/>
      LXC cleanup deep indentation in lxcDomainSetAutostart (Ryota Ozaki),<br/>
      LXC messages cleanup and fix lxcError (Ryota Ozaki),<br/>
      qemu: Remove compiled out localhost migration support (Cole Robinson),<br/>
      Various error reporting fixes (Cole Robinson),<br/>
      Improve error reporting for virConnectGetHostname calls (Cole Robinson),<br/>
      Fix up NLS warnings. (Chris Lalancette),<br/>
      Remove redundant virFileDeletePID() call (Chris Lalancette),<br/>
      Fix return value in virStateInitialize impl for LXC (Daniel P. Berrange),<br/>
      ESX: Unify naming of VI API utility and convenience functions. (Matthias Bolte),<br/>
      Rename internal APis (Daniel P. Berrange),<br/>
      Pull signal setup code out into separate method (Daniel P. Berrange),<br/>
      Fix duplicating logging of errors in libvirtd (Daniel P. Berrange),<br/>
      Fix initialization order bugs (Daniel P. Berrange),<br/>
      Misc cleanup to network socket init (Daniel P. Berrange),<br/>
      Annotate many methods with ATTRIBUTE_RETURN_CHECK &amp; fix problems (Daniel P. Berrange),<br/>
      Don't use private struct member names of in6_addr (Matthias Bolte),<br/>
      Fix typo in network.c function comments (Matthew Booth),<br/>
      libvirt-devel should only require libvirt-client (Mark McLoughlin),<br/>
      qemu: Fix an error message in GetVcpus (Cole Robinson),<br/>
      storage: Break out function to add pool source to a SourceList. (Cole Robinson),<br/>
      storage: Break out pool source parsing to a separate function. (Cole Robinson),<br/>
      Fix some typos in comments (Dan Kenigsberg),<br/>
      Fix error message in qemudLoadDriverConfig() (Matthias Bolte),<br/>
      Add a new syntax-check rule for gethostname. (Chris Lalancette),<br/>
      Various syntax-check fixes. (Chris Lalancette),<br/>
      Tighten up nonreentrant syntax-check. (Chris Lalancette),<br/>
      Replace a gethostname by virGetHostname in libvirtd.c (Chris Lalancette),<br/>
      Replace two strcmp() by STREQ() in qemu_driver.c (Chris Lalancette),<br/>
      Replace gethostname by virGetHostname in xend_internal.c (Chris Lalancette),<br/>
      Add a default log_level to qemudSetLogging to remove a build warning. (Chris Lalancette),<br/>
      Better error message when libvirtd fails to start. (Chris Lalancette),<br/>
      Fix potential false-positive OOM error reporting. (Matthias Bolte),<br/>
      Fix virsh.c compilation warning (Jim Fehlig),<br/>
      Fix a make dist error due to wrong EXTRA_DIST paths (Daniel Veillard),<br/>
      node device: Break out get_wwns and get_parent_node helpers (Cole Robinson),<br/>
      tests: Centralize VIR_TEST_DEBUG lookup, and document it (Cole Robinson),<br/>
      Remove bogus const annotations to hash iterator (Daniel P. Berrange),<br/>
      Remove bashisms from schema tests. (Matthias Bolte),<br/>
      Don't copy old machines from a domain which has none (Mark McLoughlin)
      </li>
    </ul>
    <h3>0.7.3: Nov 20 2009</h3>
    <p>Broken release use 0.7.4</p>

    <h3>0.7.2: Oct 14 2009</h3>
      <ul>
        <li>Features:<br/>
        sVirt AppArmor security driver (Jamie Strandboge),<br/>
        Add public API definition for data stream handling (Daniel P. Berrange),<br/>
        ESX add esxDomainDefineXML() (Matthias Bolte),<br/>
        LXC: suspend/resume support (Ryota Ozaki),<br/>
        Big code tree cleanup (Daniel P. Berrange)
        </li>

        <li>Documentation:<br/>
        Documentation and examples for SVirt Apparmor driver (Jamie Strandboge),<br/>
        Fix documentation and comment typos (Paolo Bonzini),<br/>
        Fix up a few typos in the tree. (Chris Lalancette),<br/>
        Fix a typo in virNetHasValidPciAddr() too (Mark McLoughlin),<br/>
        Fix a typo in virDiskHasValidPciAddr() (Jiri Denemark),<br/>
        Fix a number of small typos (Dan Kenigsberg),<br/>
        add doc for graphic and video elements (Florian Vichot),<br/>
        Fix up 'neccessary -&gt; necessary' in a comment. (Chris Lalancette),<br/>
        Fix up comments for domainXML{To,From}Native. (Chris Lalancette),<br/>
        Simple fix of a comment in qemuStringToArgvEnv. (Chris Lalancette),<br/>
        Add a README file to src/ explaining the directory structure (Daniel P. Berrange),<br/>
        doc: don't emit trailing blanks into generated and VC'd NEWS file (Jim Meyering)
        </li>

        <li>Portability:<br/>
        Misc win32 build fixes (Daniel P. Berrange),<br/>
        Don't require full daemon install for libvirt python bindings (Daniel P. Berrange),<br/>
        Tweak specfile to fix RHEL6 rules &amp; ESX/PHYP enablement (Daniel P. Berrange),<br/>
        Bug Fixes:,
        network: Fix printing XML 'delay' attribute (Cole Robinson),<br/>
        Fix virFileReadLimFD/virFileReadAll to handle EINTR (Daniel P. Berrange),<br/>
        storage: Fix generating iscsi 'auth' xml (Cole Robinson),<br/>
        Fix QEMU restore from file in raw format (Daniel P. Berrange),<br/>
        Take domain type into account when looking up default machine (Mark McLoughlin),<br/>
        Fix schema to allow missing machine type (Mark McLoughlin),<br/>
        Fix stream abort upon I/O failure during migration (Daniel P. Berrange),<br/>
        Create /var/log/libvirt/{lxc,uml} dirs (Mark McLoughlin),<br/>
        nodedev: Add locking in nodeNumOfDevices (Cole Robinson),<br/>
        test: Throw a proper error in GetBridgeName (Cole Robinson),<br/>
        526769 change logrotate config default to weekly (Daniel Veillard),<br/>
        Fix emission of domain events messages (Daniel P. Berrange),<br/>
        unbreak `make rpcgen' (Paolo Bonzini),<br/>
        unbreak migration (Paolo Bonzini),<br/>
        Fix USB device re-labelling (Mark McLoughlin),<br/>
        Avoid a libvirtd crash on broken input 523418 (Daniel Veillard),<br/>
        Re-label image file backing stores (Mark McLoughlin),<br/>
        Fix memory leaks in libvirtd's message processing (Matthias Bolte),<br/>
        Fix QEMU test suite with new VNC env variable (Daniel P. Berrange),<br/>
        VBox vboxDomainDestroy forgot to wait for completion (Pritesh Kothari),<br/>
        Vbox call OpenHardDisk with "" instead of NULL (Pritesh Kothari),<br/>
        Avoid double free in errors in virsh (Jim Fehlig),<br/>
        Fix crash in device hotplug cleanup code (Daniel P. Berrange),<br/>
        Maintain value of ctxt-&gt;node in virInterfaceDefParseDhcp (Laine Stump),<br/>
        Fix some XPath relative node resets (Daniel Veillard),<br/>
        Fix unitialized variable in qemudDomainDetachHostPciDevice() (Charles Duffy),<br/>
        ESX: Check if a datastore is accessible first (Matthias Bolte),<br/>
        Fix handling of Xen(ner) detection (Daniel P. Berrange),<br/>
        Fix xen driver refcounting. (Matthias Bolte),<br/>
        prevent attempt to call cat -c during virDomainSave to raw (Charles Duffy),<br/>
        Don't do virSetConnError when virDrvSupportsFeature is successful. (Chris Lalancette),<br/>
        Fix a double-free in qemudRunLoop() (Chris Lalancette),<br/>
        Fix leak in PCI hostdev hot-unplug (Mark McLoughlin),<br/>
        Fix net/disk hot-unplug segfault (Mark McLoughlin)
        </li>

        <li>Improvements:<br/>
        schema: Update storage pool schema. (Cole Robinson),<br/>
        test: Activate interfaces specified through driver config file. (Cole Robinson),<br/>
        Rewrite example domain events programm for python (Daniel P. Berrange),<br/>
        Support a new peer-to-peer migration mode &amp; public API (Daniel P. Berrange),<br/>
        LXC add augeas support for config file (Amy Griffis),<br/>
        LXC add driver config file lxc.conf (Amy Griffis),<br/>
        LXC do not truncate container log files on restart (Amy Griffis),<br/>
        LXC initialize logging configuration (Amy Griffis),<br/>
        Add debug for envp[] in virExecWithHook() (Amy Griffis),<br/>
        Add accessors for logging filters and outputs (Amy Griffis),<br/>
        Add virFileAbsPath() utility (Amy Griffis),<br/>
        LXC implement memory control APIs (Ryota Ozaki),<br/>
        Add a domain argument to SVirt *RestoreImageLabel (Jamie Strandboge),<br/>
        test: Support loading node device info from file/XML (Cole Robinson),<br/>
        test: Implement node device driver. (Cole Robinson),<br/>
        configure: Add explict --with-python option. (Cole Robinson),<br/>
        Tunnelled migration. (Chris Lalancette),<br/>
        Various monitor improvements for migration. (Chris Lalancette),<br/>
        523639 Allows a &lt;description&gt; tag for domains (Daniel Veillard),<br/>
        Add src/util/storage_file.c to the POTFILES.in. (Chris Lalancette),<br/>
        Add a qemu feature flag for unix socket migration. (Chris Lalancette),<br/>
        Let remoteClientStream only do RX if requested. (Chris Lalancette),<br/>
        Introduce virStorageFileMetadata structure (Mark McLoughlin),<br/>
        Allow control over QEMU audio backend (Daniel P. Berrange),<br/>
        Handle data streams in remote client (Daniel P. Berrange),<br/>
        Handle outgoing data streams in libvirtd (Daniel P. Berrange),<br/>
        Handle incoming data streams in libvirtd (Daniel P. Berrange),<br/>
        Lots of cleanups and improvement on QEmu monitor code (Daniel P. Berrange),<br/>
        ESX add esxVI_Occurence enum to for occurences (Matthias Bolte),<br/>
        ESX add x86_64 detection based on the CPUID (Matthias Bolte),<br/>
        ESX add tests for the VMX to/from domain XML mapping (Matthias Bolte),<br/>
        ESX Add esxDomainXMLToNative() (Matthias Bolte),<br/>
        ESX Set challenge for auth callback to hostname (Matthias Bolte),<br/>
        ESX Add esxNodeGetFreeMemory() (Matthias Bolte),<br/>
        network: add 'bootp' and 'tftp' config (Paolo Bonzini),<br/>
        OpenVZ Fix a restriction about domain names (Yuji NISHIDA),<br/>
        Make pki_check.sh into an installed &amp; supported tool (Daniel P. Berrange),<br/>
        ESX add support for vmxnet3 virtual device (Shahar Klein)
        </li>

        <li>Cleanups:<br/>
        remote: Don't print a warning every time a remote call fails (Cole Robinson),<br/>
        storage: Report errors in FindPoolSources (Cole Robinson),<br/>
        LXC fix return code handling in lxcVmStart (Ryota Ozaki),<br/>
        Add a target for libvirt.devhelp (Daniel Veillard),<br/>
        Remove some auto-generated files (Daniel P. Berrange),<br/>
        Re-arrange doTunnelMigrate to simplify cleanup code (Daniel P. Berrange),<br/>
        Separate out code for sending tunnelled data (Daniel P. Berrange),<br/>
        Pull connection handling code out of doTunnelMigrate (Daniel P. Berrange),<br/>
        Refactor native QEMU migration code (Daniel P. Berrange),<br/>
        Don't force dconn to be NULL in virDomainMigrate (Daniel P. Berrange),<br/>
        Remove unnecessary uri_in parameter from virMigratePrepareTunnel (Daniel P. Berrange),<br/>
        Move the VIR_DRV_FEATURE* constants (Daniel P. Berrange),<br/>
        Fix configure.ac message vertical alignment (Daniel P. Berrange),<br/>
        cgroup: Fix -Werror breakage (Cole Robinson),<br/>
        Fix handling return value of qemuMonitorSetBalloon (Ryota Ozaki),<br/>
        Fix up "make check" (Chris Lalancette),<br/>
        Fix rebuilding of devhelp files (Daniel P. Berrange),<br/>
        Fix ordering of &lt;exports&gt; in API description file (Daniel P. Berrange),<br/>
        node conf: Make parsing routines consistent with other drivers (Cole Robinson),<br/>
        nodedev: Break out virNodeDeviceHasCap to node_conf (Cole Robinson),<br/>
        python: Add a newline after custom classes (Cole Robinson),<br/>
        python: Fix generated virInterface method names (Cole Robinson),<br/>
        python: Use a pure python implementation of 'vir*GetConnect' (Cole Robinson),<br/>
        python: Don't generate bindings for vir*Ref (Cole Robinson),<br/>
        python: Don't generate conflicting conn.createXML functions. (Cole Robinson),<br/>
        python: Remove use of xmllib in generator.py (Cole Robinson),<br/>
        python: Remove FastParser from generator. (Cole Robinson),<br/>
        Fix typo in Makefile.am breaking NEWS file generation (Daniel P. Berrange),<br/>
        Fix build in separate build directory (Jiri Denemark),<br/>
        Incorrect error message in virDomainNetDefParseXML (Florian Vichot),<br/>
        Fix a few 'make rpm' breakages (Daniel Veillard),<br/>
        Pass remote_message_header to the dispatch functions. (Chris Lalancette),<br/>
        Fix up some warnings from stream DEBUG statements. (Chris Lalancette),<br/>
        Fix apibuild.py warnings (Matthias Bolte),<br/>
        Change signature of remoteSendStreamData() to fix compile warning (Matthias Bolte),<br/>
        Add virStorageFileGetMetadata() helper (Mark McLoughlin),<br/>
        Move virStorageGetMetadataFromFD() to libvirt_util (Mark McLoughlin),<br/>
        Split virStorageGetMetadataFromFD() from virStorageBackendProbeTarget() (Mark McLoughlin),<br/>
        Move file format enum to libvirt_util (Mark McLoughlin),<br/>
        Remove hand-crafted UUID parsers (Daniel P. Berrange),<br/>
        Helper functions for processing data streams in libvirtd (Daniel P. Berrange),<br/>
        Standardize debugging messages in QEMU monitor code (Daniel P. Berrange),<br/>
        Remove low level monitor APIs from header file (Daniel P. Berrange),<br/>
        Rename qemudMonitorSendCont to qemuMonitorStartCPUs (Daniel P. Berrange),<br/>
        Pull QEMU monitor interaction out to separate file (Daniel P. Berrange),<br/>
        util.h needs libvirt.h for virConnectPtr (Mark McLoughlin),<br/>
        Fix API doc extractor to stop munging comment formatting (Daniel P. Berrange),<br/>
        Fix secret_driver compile warning, bug. (Charles Duffy),<br/>
        ESX remove phantom mode (Matthias Bolte),<br/>
        ESX replace esxUtil_EqualSuffix() with virFileHasSuffix() (Matthias Bolte),<br/>
        ESX Whitespace cleanup (Matthias Bolte),<br/>
        Fix up "make syntax-check" after the tree restructuring. (Chris Lalancette),<br/>
        Introduce virStrncpy. (Chris Lalancette),<br/>
        Ignore auto-generated header file (Daniel P. Berrange),<br/>
        Remove an unnecessary variable from remoteIOReadMessage(). (Chris Lalancette),<br/>
        Remove auto-generated header file from repo (Daniel P. Berrange),<br/>
        Move example XML files into examples/xml (Daniel P. Berrange),<br/>
        Remove all generated docs from source control (Daniel P. Berrange),<br/>
        Fix missing data file in qemuhelpdata (Daniel P. Berrange),<br/>
        Misc syntax-check fixes (Daniel P. Berrange),<br/>
        Move remote protocol definition into src/remote/ (Daniel P. Berrange),<br/>
        Move all shared utility files to src/util/ (Daniel P. Berrange),<br/>
        Move all XML configuration handling to src/conf/ (Daniel P. Berrange),<br/>
        Re-arrange python generator to make it clear what's auto-generated (Daniel P. Berrange),<br/>
        Remove obsolete files (Daniel P. Berrange),<br/>
        Move docs/examples into examples/ (Daniel P. Berrange),<br/>
        Remove unused images from docs/ directory (Daniel P. Berrange),<br/>
        Rename daemon main code (Daniel P. Berrange),<br/>
        Move config files to align with driver sources (Daniel P. Berrange),<br/>
        Move virsh into tools/ directory (Daniel P. Berrange),<br/>
        Move security drivers to src/security/ (Daniel P. Berrange),<br/>
        Move secret driver into src/secret/ (Daniel P. Berrange),<br/>
        Move netcf interface driver into src/interface/ (Daniel P. Berrange),<br/>
        Move network driver into src/network (Daniel P. Berrange),<br/>
        Move remote driver to src/remote/ (Daniel P. Berrange),<br/>
        Move test driver into src/test/ (Daniel P. Berrange),<br/>
        Move node device drivers to src/node_device/ (Daniel P. Berrange),<br/>
        Move storage drivers into src/storage/ (Daniel P. Berrange),<br/>
        Move OpenVZ driver to src/openvz/ (Daniel P. Berrange),<br/>
        Move UML driver to src/uml/ (Daniel P. Berrange),<br/>
        Move QEMU driver to src/qemu/ (Daniel P. Berrange),<br/>
        Move LXC driver into src/lxc/ (Daniel P. Berrange),<br/>
        Move xen driver code into src/xen/ directory (Daniel P. Berrange),<br/>
        Rename qemud/ directory to daemon/ (Daniel P. Berrange),<br/>
        Refactor libvirt.spec to allow client-only builds (Daniel P. Berrange)
        </li>
    </ul>

    <h3>0.7.1: Sep 15 2009</h3>
    <ul>
      <li>New features:<br/>
        Add support for encrypted (qcow) volume creation. (Miloslav Trmač),<br/>
        Secret manipulation public API (Miloslav Trmač),<br/>
        Multipath storage support module (Dave Allan),<br/>
        VBox add Storage Volume support (Pritesh Kothari),<br/>
        Support configuration of huge pages in guests (Daniel P. Berrange),<br/>
        Support new PolicyKit 1.0 API (Daniel P. Berrange),<br/>
        Compressed save image format for Qemu (Chris Lalancette, Charles Duffy
        and Jim Meyering),<br/>
        QEmu add host PCI device hotplug support (Mark McLoughlin)
      </li>
      <li>Documentation:<br/>
        Minor comment changes (Laine Stump),<br/>
        Fix up virNodeGetCellsFreeMemory (Chris Lalancette),<br/>
        Fix some typos and remove unhelpful acronyms in QEMU docs (Daniel P. Berrange),<br/>
        Add documentation about the QEMU driver security features (Daniel P. Berrange),<br/>
        Remove 'the-the' typo in docs (Daniel P. Berrange),<br/>
        Fix some URLs in virsh manpage (Mark McLoughlin),<br/>
        Add link to AbiCloud web management system (Daniel P. Berrange),<br/>
        Update logging documentation (Amy Griffis)
      </li>
      <li>Portability:<br/>
        Fix win32 platform build (Daniel P. Berrange)
      </li>
      <li>Bug fixes:<br/>
        VBox bug when starting machine from old versions (Pritesh Kothari),<br/>
        ESX avoid potential leaks (Matthias Bolte),<br/>
        Fix more OOM handling bugs (Daniel P. Berrange),<br/>
        Fix logging buffer overrun read (Daniel P. Berrange),<br/>
        Fix misc thread locking bugs / bogus warnings (Daniel P. Berrange),<br/>
        Fix regression from "Avoid polling on FDs with no events" (Chris Lalancette),<br/>
        Close logfile fd after spawning qemu (Ryota Ozaki),<br/>
        Check for libssh2 &gt;= 1.0 for phy driver (Maximilian Wilhelm),<br/>
        Avoid another leak in src/xend_internal.c (Matthias Bolte),<br/>
        Avoid a leak in xenDaemonLookupByID (Matthias Bolte),<br/>
        VBox fix minor bugs in display and added OOM checks (Pritesh Kothari),<br/>
        Some close/fclose/closedir calls are missing (Matthias Bolte),<br/>
        lxc_container.c: avoid a leak on error paths (Jim Meyering),<br/>
        Fix several memory leaks (Ryota Ozaki),<br/>
        Fix a memory leak in virsh (Laine Stump),<br/>
        Fix ID field in virDomainPtr after starting Xen VM (Daniel P. Berrange),<br/>
        Fix memory leak of monitor character device (Daniel P. Berrange),<br/>
        Automatically set correct ownership of QEMU state directories (Daniel P. Berrange),<br/>
        Avoid polling on FDs with no events enabled (Daniel P. Berrange),<br/>
        esx_vi: return -1 upon failure, as intended (Matthias Bolte),<br/>
        python: let libvirt_virConnectDomainEventCallback indicate success (Jim Meyering),<br/>
        uml_conf.c: don't return an uninitialized pointer (Jim Meyering),<br/>
        storage_backend.c: assure clang that inputvol can't be NULL (Jim Meyering),<br/>
        libvir.c: avoid NULL dereference in virStoragePoolSetAutostart (Jim Meyering),<br/>
        lxc: avoid NULL dereference upon getmntent failure (Jim Meyering),<br/>
        storage_backend_fs: avoid NULL dereference on opendir failure (Jim Meyering),<br/>
        Fix bugs in virDomainMigrate v2 code. (Chris Lalancette),<br/>
        VMware ESX: Don't warn on some query parameter (Matthias Bolte),<br/>
        Don't blindly reorder disk drives (Daniel P. Berrange),<br/>
        Fix sexpr2string() to handle empty list. (Jim Fehlig),<br/>
        Fix driver entry table for UML numa APIs (Daniel P. Berrange),<br/>
        Fix crash in virsh vol-key command (Pritesh Kothari),<br/>
        517157 fix selinux problem with images on NFS (Darryl L. Pierce),<br/>
        Fix phypOpen() escape_specialcharacters (Mattias Bolte),<br/>
        Power Hypervisor: fix potential segfault (Mattias Bolte),<br/>
        Fix bridge/tap system error reporting (Mark McLoughlin),<br/>
        Reset PCI host devices after hot-unplug (Mark McLoughlin),<br/>
        Reset unmanaged PCI host devices before hotplug (Mark McLoughlin),<br/>
        Fix up connection reference counting. (Chris Lalancette),<br/>
        Fix LXC driver crash when kernel doesn't support clone (Daniel P. Berrange),<br/>
        Make LXC / UML drivers robust against NUMA topology brokenness (Daniel P. Berrange),<br/>
        Run 'cont' on successful migration finish. (Chris Lalancette),<br/>
        Fix QEMU domain status after restore. (Chris Lalancette),<br/>
        Handle kernels with no ipv6 support (Mark McLoughlin),<br/>
        Set perms on /var/lib/libvirt/boot to 0711 (Mark McLoughlin),<br/>
        chown kernel/initrd before spawning qemu (Mark McLoughlin),<br/>
        Several fixes to libvirtd's log setup (Amy Griffis),<br/>
        Fix memleak if esxOpen fails (Matthias Bolte)
      </li>
      <li>Improvement:<br/>
        support lzop save compression for qemu (Charles Duffy),<br/>
        VBox 3.0.6 API change support (Pritesh Kothari),<br/>
        Add UUID definition required by storage encryption import (Daniel P. Berrange),<br/>
        Make secrets RNG more strict (Daniel P. Berrange),<br/>
        Fill in secret UUID for qcow encryption (Daniel P. Berrange),<br/>
        Add usage type/id as a public API property of virSecret (Daniel P. Berrange),<br/>
        Fix UUID handling in secrets/storage encryption APIs (Daniel P. Berrange),<br/>
        Save vcpuinfo in status file (Daniel P. Berrange),<br/>
        Restart libvirtd upon RPM upgrade (Daniel P. Berrange),<br/>
        Add support for qcow encrypted volumes to qemu. (Miloslav Trmač),<br/>
        Provide missing passphrase when creating a volume. (Miloslav Trmač),<br/>
        Add virsh commands for secrets APIs (Miloslav Trmač),<br/>
        Local file implementation of secret driver API (Miloslav Trmač),<br/>
        Mask out flags used internally for virSecretGetValue (Miloslav Trmač),<br/>
        Add &lt;usage&gt; to &lt;secret&gt; docs (Miloslav Trmač),<br/>
        also allow use of XZ for Qemu image compression (Jim Meyering),<br/>
        Support relabelling of USB and PCI devices (Daniel P. Berrange),<br/>
        Add helper APIs for iterating over PCI device resource files (Daniel P. Berrange),<br/>
        Add helper module for dealing with USB host devices (Daniel P. Berrange),<br/>
        Test that domain-specific qemu machine types are used correctly (Mark McLoughlin),<br/>
        Probe machine types from kvm binary too (Mark McLoughlin),<br/>
        Look up machine types from all domains in qemudGetOldMachines() (Mark McLoughlin),<br/>
        Test qemu machine aliases (Mark McLoughlin),<br/>
        Add qemu -help test data for qemu-kvm-0.11.0-rc2 (Mark McLoughlin),<br/>
        Add a more featureful qemu capabilities test data (Mark McLoughlin),<br/>
        Add arm arch to capabilities schema (Mark McLoughlin),<br/>
        Update capabilities schema to allow multiple machines per domain (Mark McLoughlin),<br/>
        Add esx and tcp migration uri transports to capabilities schema (Mark McLoughlin),<br/>
        Reintroduce support for lzop compression (Charles Duffy),<br/>
        build: update gnulib submodule to latest (Jim Meyering),<br/>
        Add flags and requires for Multipath storage (Daniel Veillard),<br/>
        ESX raise error if UUID parse failed (Matthias Bolte),<br/>
        ESX add domain undefine based on esxVI_UnregisterVM (Matthias Bolte),<br/>
        ESX add esxGetCapabilities() with basic defaults (Matthias Bolte),<br/>
        Switch Power Hypervisor to libssh2 (Eduardo Otubo),<br/>
        Allow libvirtd to RPC to external libvirtd (Chris Lalancette),<br/>
        Add support for setting disk drive serial numbers (Daniel P. Berrange),<br/>
        VBox support for defining/dumping video devices (Pritesh Kothari),<br/>
        Generic parsing support for video acceleration (Pritesh Kothari),<br/>
        VMware ESX: Allow ethernet address type 'vpx' (Matthias Bolte),<br/>
        Support for getting/setting number of cpus in VBox (Pritesh Kothari),<br/>
        Make handling of monitor prompts more general. (Miloslav Trmač),<br/>
        Attach encryption information to virDomainDiskDef. (Miloslav Trmač),<br/>
        Recognize encryption format of qcow volumes. (Miloslav Trmač),<br/>
        Attach encryption information to virStorageVolDef. (Miloslav Trmač),<br/>
        Add volume encryption information handling. (Miloslav Trmač),<br/>
        Secret manipulation API docs refresh and wire up python generator (Miloslav Trmač),<br/>
        Secret manipulation remote client (Miloslav Trmač),<br/>
        Secret manipulation libvirtd wire protocol and remote dispatcher (Miloslav Trmač),<br/>
        Secret manipulation public API implementation (Miloslav Trmač),<br/>
        Secret manipulation internal API (Miloslav Trmač),<br/>
        Add test for recently fixed crash with latest XenD (Daniel P. Berrange),<br/>
        Don't expose 'vnet%d' to the user (Mark McLoughlin),<br/>
        Maintain a list of active PCI hostdevs and use it in pciResetDevice() (Mark McLoughlin),<br/>
        Simplify PCI hostdev prepare/re-attach using a pciDeviceList type (Mark McLoughlin),<br/>
        Use pci_addr=auto with QEMU's pci_add monitor command (Mark McLoughlin),<br/>
        Check active domain hostdevs before allowing PCI reset (Mark McLoughlin),<br/>
        Allow pciResetDevice() to reset multiple devices (Mark McLoughlin),<br/>
        Improve PCI host device reset error message (Mark McLoughlin),<br/>
        Reset and re-attach PCI host devices on guest shutdown (Mark McLoughlin),<br/>
        Allow PM reset on multi-function PCI devices (Mark McLoughlin),<br/>
        Detect KVM's PCI device assignment support (Mark McLoughlin),<br/>
        Split virDomainMigrate into functions. (Chris Lalancette),<br/>
        Consolidate code for parsing the logging env (Amy Griffis)
      </li>
      <li>Cleanups:<br/>
        Remove accidentally added UUID re-definition in storage schema (Daniel P. Berrange),<br/>
        ESX cleanup of CPU model strings (Matthias Bolte),<br/>
        Fix use of dlopen modules (Daniel P. Berrange),<br/>
        Consolidate "cont" into qemudMonitorSendCont() (Miloslav Trmač),<br/>
        Cleanup sec driver error reporting to use virReportSystemError (Daniel P. Berrange),<br/>
        Port QEMU driver to use USB/PCI device helpers (Daniel P. Berrange),<br/>
        Simplify and fix qemudCanonicalizeMachine() (Mark McLoughlin),<br/>
        Split up qemudGetOldMachines() (Mark McLoughlin),<br/>
        Re-factor qemu test machine allocation code (Mark McLoughlin),<br/>
        Canonicalize the qemu machine type in qemuxml2argvtest (Mark McLoughlin),<br/>
        Dump qemu driver capabilities if test debugging enabled (Mark McLoughlin),<br/>
        Fix formatting of machine types in capabilities XML (Mark McLoughlin),<br/>
        qemu_driver.c: factor out more duplication (Jim Meyering),<br/>
        Deprecate lzma and lzop in favor of xz, add dep (Daniel Veillard),<br/>
        qemu_driver.c: factor out duplication in compression-type handling (Jim Meyering),<br/>
        openvz_conf.c: remove dead store to "p"; use strchrnul (Jim Meyering),<br/>
        Remove some tabs used for indent (Daniel Veillard),<br/>
        Updated a number of localizations and regenerated (Daniel Veillard),<br/>
        Add a missing comment (Miloslav Trmač),<br/>
        Fix a pasto in storage_encryption_conf.c (Miloslav Trmač),<br/>
        xm_internal.c: remove four useless comparisons after strchr (Jim Meyering),<br/>
        xm_internal.c: remove dead increment of "data" (Jim Meyering),<br/>
        network_driver.c: remove dead store to "err" (Jim Meyering),<br/>
        iptables.c: remove dead store to "s" (Jim Meyering),<br/>
        util.c: avoid dead store to "flag" (Jim Meyering),<br/>
        domain_conf.c: remove two dead stores (Jim Meyering),<br/>
        xm_internal.c: remove two ret=... dead stores (Jim Meyering),<br/>
        xm_internal.c: remove dead stores of local, "type" (Jim Meyering),<br/>
        network_conf.c: remove dead store to "err" (Jim Meyering),<br/>
        openvz_driver.c: avoid dead store to "err" (Jim Meyering),<br/>
        xend_internal.c: Remove two dead stores to "ret" (Jim Meyering),<br/>
        storage_driver.c: remove two dead stores to "backend" (Jim Meyering),<br/>
        qemu_conf.c: add a comment suggesting why we leave a dead-store (Jim Meyering),<br/>
        hash.c: remove a dead store (Jim Meyering),<br/>
        interface_conf.c: remove a dead-store and declaration (Jim Meyering),<br/>
        eventtest.c: detect write failure and avoid dead stores (Jim Meyering),<br/>
        openvz_conf.c: Remove dead store to copy_fd (Jim Meyering),<br/>
        storage_backend_logical.c: appease clang: remove useless increment (Jim Meyering),<br/>
        ESX simplify SOAP request and response handling (Matthias Bolte),<br/>
        ESX use virXPathNode*() to simplify XPath handling (Matthias Bolte),<br/>
        ESX: make esxVI_GetVirtualMachineIdentity() robust (Matthias Bolte),<br/>
        ESX: Fix VMX path parsing and URL encoding (Matthias Bolte),<br/>
        VBox driver cleanups (Pritesh Kothari),<br/>
        PHYP driver cleanups (Daniel Veillard),<br/>
        Move QEMU monitor socket in /var/lib/libvirt/qemu (Daniel P. Berrange),<br/>
        xen_internal.c: remove two unused local variables (Jim Meyering),<br/>
        mdns.c: remove dead initialization (Jim Meyering),<br/>
        node_device_conf.c: remove dead initialization (Jim Meyering),<br/>
        openvz_conf.c: don't use undefined local, "net" (Jim Meyering),<br/>
        test.c: don't use undefined local, "def" (Jim Meyering),<br/>
        remote_internal.c: appease clang (Jim Meyering),<br/>
        infra: define ATTRIBUTE_NONNULL to mark non-NULL parameters (Jim Meyering),<br/>
        lxc: don't unlink(NULL) in main (Jim Meyering),<br/>
        storage_conf.c: avoid overflow upon use of "z" or "Z" (zebi) suffix (Jim Meyering),<br/>
        VBox cleanup and update of networking shutdown (Pritesh Kothari),<br/>
        Box cleanup and update of networking XML functions (Pritesh Kothari),<br/>
        Fix misc OOM bugs (Daniel P. Berrange),<br/>
        Misc fixes to secrets API code (Daniel P. Berrange),<br/>
        Only add glusterfs dep for Fedora &gt;= 11 (Daniel P. Berrange),<br/>
        Remove redundant base64 include file (Daniel P. Berrange),<br/>
        Don't assume buffered output echoes the command. (Miloslav Trmač),<br/>
        Update chinese, polish and spanish localizations (Daniel Veillard),<br/>
        OpenVZ: accept NULL as type for GetMaxVCPUs. (Chris Lalancette),<br/>
        Remove use of strncpy in qemudExtractMonitorPath. (Chris Lalancette),<br/>
        Refactor policycode auth code to avoid compiler warnings (Daniel P. Berrange),<br/>
        spec file: add URL to Source tag (Mark McLoughlin),<br/>
        Small fixes for qemu save compression. (Chris Lalancette),<br/>
        Fix thinko in PCI hostdev detach (Mark McLoughlin),<br/>
        Revert changes to allow pciResetDevice() reset multiple devices (Mark McLoughlin),<br/>
        Fix list updating after disk/network/hostdev hot-unplug (Mark McLoughlin),<br/>
        Re-name remote_internal.c:driver to remote_driver (Mark McLoughlin),<br/>
        Cosmetic change to 'virsh nodedev-list --tree' output (Mark McLoughlin),<br/>
        Re-factor hostdev hotplug (Mark McLoughlin),<br/>
        Remove a duplicated assignment in Xen PCI parsing. (Chris Lalancette),<br/>
        Fix up a few minor indentation issues. (Chris Lalancette),<br/>
        Fix phyp escape_specialcharacters. (Chris Lalancette),<br/>
        Make openvzGetVPSUUID take a len. (Chris Lalancette),<br/>
        Minor cleanup of error path for c_oneVmInfo. (Chris Lalancette),<br/>
        Fix up a whitespace in comments in src/console.c (Chris Lalancette),<br/>
        Fix up a stray whitespace in virHashGrow. (Chris Lalancette),<br/>
        Remove unsafe strncpy from esx_vmx.c (Chris Lalancette),<br/>
        Cleanup VIR_LOG_DEBUG parsing in eventtest (Amy Griffis),<br/>
        Tighten libvirt's parsing of logging env (Amy Griffis),<br/>
        Cleanup structure name naming (Matthias Bolte),<br/>
        Add proper OOM reporting for esxDomainGetOSType (Matthias Bolte)
      </li>
    </ul>
    <h3>0.7.0: Aug  5 2009</h3>
    <ul>
      <li>New features: Interface implementation based on netcf (Laine Stump,
      Daniel Veillard), Add new net filesystem glusterfs (Harshavardhana),
      Initial VMWare ESX driver (Matthias Bolte), Add support for VBox
      3 and event callbacks on vbox (Pritesh Kothari), First version
      of the Power Hypervisor driver (Eduardo Otubo), Run QEMU guests
      as an unprivileged user (Daniel P. Berrange), Support cgroups
      in QEMU driver (Daniel P. Berrange), QEmu hotplug NIC support
      (Mark McLoughlin), Storage cloning for LVM and Disk backends(Cole
      Robinson), Switching to GIT (Jim Meyering)</li>

      <li>Documentation: Typo and comment fixes (Aron Griffis),
      Fix virCapabilitiesDefaultGuestMachine documentation. (Chris
      Lalancette), ESX Scheduler documentation and cleanup (Matthias
      Bolte), Update the java bindings page (Bryan Kearney), Added
      Matthias Bolte to AUTHORS list (Daniel Veillard), doc: clone+build
      instructions (Jim Meyering), docs: say that the old repository
      is deprecated... (Jim Meyering), document tcp listen and raw
      wire option (Guido Günther), Fix docs and code disagreements
      for character devices. (Cole Robinson), Fix documentation of
      virStoragePoolUndefine return (Thomas Treutner), Fix gitweb link on
      download page. (Cole Robinson), update download informations after
      switch to git (Daniel Veillard), Update links to bugzilla (Garry
      Dolley), Update the links for RHEL libvirt bugzillas (Garry Dolley)</li>

      <li>Portability: Xen Inotify support needs sys/inotify.h
      (Maximilian Wilhelm), Workaround for broken GCC in Debian Etch
      (Maximilian Wilhelm), LXC driver requires sched.h and unshare()
      (Maximilian Wilhelm), Configure UML support only if sys/inotify.h
      present (Maximilian Wilhelm), Fix libcurl automatic check and ESX
      status (Maximilian Wilhelm), Enable ESX driver build on Mingw32
      (Daniel P. Berrange), Fix build on mingw32 by disabling netcf
      (Daniel P. Berrange), Reduce glusterfs dependency to 2.0.1
      (Mark McLoughlin), Desactivate phyp build and indicate libssh
      builreq (Daniel Veillard), Fix misc Win32 compile warnings
      (Daniel P. Berrange), Rename variable for compilation in Mingw32
      (end) (Laine Stump), Rename variable for compilation in Mingw32
      (Laine Stump), rpm spec cleanup and split off client only package
      (Daniel Veillard)</li>

      <li>Bug fixes: Add uniqueness checking for LXC define/create methods
      (Daniel P. Berrange), Fix removal of transient VMs when LXC aborts
      (Daniel P. Berrange), Don't try to activate cgroups if not present
      for LXC (Daniel P. Berrange), Refresh /etc/xen if inotify wasn't
      (Cole Robinson), Don't loose id on xen domain redefine (Cole
      Robinson), Fix memory leak in openvz driver (Daniel P. Berrange),
      Protected against potential crash scenarios (Daniel P. Berrange),
      Fix crash when attempting to shutdown inactive QEMU vm (Daniel
      P. Berrange), Fix PCIe FLR detection (Mark McLoughlin), Set perms
      on /var/lib/libvirt/images to 0711 (Mark McLoughlin), Fix problem
      writing QEMU pidfile (Daniel P. Berrange), Fix vcpupin on Xen
      problem (Henrik Persson), Fix RPM upgrades from F11 to F12 (Daniel
      P. Berrange), Fix deadlock in remote driver domain events (Daniel
      P. Berrange), qemu: fix monitor socket reconnection (Ryota Ozaki),
      Fix polkit/netcf disabling on older fedoras (Mark McLoughlin),
      Fix crashes in Xen capabilities code (Daniel P. Berrange),
      Always add -no-kvm and -no-kqemu, for qemu domains (Jim Paris),
      Avoid raising an internal error (Paolo Bonzini), Don't allow NULL
      paths for BlockStats and InterfaceStats (Cole Robinson), Don't
      leak vm-monitorpath on re-connect (Mark McLoughlin), Don't restore
      labels on shared/readonly disks (Daniel P. Berrange), Ensure spawned
      children have a stderr/out set to /dev/null if requested (Daniel
      P. Berrange), Ensure test:/// URIs get routed to the non-privileged
      libvirtd (Daniel P. Berrange), fix another failing "make distcheck"
      (qemuhelptest) (Jim Meyering), Fix an uninitialized variable
      in Unix socket open (Jun Koi), Fix configure flags in spec file
      (Daniel Veillard), Fix error reporting for security driver over
      remote protocol (Daniel P. Berrange), fix failing "make distcheck"
      (Jim Meyering), Fix free of unitialized data upon PCI open fail
      (Daniel P. Berrange), Fix informations about previous git server
      (Daniel Veillard), Fix memory leaks in esxDomainDumpXML (Matthias
      Bolte), Fix multiple memory leaks in virsh (Laine Stump), Fix PCI
      device hotplug/unplug with newer QEMU (Daniel P. Berrange), Fix
      problem with QEMU monitor welcome prompt confusing libvirt after a
      libvirtd daemon restart with active guests (Daniel P. Berrange),
      Fix python examples to use read-write conn (Dan Kenigsberg), Fix
      reconnect bug for VBox (Pritesh Kothari), Fix SELinux denial during
      hotplug (Daniel P. Berrange), Fix typo in check for glusterfs format
      pools (Daniel P. Berrange), Fix typo in storage cloning (Daniel
      P. Berrange), qemu: Check driver is initialized up front, to avoid
      segfault. (Cole Robinson), qemu: Try multiple times to open unix
      monitor socket (Cole Robinson), Release conn lock before reporting
      errors (end) (Laine Stump), Release conn lock before reporting
      interface errors (Laine Stump), Remove the network backend if NIC
      hotplug fails (Mark McLoughlin), Set specific flags for glusterfs
      fs mounts (Harshavardhana), storage: disk: Default to 'ext2' for
      new volumes. (Cole Robinson), storage: disk: Fix parthelper '-g'
      option handling. (Cole Robinson), storage: disk: Fix segfault
      creating volume without target path (Cole Robinson), storage:
      Fix deadlock when cloning across pools. (Cole Robinson), Update
      modified mac address in place in virGetInterface (Laine Stump)</li>

      <li>Improvements: Add an allocation unit when calling qemu-img
      (Ryota Ozaki), Improve diagnostics when pidfile writing fails
      (Daniel P. Berrange), Disable IPv6 on virtual networks (Daniel
      P. Berrange), Allow dnsmasq to provide DNS without DHCP (Daniel
      P. Berrange), Fix an initialization problem in previous patch
      (Aron Griffis), Remove MAX_TAP_ID and let kernel do numbering
      (Aron Griffis), Kernel command line support for UML (Ron Yorston),
      Activate the interface drivers, and cleanups (Daniel Veillard),
      Add an error code for conflicting mac addresses (Laine Stump),
      Add a test interface driver (Laine Stump), Add canonical machine
      name to capabilities output (Mark McLoughlin), add cd and pwd
      commands to virsh (Paolo Bonzini), Add checks for some NIC hotplug
      related features added in qemu-0.10.0 (Mark McLoughlin), Add
      domain autostart for LXC driver (Daniel P. Berrange), Add domain
      events support to LXC driver (Daniel P. Berrange), Add interface
      object list manipulation functions (Laine Stump), Add internal XML
      parsing/formatting flag (Mark McLoughlin), Add netcf XML schemas
      and test data (Daniel Veillard), Add new net filesystem glusterfs
      (Harshavardhana), Add NIC and hostnet names to domain state XML
      (Mark McLoughlin), Add no_verify query parameter to ESX URIs
      (Matthias Bolte), Add SCM_RIGHTS support to QEMU monitor code
      (Mark McLoughlin), Add support for attaching network/bridge NICs
      in QEMU driver (Mark McLoughlin), add support for netcf XML import
      and export (Daniel Veillard), Add support for network device detach
      (Mark McLoughlin), Add support for physical memory access for QEmu
      (Nguyen Anh Quynh), Add support for VBox 3 and event callbacks on
      vbox (Pritesh Kothari), Add the monitor type to the domain state
      XML (Mark McLoughlin), Add virCapsGuestMachine structure (Mark
      McLoughlin), Add virsh commands for network interface management
      (Laine Stump), Allow autostart of libvirtd to be disabled with
      LIBVIRT_AUTOSTART=0 (Daniel P. Berrange), Allow leading dots in VMX
      config entry names (Matthias Bolte), Assign names to qemu NICs and
      network backends (Mark McLoughlin), Basic qemu NIC hotplug support
      (Mark McLoughlin), build: adjust aclocal's search patch to prefer
      gnulib's m4 files. (Jim Meyering), build: automatically rerun
      ./bootstrap when needed (Jim Meyering), build: make autogen.sh use
      autoreconf -if (Jim Meyering), build: submodule machinery now works
      also when no tag is reachable (Jim Meyering), Canonicalize qemu
      machine types (Mark McLoughlin), Change code generator to give async
      event messages their own postfix (Daniel P. Berrange), Change the
      way client event loop watches are managed (Daniel P. Berrange),
      Decode incoming request header before invoking dispatch code
      (Daniel P. Berrange), Define an API for registering incoming message
      dispatch filters (Daniel P. Berrange), ESX driver accept VI API
      version 4.0 (Matthias Bolte), Fill in vCPU - pCPU current mapping,
      and vCPU cpuTime for QEMU (Daniel P. Berrange), generate ChangeLog
      from git logs into distribution tarball (Jim Meyering), Implement
      qemu dump capabilities (Paolo Bonzini), Implement schedular
      tunables API using cgroups (Daniel P. Berrange), Implement the
      new virinterface functions (Laine Stump), Make cgroups a little
      more efficient (Daniel P. Berrange), Make it easier to debug tests
      running programs (Daniel P. Berrange), Make qemuBuildHostNetStr()
      take tapfd as a string (Mark McLoughlin), Make QEMU cgroups use
      configurable (Daniel P. Berrange), Make qemuCmdFlags available in
      qemudDomainAttachDevice() (Mark McLoughlin), Move queuing of RPC
      replies into dispatch code (Daniel P. Berrange), Move vnet_hdr logic
      into qemudNetworkIfaceConnect() and export it (Mark McLoughlin),
      Netcf based interface driver implementation (Laine Stump), netcf
      XML validation and input and output tests (Daniel Veillard), Only
      probe qemu for machine types when binary changes (Mark McLoughlin),
      Place every QEMU guest in a private cgroup (Daniel P. Berrange),
      Probe for QEMU machine types (Mark McLoughlin), Probe QEMU directly
      for machine aliases if not found in capabilties (Mark McLoughlin),
      Public API for new virInterface functions (Laine Stump), python:
      Raise exceptions if virDomain*Stats fail. (Cole Robinson), Refactor
      cgroups to allow a group per driver to be managed directly (Daniel
      P. Berrange), Re-factor pci_add reply parsing and parse domain/bus
      numbers (Mark McLoughlin), Retain disk PCI address across libvirtd
      restarts (Mark McLoughlin), Retain PCI address from NIC attach
      (Mark McLoughlin), Run QEMU guests as an unprivileged user (Daniel
      P. Berrange), Separate code for encoding outgoing remote message
      headers (Daniel P. Berrange), Split generic RPC message dispatch
      code out from remote protocol API handlers (Daniel P. Berrange),
      Split out code for handling incoming method call messages
      (Daniel P. Berrange), storage: Break out actual raw cloning to
      separate function. (Cole Robinson), storage: cleanup: do away with
      'createFile' (Cole Robinson), storage: disk: Use capacity, not
      allocation, when creating volume. (Cole Robinson), storage: Don't
      try sparse detection if writing to block device. (Cole Robinson),
      storage: Implement 'CreateBlockFrom' helper. (Cole Robinson),
      storage: Implement CreateVolFrom for logical and disk backend. (Cole
      Robinson), storage: Move most of the FS creation functions to
      common backend. (Cole Robinson), storage: Refactor FS backend
      'create' function choosing. (Cole Robinson), Store the interface
      vlan number in the domain state (Mark McLoughlin), Support video
      element for QEMU guests (Daniel P. Berrange), Support video tag
      for defining VGA card properties (Daniel P. Berrange), Switch to
      using a unix socket for the qemu monitor (Mark McLoughlin), test:
      Generate net interface names when assigning XML. (Cole Robinson),
      test: Implement BlockStats and InterfaceStats (Cole Robinson),
      Use cgroups for block device whitelisting in QEMU guests (Daniel
      P. Berrange), Use enums for cgroup controller types / labels
      (Daniel P. Berrange), Use sendmsg() on QEMU monitor socket (Mark
      McLoughlin), Use virDomainChrTypeFromString() instead of open
      coding (Mark McLoughlin), Use virFileReadAll/virFileWriteStr for
      key cgroup read/write helpers (Daniel P. Berrange), virGetinterface
      matching of MAC and interface name (Laine Stump)</li>

      <li>Cleanups: Fix configure checks from previous commits (Daniel
      P. Berrange), Avoid a warning if compiling without inotify
      (Daniel P. Berrange), Remove a stray semicolon (Daniel Veillard),
      Extend the ESX URL to habdle ports and GSX (Matthias Bolte), Fix
      escaping of 8-bit high characters (Daniel P. Berrange), , Remove
      ATTRIBUTE_UNUSED from flags to qemudDomainMigratePerform. (Chris
      Lalancette), Add a comment about setting errors after
      qemudStartVMDaemon(). (Chris Lalancette), Fix an erroneous
      debug error to KVM; it should read QEMU/KVM. (Chris Lalancette),
      Remove a stray semicolon in qemudDomainMigratePrepare2. (Chris
      Lalancette), Convert a few stray users of free() in libvirt.c
      to VIR_FREE(). (Chris Lalancette), Use virGetHostname instead
      of gethostname. (Chris Lalancette), Fix up a minor indentation
      issue with virDomainMigratePrepare. (Chris Lalancette), Fix up a
      silly typo in apibuild.py. (Chris Lalancette), Avoid warning when
      compiling without IFF_VNET_HDR (Maximilian Wilhelm), Capilize
      libvirt-client summary (Mark McLoughlin), Move ldconfig calls
      to libvirt-client %post/%postun (Mark McLoughlin), Convert NEWS
      to UTF-8 (Mark McLoughlin), Fix trailing whitespace in NEWS
      (Mark McLoughlin), No need to build require both python-devel
      and python (Mark McLoughlin), Remove executable perms from
      /etc/sysconfig/libvirtd (Mark McLoughlin), Use a %postun -p for
      one line scriptlet (Mark McLoughlin), Don't explicitly require
      libxml2 (Mark McLoughlin), Fix some unowned directories (Mark
      McLoughlin), Kill qemu BuildRequires (Mark McLoughlin), Enable
      netcf by default (Mark McLoughlin), Default to with_polkit
      (Mark McLoughlin), Make vbox support configurable (Mark
      McLoughlin), Build with --without-capng if capng is disabled
      (Mark McLoughlin), BuildRequires libcap-ng-devel not capng-devel
      (Mark McLoughlin), Drop curl host check when using ESX without
      check (Shahar Klein), Fix typo in xen capabilities code (Daniel
      P. Berrange), Add bare format string to printf-derivatives troubles
      (Laine Stump), Add phyp files to POTFILES, to make syntax-check
      happy. (Cole Robinson), avoid a make distcheck failure: distribute
      docs/schemas/interface.rng (Jim Meyering), avoid a make distcheck
      failure: distribute tests/interfaceschemadata/ (Jim Meyering), avoid
      a "make syntax-check" failure (Jim Meyering), build: do not emit
      a trailing blank line into VC'd file, NEWS (Jim Meyering), build:
      update from gnulib, for latest maint.mk (Jim Meyering), Clean up
      error handling in qemudDomainAttachNetDevice() (Mark McLoughlin),
      Cleanup qemu binary detection logic in qemudCapsInitGuest() (Mark
      McLoughlin), Commit newly generated docs, after changes from
      commit 2348cf. (Cole Robinson), Factor qemuBuildHostNetStr()
      out from qemuBuildCommandLine() (Mark McLoughlin), Factor
      qemuBuildNicStr() out from qemuBuildCommandLine() (Mark McLoughlin),
      Factor qemudMonitorSend() out of qemudMonitorCommandExtra() (Mark
      McLoughlin), Fix cgroup compile warnings (Daniel P. Berrange),
      Fix misc build problems due to new drivers (Daniel P. Berrange),
      Fix wierd build problems due to autopoint overwriting gnulib m4
      (Daniel P. Berrange), Makefile.cfg: Rename to... (Jim Meyering),
      make .gnulib a submodule (Jim Meyering), make "make syntax-check"
      consistent with "git diff --check" (Jim Meyering), Minor qemu
      monitor coding style fixes (Mark McLoughlin), Prepare to use
      maint.mk from gnulib (Jim Meyering), Refactor incoming message
      handling to prepare for data stream support (Daniel P. Berrange),
      Refactor message sending to allow code reuse for data streams
      (Daniel P. Berrange), remove all .cvsignore files (Jim Meyering),
      remove all trailing blank lines (Jim Meyering), Remove some unused
      variables and cut long lines (Daniel Veillard), Remove trailing
      blank lines (Daniel Veillard), Rename a bunch of internal methods
      to clarify their meaning (Daniel P. Berrange), Rename 'direction'
      to 'type' in remote_message_header (Daniel P. Berrange), Report
      the object name on lookup error (Daniel Veillard), Simplify remote
      driver error reporting (Daniel P. Berrange), skip some of gnulib's
      new rules (Jim Meyering), use automake-1.11's silent-rules
      option, when possible (Jim Meyering), use gnumakefile and
      maintainer-makefile modules from gnulib (Jim Meyering)</li>
    </ul>
    <h3>0.6.5: Jul  3 2009</h3>
    <ul>
      <li>New features: create storage columes on disk backend (Henrik Persson),
          drop of capabilities based on libcap-ng when possible (Daniel
          Berrange)</li>
      <li>Portability: fix build on non-Linux targets (Daniel Berrange)</li>
      <li>Documentation: typo and english fixes (Runa Bhattacharjee and
          Garry Dolley), Docs on extending APIs (Dave Allan), cleanup
          of debug and logging documentation (Amy Griffis), add
          HACKING doc to the website (Daniel Berrange),
          documentation for OpenNebula driver (Abel Miguez Rodriguez)</li>
      <li>Bug fixes: forbid autostart on transcient networks,
          xen device removal crash (Daniel Berrange), re-detection of
          transient VMs after libvirtd restart(Daniel Berrange),
          bug in virFindFileInPath (Daniel Berrange), handle new
          availheap sysctl in Xen (Daniel Berrange), allow USB hostdev
          product 0 (Cole Robinson), cleanup when creating a storage pool
          fails (Henrik Persson), domain id fix on redefinition in
          test driver (Cole Robinson), fix raw storage allocation (Cole
          Robinson), memory reporting for inactive qemu drivers (Cole
          Robinson), segfault if storage pool has no type attribute (Cole
          Robinson), OpenNebula compilation issues (Javier Fontan),
          dominfo command without security driver (Daniel Berrange),
          domain state problems after migration or destroy (Federico
          Simoncelli), leak in node device parsing (Dave Allan),
          storage pool definitions reading at startup (Cole Robinson),
          bogus WWN in NPIV support (David Allan), avoid a segfault with
          recent Xen (Sascha), cope with libnuma failures on weird
          topologies (Dan Berrange), crash in QEMU driver with bad capabilities
          data (Dan Berrange), trying to re-create a pool should not destroy
          it (Dave Allan), endless loop in node device XML dump (Cole Robinson),
          Re-label shared and readonly images (Dan Berrange)</li>
      <li>Improvements: create and destroy NPIV support (David Allan),
          networking in UML driver (Daniel Berrange), HAL driver restart
          thread safety (Daniel Berrange), capabilities and nodeinfo
          APIs for LXC (Daniel Berrange), iNUMA API for VBox (Daniel Berrange),
          dynamically search and use kvm-img qemu-img or qcow-create (Doug
          Goldstein), fix qemu and kvm version parsing (Mark McLoughlin),
          serial number for HAL storage (Dave Allan), improve error reporting
          for virConnectOpen URIs (Daniel Berrange), include OS driver name
          in device XML (Daniel Berrange), fix qemu command flags fetching
          (Cole Robinson), check that qemu support -drive format= (Cole
          Robinson), improve emulator detection (Cole Robinson), changes
          to config parser to accomodate VMX syntax (Matthias Bolte),
          update network schemas and driver for missing elements (Satoru SATOH),
          avoid changing file context if not needed (Tim Waugh),
          skip labelling if no src path (Cole Robinson), add arm emulation
          if qemu-system-arm is present (C.J. Adams-Collier)</li>
      <li>Cleanups: daemon check logging env variables (Daniel Berrange),
          User Mode Linux start and stop cleanups (Daniel Berrange),
          share the NUMA api implementations (Daniel Berrange), storage
          module dependancies (Dave Allan), refactor storage XML parsing
          (Cole Robinson), big cleanup of logging code (Amy Griffis),
          superfluous % on format (Matthias Bolte), cleanups and updates
          on OpenNebula driver (Daniel Berrange and Abel Miguez Rodriguez)</li>
    </ul>
    <h3>0.6.4: May 29 2009</h3>
    <ul>
      <li>New features: new API virStorageVolCreateXMLFrom (Cole Robinson),
          full VBox graphic capabilities (Pritesh Kothari), Interface config
          APIs (Laine Stump), APIs for domain XML conversions (Daniel
          Berrange), initial version of OpenNebula driver (Abel Miguez
          Rodriguez)</li>
      <li>Portability: better compiler warning selection (Daniel Berrange),
          Win32 portability fixes (Daniel Berrange)</li>
      <li>Documentation: documentation for &lt;sound&gt; device XML format (Cole
          Robinson), storage format documentation fixes (Ryota Ozaki),
          docs for XML conversion APIs (Daniel Berrange), inconsistencies
          in storage volume docs and schemas (Ryota Ozaki)</li>
      <li>Bug fixes: fix hostdev managed handling (Mark McLoughlin),
          lxc_controller should not cash without args (Guido Gunther),
          bug fixes in I/O routines (Guido Gunther), fix migrationsave/restore
          for QEmu 0.10.0 (Daniel Berrange), avoid crash on VBox init
          (Guido Gunther), fix dev and cgroup init in LXC (Ryota Ozaki),
          QEmu startup fix (Cole Robinson), block node reboots from LXCs (Ryota
          Ozaki), QEmu argv detection fix for recent kvm (Daniel Berrange),
          fix watch/timer event deletion (Daniel Berrange), fix XML escaping
          bug, various locking bugs (Daniel Berrange), avoid a deadlock in
          HAL nodedev driver (Cole Robinson), detection of node device media
          insert/eject (Cole Robinson), broken networking with new QEMU/KVM
          &gt;= 86 (Daniel Berrange), various fixes in domain and network
          startup error report (Cole Robinson), double free on unexpected
          client disconnect (Daniel Berrange)</li>
      <li>Improvements: cleanups and doc on virExec (Cole Robinson), error
          reporting in QEmu migrations (Cole Robinson), better path and driver
          detection in VBox (Pritesh Kothari), avoid caching QEMU driver
          capabilities(Cole Robinson), multiple graphics elements definitions
          (Pritesh Kothari), LSB init header init.d improvements (Frederik
          Himpe), special erro code for invalid operations (Daniel Berrange),
          dlopen error logging (Daniel Berrange), fix UUID and name uniqueness
          (Daniel Berrange), improvement on VBox initialization (Pritesh
          Kothari and Dan Berrange), "Host only" and "Internal" network in VBox
          (Pritesh Kothari), add utility virExecDaemonize (Cole Robinson),
          enable bridges without IP (Ludwig Nussel), 'make -s' silencing
          (Daniel Berrange), test case for exercising the event loop (Daniel
          Berrange), virsh commands vol-clone and vol-create-from (Cole
          Robinson), new xend don't use [] around cpumaps (Tatsuro Enokura),
          add the CIL mutex lock checker (Daniel Berrange), fix some LXC
          error code (Amy Griffis), virInterface python bindings (Daniel
          Berrange), fix to the example code for event handling (Pritesh
          Kothari), always add location informations to logging (Daniel
          Berrange), python domain events example and binding (Daniel
          Berrange), PPC Qemu Machine Type update (Thomas Baker)</li>
      <li>Cleanups: strings bug in virsh (Daniel Berrange), various cleanups
          in storage code (Cole Robinson), rpm spec cleanups, destructors
          data cleanups (Laine Stump), some QEmu code refactoring (Daniel
          Berrange), avoid dependancy on libcap (Daniel Berrange), python
          import cleanup (Cole Robinson), virAsprintf based cleanups in
          storage code (Cole Robinson), fix some direct stderr logging,
          OpenNebula driver cleanups (Daniel Berrange)</li>
    </ul>
    <h3>0.6.3: Apr 24 2009</h3>
    <ul>
      <li>New features: VirtualBox driver support (Pritesh Kothari),
          virt-xml-validate new command (Daniel Berrange)</li>
      <li>Portability: patch to build on Centos (Joseph Shraibman),
          build breakage (Anton Protopopov), </li>
      <li>Documentation: Linux Containers documentation (Serge Hallyn),
          improvement and updates of architecture pages, fix
          virNodeGetFreeMemory documentation to reflect reality,
          man page cleanups (Daniel Berrange), man page typo
          (Robert P. J. Day), VirtualBox Documentation (Pritesh Kothari),
          </li>
      <li>Bug fixes: veth off-by-one error (Dan Smith), vcpupin to inactive
          Xen crash (Takahashi Tomohiro), virsh ttyconsole return value,
          use format= not fmt= on QEmu commandline (Mark McLoughlin),
          use UUID for internal domain lookups (Daniel Berrange), remote
          domain ID related bugs (Daniel Berrange), QEmu pidfile handling
          bugs (Daniel Berrange), network config handling on old Xen (Daniel
          Berrange)</li>
      <li>Improvements: add SCSI storage rescan (David Allan), rootless
          LXC containers support improvements (Serge Hallyn), getHostname
          support for LXC (Dan Smith), cleanup and logging output of some
          domain functions (Guido Günther), drop pool lock when allocating
          volumes (Cole Robinson), LXC handle kernel without CLONE_NEWUSER
          support (Serge Hallyn), cpu pinning on defined Xen domains (Takahashi
          Tomohiro), dynamic bridge names support (Soren Hansen), LXC use
          of private /dev/pts when available (Daniel Berrange),
          virNodeDeviceCreateXML and virNodeDeviceDestroy entry points
          (Dave Allan)</li>
      <li>Cleanups: don't hardcode getgrnam_r buffer to 1024 bytes (Guido
          Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),
          </li>
    </ul>
    <h3>0.6.2: Apr  3 2009</h3>
    <ul>
      <li>New features: support SASL auth for VNC server (Daniel Berrange),
          memory ballooning in QEMU (Daniel Berrange), SCSI HBA storage pool
          support (Dave Allan), PCI passthrough in Xen driver (Daniel
          Berrange)</li>
      <li>Portability: be more flexible in QEmu binaries paths (Daniel
          Berrange), Mingw portability fixes (Daniel Berrange),</li>
      <li>Documentation: add security attributes in RNG schemas, cleanup
          of architecture docs, missing disk bus values in RNG schemas,</li>
      <li>Bug fixes: tap vs vbd type on block detach (Cole Robinson and
          Takahashi Tomohiro), bad free on storage volume error (Daniel
          Berrange), maplenght computations in remote driver (Daniel Berrange),
          event dispatching in the daemon (Daniel Berrange), virDomainSetVcpus
          deadlock (Daniel Berrange), save deadlock in test driver (Cole
          Robinson), fix timing of security driver init (Cole Robinson),
          forbid readonly connections from dumping the XML safe info (Cole
          Robinson), file descriptor leak on remote access,
          fix labelling of shared/readonly devices (Dan Walsh),
          virsh missing auth on shell commands (Matthias Bolte),
          avoid zombie on exec pipe errors (Ryota Ozaki),
          memory leak in virNodeDeviceGetParent (Daniel Berrange),
          URI check in migration (Daniel Berrange), various memory bug fixes
          (Daniel Berrange), python bindings generator fix (Daniel Berrange),
          NUMA memory fixes (Daniel Berrange), various svirt fixes (Daniel
          Berrange), fix sparse volume allocation reporting (Cole Robinson),
          test driver domain restore return value (Cole Robinson),
          do not lose file format info on volume refresh (Cole Robinson)</li>
      <li>Improvements: get CPU usage info for LXC (Ryota Ozaki), fix domain
          RNG to add ac97 and tests (Pritesh Kothari), OpenVZ support for
          non-template filesystem root (Florian Vichot), improve arch
          capabilities generation (Daniel Berrange), modularization of spec
          file (Ryota Ozaki), better error reports in SEXPR generation (Daniel
          Berrange), support for vifname parameter in VIF config (Daniel
          Berrange), localtime handling for new xen (Daniel Berrange),
          error reporting/ verification of security labels (Dan Walsh),
          add --console arg for create and start virsh commands (Daniel
          Berrange), refresh volume alloc/capacity when dumping XML (Cole
          Robinson)</li>
      <li>Cleanups: FILE * leaks removal, unused parameters flagging
          (Maximilian Wilhelm), switch to pre-C99 struct initialization
           for drivers (Chris Lalancette), symlinks resolving cleanup (Daniel
           Berrange)</li>
    </ul>
    <h3>0.6.1: Mar  3 2009</h3>
    <ul>
      <li>New features: new APIs for Node device detach reattach and reset
          (Mark McLoughlin), sVirt mandatory access control support (James
          Morris and Dan Walsh)</li>
      <li>Portability: non gcc toolchain (John Levon), gcc-4.4 warnings fixes
          (Mark McLoughlin), fix build without LXC and QEmu (Jim Meyering)</li>
      <li>Documentation: man page bugzilla URL (Mark McLoughlin), typo
          in domain format (Jesse Farinacci), clock offset fix (Mark
          McLoughlin), hostdev description typo (Mark McLoughlin), static
          host IP (Charles Duffy), new example program (David Allan)</li>
      <li>Bug fixes: NULL dereference in LXC (Jim Meyering), fix domain
          error reporting (John Levon), fix loop of libvirtd --timeout
          (Daniel Berrange), limit history to 500 to restrict virsh memory
          (Daniel Berrange), wrong lvm volume format check (Cole Robinson),
          I/O error in daemon and associated remote acces crash (Daniel
          Berrange), fix autostart of session daemon (Daniel Berrange),
          restart guest on qemu migration failures (Chris Lalancette),
          config parsing leaks (Ryota Ozaki), DBus multithreading activation
          to avoid crashes (Daniel Berrange), mark defined network descriptions
          as persistent (Cole Robinson), qemu+tls handshake negotiation hang
          (Chris Lalancette)</li>
      <li>Improvements: don't hardcode ssh port (Guido Günther), new test
          cases and testing infrastructure (Jim Meyering), improve the
          SExpr parser (John Levon), proper error reporting on xend
          shutdown command (John Levon), proper handling of errors when
          saving QEmu domains state (Guido Günther), revamp of the internal
          error memory APIs (John Levon), better virsh error reporting (John
          Levon), more daemon options to allow running multiple daemons (Jim
          Meyering), error handling when creating a QEmu domain (Guido Günther),
          fix timeouts in QEmu log reading (Guido Günther), migration with
          xend 3.3 fixes (John Levon), virsh XML dump flags cleanup (Cole
          Robinson), fix build with loadable drivers (Maximilian Wilhelm),
          internal XML APIs to read long long and hexa values (Mark
          McLoughlin), function to parse node device XML descriptions and
          associated test (Mark McLoughlin), generate network bridge names if
          not provided (Cole Robinson), recognize ejectable media in hostdev
          hal driver (Cole Robinson), integration of sVirt (Daniel Berrange)</li>
      <li>Cleanups: printf NULL string checks (John Levon), remove uses of
          strerror and use virStrerror (Jim Meyering), remove redundant NULL
          assignments (Jim Meyering), QEmu driver logging and exec cleanups
          (Jim Meyering), many error handling cleanups (Jim Meyering), XML
          module cleanups (Mark McLoughlin), compiler warning (Maximilian
          Wilhelm), daemon TCP listen cleanup (Cole Robinson), size_t type
          cleanup (Guido Günther), parallel make fix (Michael Marineau),
          storage error diagnostic fix (Ryota Ozaki), remove redundant monitor
          watch variable (Cole Robinson), qemu AttachDevice error report
          improvement (Cole Robinson), virsh output cleanup (Jim Meyering),
          various tests cleanups and improvements (Jim Meyering), fix the
          internal export list with new APIs (Daniel Berrange), cleanups on
          new APIs for Node device (Daniel Berrange)</li>
    </ul>
    <h3>0.6.0: Jan 31 2009</h3>
    <ul>
      <li>New features: thread safety of the API and event handling (Daniel
          Berrange), allow QEmu domains to survive daemon restart (Guido
          Günther), extended logging capabilities, support copy-on-write
          storage volumes (Daniel Berrange), support of storage cache
          control options for QEmu/KVM (Daniel Berrange)</li>
      <li>Portability: fix old DBus API problem, Debian portability fix
          (Daniel Berrange), fix distcheck (Jim Meyering), build in
          debug mode (Jim Meyering), libnuma API portability (Jim Meyering),
          many portability fixes pointed by Solaris (John Levon), non-gcc
          portability fixes (John Levon), various include fixes (Jim Meyering),
          various Windows and Mingw portability fixes (Daniel Berrange),
          solaris Xen fixes (John Levon), RPC portability to Solaris (Daniel
          Berrange)</li>
      <li>Documentation: typo fixes (Richard Jones), logging support,
          vnc keymap attributes (Guido Günther), HACKING file updates
         (Jim Meyering), new PCI passthrough format, libvirt-qpid and
         UML driver documentation (Daniel Berrange), provide RNG schemas
         for all XML formats used in libvirt APIs (Daniel Berrange), </li>
      <li>Bug fixes: segfault on virtual network without bridge name (Cole
          Robinson), various locking fixes (Cole Robinson), fix serial
          and parallel devices on tcp/unix/telnet (Guido Günther), leak
          in daemon (Jim Meyering), storage driver segfault (Miloslav TrmaC),
          missing check in read-only connections (Daniel Berrange),
          OpenVZ crash and mutex fixes (Anton Protopopov), couple of
          daemon bug fixes (John Levon), OpenVZ MAC addresses generation
          (Evgeniy Sokolov), poll call initialization fix (Daniel Berrange),
          various Xen driver fixes (John Levon), segfault on device
          back compat (Cole Robinson), couple Xen bug fixes coming from
          RHEL (Markus Armbruster), buffer overflow in libvirt proxy
          (rasputin@email.ru), vnc port report (John Levon), repair save
          and restore on recent KVM versions (Daniel Berrange), Xen
          cpu pinning XML fix (John Levon), various xen driver fixes
          (Daniel Berrange), some memory leak fixes (Daniel Berrange)</li>
      <li>Improvements: driver infrastructure and locking (Daniel Berrange),
          Test driver infrastructure (Daniel Berrange), parallelism in the
          daemon and associated config (Daniel Berrange), virsh help cleanups
          (Jim Meyering), logrotate daemon logs (Guido Günther), more
          regression tests (Jim Meyering), QEmu SDL graphics (Itamar Heim),
          add --version flag to daemon (Dave Allan), memory consumption
          cleanup (Dave Allan), QEmu pid file and XML states for daemon
          restart (Guido Günther), gnulib updates (Jim Meyering and
          Dan Berrange), PCI passthrough for KVM (Jason Krieg), generic
          internal thread API (Daniel Berrange), RHEL-5 specific Xen
          configure option and code (Markus Armbruster), save domain
          state as string in status file (Guido Günther), add locking
          to all API entry points (Daniel Berrange), new ref counting APIs
          (Daniel Berrange), IP address for Xen bridges (John Levon),
          driver format for disk file types (Daniel Berrange), improve
          QEmu/KVM tun/tap performances (Mark McLoughlin), enable floppies
          for Xen fully virt (John Levon), support VNC password settings
          for QEmu/KVM (Daniel Berrange), qemu driver version reporting
          (Daniel Berrange) </li>
      <li>Cleanups: converting linked lists to arrays (Daniel Berrange),
          daemon RPC handling refactoring (Daniel Berrange), strings cleanups
          (Jim Meyering), gethostby* cleanup and test (Jim Meyering), some
           code fixes (Dave Allan), various code cleanup (Jim Meyering),
           virsh argument handling cleanup (Jim Meyering), virAsprintf
           cleanup replacement (Guido Günther), QEmu monitor reads (Cole
           Robinson), Makefile cleanups (Guido Günther), Xen code cleanups
           (John Levon), revamp of ELF export scripts (John Levon), domain
           event callback args (John Levon), enforce use of pid_t (John Levon),
           virsh pool-*-as XML code merge (Cole Robinson), xgettext warnings
           (Jim Meyering), add virKillProcess (Guido Günther), add
           virGetHostname (David Lutterkort), add flags argument to the full
           XML parsing stack (Guido Günther), various daemon code cleanups
           (Guido Günther), handling of daemon missing config file (Jim
           Meyering), rpcgen invocation cleanup (Richard Jones), devhelp
           builkd makefile cleanups (John Levon), update error handling for
           threading (Daniel Berrange), remove all non-rentrant POSIX calls
           usage (Daniel Berrange), many small cleanups (Jim Meyering and
           Daniel Berrange), examples Makefile generator (John Levon),
           mis-use of PF_UNIX as a protocol (John Levon), cleanup OOM
           error paths (Jim Meyering), temporary fix fro valgrind on lxc
           (Daniel Berrange), QEmu driver init cleanups (Daniel Berrange)</li>
    </ul>
    <h3>0.5.1: Dec  4 2008</h3>
    <ul>
      <li>Portability: fix missing dep in spec file, fix compilation with new
          NUMA libraries (Daniel Berrange), udev compatibility for RHEL (Chris
          Lalancette), </li>
      <li>Documentation: documentation copy and paste errors and typo (Cole
          Robinson)</li>
      <li>Bug fixes: add a delay in storage backend for disks to show up
          (Chris Lalancette), fix parsing for CDRom device with no source
          (Daniel Berrange), use xenstore to list domains to avoid some
          bugs (Guido Günther), remove a leak in xen inotify code (Daniel
          Berrange), UML driver freeing of uninitialialized variable (Ron
          Yorston), fix UML inotify code (Daniel Berrange), crash when
          adding storage without a format (Cole Robinson)</li>
      <li>Improvements: use xend preferably to hypervisor call to set Xen
          max memory (Jim Fehlig), allow remote://hostname/ URI for automatic
          probe of hypervisors (Daniel Berrange), fix daemon configuration
          regression testing (Jim Meyering ), check /usr/bin/kvm for QEmu
          driver init (Guido Günther), proper active vs. inactive
          differentiation (Guido Günther), improve MTU setting on tap
          interfaces (Eduardo Habkost), increase timeout for initial QEmu
          monitor poll (Cole Robinson)</li>
      <li>Cleanups:fix improper initialisations (Jim Meyering)</li>
    </ul>
    <h3>0.5.0: Nov 25 2008</h3>
    <ul>
      <li>New features: CPU and scheduler support for LXC (Dan Smith), SDL display configuration (Daniel Berrange), domain lifecycle event support for QEmu and Xen with python bindings (Ben Guthro and Daniel Berrange), KVM/QEmu migration support (Rich Jones and Chris Lalancette), User Mode Linux driver (Daniel Berrange), API for node device enumeration using HAL and DeviceKit with python bindings (David Lively), </li>
      <li>Portability: RHEL build fixes, VPATH build (Guido Gunther), many MinGW related cleanups and fixes (Richard Jones), compilation without libvirtd (Richard Jones), Add a Windows icon (Richard Jones), sys/poll.h portability fixes (Daniel Berrange), gnulib and mingw cleanups (Jim Meyering), </li>
      <li>Documentation: virsh man page cleanups (Mark McLoughlin), doc for NIC model selection (Richard Jones), monitoring section, link to AMQP bindings, inew APIs, UML driver docs (Daniel Berrange), </li>
      <li>Bug fixes: Xen interfaces ordering (Jim Fehlig), startup timeout with multiple pty (Cole Robinson), segfault if QEmu without active virtual network (Cole Robinson), qemu small leak (Eduardo Habkost), index creation for more than 26 disks (Sanjay Rao and Chris Wright), virRealloc handling of 0 (Daniel Berrange), missing pointer initialization (Chris Lalancette), bus device index bug (Guido Günther), avoid crash in some error patch (Chris Lalancette), fix a problem in storage back-end (Chris Lalancette), minimum domain memory size check for Xen (Shigeki Sakamoto), switch off QEmu cache if device is shared (Charles Duffy), logical volume definition before scan bug (Chris Lalancette), a couple of memory leaks on QEmu vnc (Jim Meyering), lvs parsing fixes (Cole Robinson),</li>
      <li>Improvements: LXC resources control and internal cgroup API (Dan Smith), virDomainCreateLinux renamed virDomainDefineXML, network driver modularization (Daniel Berrange), change the way domain and net are reported in errors (Jim Meyering), partition table scan on iSCSI (Chris Lalancette), qemudDiskDeviceName to handle normal disks (Guido Günther), qemudDomainBlockStats improvement (Guido Günther), scsi/virtio hotplug support for KVM (Guido Günther), USB hot addition in QEmu (Guido Günther), logical pool and storage backend XML dump improvement (Chris Lalancette), MAC addresses prefix per driver (Daniel Berrange), OpenVZ getVersion support (Daniel Berrange), hot removal of scsi/virtio disks for KVM (Guido Günther), test storage driver (Cole Robinson), iSCSI and disk storage driver improvement on path handling (Chris Lalancette), UUID and ID support for Xenner (Daniel Berrange), better logging when when executing commands (Cole Robinson), bridged network for OpenVZ (Daniel Berrange), OpenVZ config file params (Evgeniy Sokolov), allow to build drivers as libtool convenience libs (Daniel Berrange), fully versioned linker script for exported ABI (Daniel Berrange), Push URI probing down into drivers open (Daniel Berrange), move all stateful drivers into the daemon binary (Daniel Berrange), improve domain event with a detail field (Daniel Berrange), domain events for QEMU driver (Daniel Berrange), event unregister callback crash (David Lively), plug a few leaks (Daniel Berrange), internal APIs for handling node device XML config (David Lively), tweaks to node device implementation (Daniel Berrange), OpenVZ vCPUs values init (Evgeniy Sokolov)</li>
      <li>Cleanups: C99 initializers (Guido Gunther), test output (Cole Robinson), debug macro centralization (Cole Robinson), various error handling (Guido Günther), safewrite use cleanup (Jim Meyering), centralize error reporting logic (Cole Robinson), avoid printf warnings (Daniel Berrange), use arrays instead of list for internal APIs (Daniel Berrange), remove many format string warnings Jim Meyering), avoid syntax check warnings (Chris Lalancette), improve po-check and list generation (Jim Meyering), .gitignore generation and handling (Jim Meyering), use ARRAY_CARDINALITY (Jim Meyering), gnulib updates and switch to use netdb.h (Jim Meyering), drop usage of socket_errno (Jim Meyering), remove socketcompat.h (Jim Meyering), more tests (Jim Meyering), drop virStringList (Daniel Berrange), reformatting and isolation of the error APIs (Daniel Berrange), cleanup internal.h and move internal APIs in specific headers (Daniel Berrange), move domain events helpers into domain_events.c (Daniel Berrange), cleanup the way optional modules are compiled (Daniel Berrange), add new logging module, optional dlopen of drivers (Daniel Berrange), various new tests (Jim Meyering), cleanups when Xen is not configured in (Daniel Berrange), add some missing functions comments (Jim Meyering),</li>
    </ul>
    <h3>0.4.6: Sep 23 2008</h3>
    <ul>
      <li>Documentation: fix some comments in API (Anton Protopopov),
          cleanup and extension of bindings and windows pages (Richard Jones)</li>
      <li>Portability: missing include file (Richard Jones)</li>
      <li>Bug fixes: avoid a segfault if missing qemu emulator (Cole Robinson),
          reading vncdisplay from xend domain (Cole Robinson), segfault in
          OpenVZ (Evgeniy Sokolov), fix parsing of pool without a source
          (Chris Lalancette and Daniel Berrange)</li>
      <li>Improvements: add storage disk volume delete (Cole Robinson),
          KVM dynamic max CPU detection (Guido Günther), spec file improvement
          for minimal builds (Ben Guthro), improved error message in XM
          configuration module (Richard Jones), network config in OpenVZ
          support (Evgeniy Sokolov), enable stopping a pool in logical
          storage backend and cleanup deletion of pool (Chris Lalancette)</li>
      <li>Cleanups: deadcode removal (Nguyen Anh Quynh), fix one test
          case (Daniel Berrange), various strings and space cleanups (Daniel
          Berrange), structure initialization cleanup (Chris Lalancette)</li>
    </ul>
    <h3>0.4.5: Sep 8 2008</h3>
    <ul>
      <li>New features: NETNS support for Linux containers (Dan Smith),
          unified XML domain and network parsing for all drivers (Daniel
          Berrange), OpenVZ features improvements (Evgeniy Sokolov),
          OpenVZ and Linux containers support now default, USB device
          passthrough for QEmu/KVM (Guido Günther), storage pool source
          discovery (David Lively)</li>
      <li>Portability: fixes for MinGW (Atsushi SAKAI and Daniel Berrange),
          detection of xen lib improvement (David Lively),
          storage backend portability for SLES (David Lively),
          fix make distclean and distcheck (Jim Meyering),
          fix build failures on RHEL4, lot of MinGW portability fixes (Atsushi
          SAKAI and Daniel Berrange), HTML generation fix, -lpthread explicit
          linking when needed (Jim Meyering)</li>
      <li>Documentation: various typo fixes (Anton Protopopov, Toth
          István, Atsushi SAKAI, Nguyen Anh Quynh),
          Java bindings docs, remove Xen centric
          comments (Guido Günther), various typo in comments (Chris
          Lalancette), docs and API comments fixes (Charles Duffy),
          how to contribute to open source link (Richard Jones),
          memory unit fixups (matthew chan)</li>
      <li>Bug fixes: memory leaks and testing for OOM (Daniel Berrange),
          do_open driver bug(Evgeniy Sokolov), don't use polkit auth when
          running as non-root (Daniel Berrange), boot of CDRom devices
          in QEmu/KVM (Daniel Berrange), fix OpenVZ probe function (Evgeniy
          Sokolov), ID related lookup fixes in OpenVZ (Evgeniy Sokolov),
          pool cration for netfs (Cole Robinson), check for migrate support
          with QEmu (Guido Günther), check against double create with QEmu
          (Guido Günther), broken open failure detection in QEmu (Guido
          Günther), UUID string conversions in QEmu (Guido Günther),
          various small cleanup and bug fixes (Daniel Berrange), ID
          related fixes in the test driver (Daniel Berrange), better error
          reporting on XML parsing (Daniel Berrange), empty CD-ROM source
          device section (Chris Lalancette), avoid crashes for interface
          without a name in QEmu (Guido Günther), provide the real
          vncport (Charles Duffy), fix forward delay (Daniel Berrange),
          new VM state is initialized to be SHUTOFF (Daniel Berrange),
          virsh attach-disk bug fixes (Chris Lalancette), veth clash
          of device names (Dan Smith), connection lookup fixes on
          storage creation (Cole Robinson), parted call fix (Cole Robinson),
          use "server" option when using serial/telnet with QEmu (Mark
          McLoughlin), duplicate virInitialize calls (Nguyen Anh Quynh),
          many fixes to virExec and related functions (Daniel Berrange),
          size of disk without partitions (Cole Robinson), creating and
          cleaning up logical volumes with target path (Cole Robinson),
          fix reporting of virConnectOpen problems (Daniel Berrange),
          veth cleanup at shutdown (Dan Smith), lookup of Xen VMs after define
          (Cole Robinson), fix emulator reported capabilities (Cole Robinson),
          avoid segfault on KVM CD eject (Cole Robinson), fix disk ordering
          and avoid duplicate in QEmu XML parsing (Cole Robinson), update
          domain XML after device hotplug (Cole Robinson), use poweroff instead
          of halt when shutting down a Xen domain (John Levon), don't dump core
          of Xen domain live by default (John Levon), vgcreate command line
          size bug (Jim Fehlig),  signed/unsigned issue in probing file
          (Cole Robinson), Fix Xen domains without PVFB console (Daniel
          Berrange), OpenVZ config read bug fix (Evgeniy Sokolov).
          </li>
      <li>Improvements: improved failure diagnostic for TAP (Jim Meyering),
          better exec and error diagnostic for OpenVZ commands (Evgeniy
          Sokolov), OpenVZ auto start and stop of domains (Evgeniy Sokolov),
          OpenVZ domain cpu time consumption (Evgeniy Sokolov), virsh
          shutdown improvements and test (Jim Meyering), better report of
          XML well formedness errors (Richard Jones), new XML elements
          (Daniel Berrange), virsh "edit" command (Richard Jones), save
          UUID of OpenVZ domains (Evgeniy Sokolov), improve xen blocks
          statistics (Chris Lalancette), gnulib updates (Jim Meyering),
          allow to add disk as USB devices (Guido Günther), LXC container
          process should survive libvirtd restarts (Daniel Berrange), allow
          to define static host domain configs, number of CPU used by
          OpenVZ domains (Evgeniy Sokolov), private root fs for LXC (Daniel
          Berrange), storage source information in storage pools (David Lively),
          virsh reports attach and detach success (Cole Robinson), detect
          failure in QEmu eject command (Cole Robinson), add support for
          eect on floppy and SCSI cdroms for QEmu (Cole Robinson), LXC
          hypervisor version extraction (Dan Smith), Augeas config file support
          (Daniel Berrange), support for a domain name in network
          config (JJ Reynolds).</li>
      <li>Cleanups: Python verbosity cleanup (Ryan Scott),
          space and tabs cleanups (Atsushi SAKAI), OpenVZ and LXC drivers
          cleanup and unification of XML handling (Daniel Berrange), updates
          to Relax-NG XML schemas (John Levon and Daniel Berrange), more
          printf format checkings (Jim Meyering), VIR_FREE related cleanups
          (Jim Meyering), integer string parsing cleanup (Evgeniy Sokolov),
          initial OpenVZ xml refactoring (Evgeniy Sokolov), better error
          message on domain redefine (Charles Duffy), check XML files against
          the RNG Schemas (Daniel Berrange), const-correctness in virsh
          (Richard Jones and Jim Meyering), const-correctness and cleanups
          in LXC and OpenVZ drivers (Daniel Berrange), virFileLinkPointsTo
          rewrite (Jim Meyering), cleanup of the conditional compilation
          of C files (Daniel Berrange), shell quoting fixes (Jim Meyering),
          parallel build support (James Morris and Jim Meyering), new
          convenenience virFileReadLimFD function (Jim Meyering).  </li>
    </ul>
    <h3>0.4.4: Jun 25 2008</h3>
    <ul>
      <li>Bug fixes: QEmu network serialization (Kaitlin Rupert), internal
          memory allocation fixes (Chris Lalancette Jim Meyering), virsh
          large file config problem (Jim Meyering), xen list APIs when
          max is zero, string escape problems in the xm driver </li>
      <li>Improvements: add autogen to tarballs, improve iSCSI support
          (Chris Lalancette), localization updates </li>
      <li>Cleanups: const-ness fixed (Daniel P. Berrange), string helpers
          for enumeations (Daniel P. Berrange)</li>
    </ul>
    <h3>0.4.3: Jun 12 2008</h3>
    <ul>
      <li>New features: Linux Container start and stop (Dave Leskovec),
          Network interface model settings (Daniel Berrange),serial and parallel
          device support for QEmu and Xen (Daniel Berrange),
          Sound support for QEmu and Xen (Cole Robinson), vCPU settings for
          QEmu (Cole Robinson), support for NUMA and vCPU pinning in QEmu
          (Daniel Berrange), new virDomainBlockPeek API (Richard Jones)</li>
      <li>Documentation: coding guidelines (Jim Meyering and Richard Jones),
          small man page missing entries and cleanup,
          Web site revamp (Daniel Berrange),
          typo fixes (Atsushi SAKAI), more docs on network XML format
          (Daniel Berrange), libvirt Wiki (Daniel Berrange),
          policykit config docs (Cole Robinson), XML domain docs revamp
          (Daniel Berrange), docs for remote listen-tls/tcp fixes (Kenneth
          Nagin),  </li>
      <li>Bug fixes: save change to config file for Xen (Ryan Scott),
          fix /var/run/libvirt/ group ownership (Anton Protopopov),
          ancient libparted workaround (Soren Hansen), out of bount
          array access (Daniel Berrange), remote check bug (Dave Leskovec),
          LXC signal and daemon restart problems (Dave Leskovec), bus selection
          logic fix in the daemon config (Daniel Berrange), 2 memory leaks
          in the daemon (Jim Meyering), daemon pid file logic bug fix
          (Daniel Berrange), python generator fixes (Daniel Berrange),
          ivarious leaks and memory problem pointed by valgrind (Daniel
          Berrange), iptables forwarding cleanup (Daniel Berrange),
          Xen cpuset value checking (Hiroyuki Kaguchi), container process
          checks for LXC (Dave Leskovec), let xend check block device syntax
          (Hiroyuki Kaguchi), UUIDString for python fixes (Cole Robinson)</li>
      <li>Improvements: fixes for MinGW compilation (Richard Jones),
          autostart for running Xen domains (Cole Robinson),
          control of listening IP for daemon (Stefan de Konink),
          various Xenner related fixes and improvements (Daniel Berrange)
          autostart status printed in virsh domainfo (Shigeki Sakamoto),
          better error messages for xend driver (Richard Jones)</li>
      <li>Code cleanups: OpenVZ compilation (Richard Jones), conn dom and
          net fields deprecation in error structures (Richard Jones),
          Xen-ism on UUID (Richard Jones), add missing .pod to dist (Richard
          Jones), tab cleanup from sources (Jim Meyering), remove unused field
          in virsh control structure (Richard Jones), compilation without
          pthread.h (Jim Meyering), cleanup of tests (Daniel Berrange),
          syntax-check improvements (Jim Meyering), python cleanup,
          remove dependancy on libc is_* character tests (Jim Meyering),
          format related cleanups (Jim Meyering), cleanup of the buffer
          internal APIs (Daniel Berrange), conversion to the new memory
          allocation API (Daniel Berrange), lcov coverage testing
          (Daniel Berrange), gnulib updates (Jim Meyering), compatibility
          fix with RHEL 5 (Daniel Berrange), SuSE compatibility fix (Jim
          Fehlig), const'ification of a number of structures (Jim Meyering),
          string comparison macro cleanups (Daniel Berrange), character
          range testing cleanups and assorted bug fixes (Jim Meyering),
          QEmu test fixes (Daniel Berrange), configure macro cleanup (Daniel
          Berrange), refactor QEmu command line building code (Daniel Berrange),
          type punning warning in remote code (Richard Jones), refactoring
          of internal headers (Richard Jones), generic out of memory
          testing and associated bug fixes (Daniel Berrange), don't raise
          internal error for unsupported features (Kaitlin Rupert),
          missing driver entry points (Daniel Berrange)</li>
    </ul>
    <h3>0.4.2: Apr 8 2008</h3>
    <ul>
      <li>New features: memory operation for QEmu/KVM driver (Cole Robinson),
      new routed networking schemas (Mads Olesen)</li>
      <li>Documentation: storage documentation fixes (Atsushi Sakai), many
      typo cleanups (Atsushi Sakai), string fixes (Francesco Tombolini)</li>
      <li>Bug fixes: pointer errors in qemu (Jim Meyering), iSCSI login fix
      (Chris Lalancette), well formedness error in test driver capabilities
      (Cole Robinson), fixes cleanup code when daemon exits (Daniel Berrange),
      CD Rom change on live QEmu/KVM domains (Cole Robinson), setting scheduler
      parameter is forbidden for read-only (Saori Fukuta)i, fixes for TAP
      devices (Daniel Berrange), assorted storage driver fixes (Daniel
      Berrange), Makefile fixes (Jim Meyering), Xen-3.2 hypercall fix,
      fix iptables rules to avoid blocking traffic within virtual network
      (Daniel Berrange), XML output fix for directory pools (Daniel Berrange),
      remove dandling domain/net/conn pointers from error data, do not
      ask polkit auth when root (Daniel Berrange), handling of fork and
      pipe errors when starting the daemon (Richard Jones)</li>
      <li>Improvements: better validation of MAC addresses (Jim Meyering and
      Hiroyuki Kaguchi),
      virsh vcpupin error report (Shigeki Sakamoto), keep boot tag on
      HVM domains (Cole Robinson), virsh non-root should not be limited to read
      only anymore (Daniel Berrange), switch to polkit-auth from polkit-grant
      (Daniel Berrange), better handling of missing SElinux data (Daniel
      Berrange and Jim Meyering), cleanup of the connection opening logic
      (Daniel Berrange), first bits of Linux Containers support (Dave Leskovec),
      scheduler API support via xend (Saori Fukuta), improvement of the
      testing framework and first tests (Jim Meyering), missing error
      messages from virsh parameters validation (Shigeki Sakamoto),
      improve support of older iscsiadm command (Chris Lalancette),
      move linux container support in the daemon (Dan Berrange), older
      awk implementation support (Mike Gerdts), NUMA support in test
      driver (Cole Robinson), xen and hvm added to test driver capabilities
      (Cole Robinson)</li>
      <li>Code cleanup: remove unused getopt header (Jim Meyering), mark more
      strings as translatable (Guido G&#xFC;nther and Jim Meyering), convert
      error strings to something meaningful and translatable (Jim Meyering),
      Linux Containers code cleanup, last error initializer (Guido G&#xFC;nther)</li>
    </ul>
    <h3>0.4.1: Mar 3 2008</h3>
    <ul>
      <li>New features: build on MacOSX (Richard Jones), storage management
      (Daniel Berrange), Xenner - Xen on KVM - support (Daniel Berrange)</li>
      <li>Documentation: Fix of various typos (Atsushi SAKAI), memory and
      vcpu settings details (Richard Jones), ethernet bridging typo
      (Maxwell Bottiger), add storage APIs documentation (Daniel Berrange)</li>
      <li>Bug fixes: OpenVZ code compilation (Mikhail Pokidko), crash in
      policykit auth handling (Daniel Berrange), large config files
      (Daniel Berrange), cpumap hypercall size (Saori Fukuta), crash
      in remote auth (Daniel Berrange), ssh args error (Daniel Berrange),
      preserve vif order from config files (Hiroyuki Kaguchi), invalid
      pointer access (Jim Meyering), virDomainGetXMLDesc flag handling,
      device name conversion on stats (Daniel Berrange), double mutex lock
      (Daniel Berrange), config file reading crashes (Guido Guenther),
      xenUnifiedDomainSuspend bug (Marcus Meissner), do not crash if
      /sys/hypervisor/capabilities is missing (Mark McLoughlin),
      virHashRemoveSet bug (Hiroyuki Kaguchi), close-on-exec flag for
      qemud signal pipe (Daniel Berrange), double free in OpenVZ
      (Anton Protopopov), handle mac without addresses (Shigeki Sakamoto),
      MAC addresses checks (Shigeki Sakamoto and Richard Jones),
      allow to read non-seekable files (Jim Meyering)</li>
      <li>Improvements: Windows build (Richard Jones), KVM/QEmu shutdown
      (Guido Guenther), catch virExec output on debug (Mark McLoughlin),
      integration of iptables and lokkit (Mark McLoughlin), keymap
      parameter for VNC servers (Daniel Hokka Zakrisson), enable debug
      by default using VIR_DEBUG (Daniel Berrange), xen 3.2 fixes
      (Daniel Berrange), Python bindings for VCPU and scheduling
      (Daniel Berrange), framework for automatic code syntax checks
      (Jim Meyering), allow kernel+initrd setup in Xen PV (Daniel Berrange),
      allow change of Disk/NIC of an inactive domains (Shigeki Sakamoto),
      virsh commands to manipulate and create storage(Daniel Berrange),
      update use of PolicyKit APIs, better detection of fedault hypervisor,
      block device statistics for QEmu/KVM (Richard Jones), various improvements
      for Xenner (Daniel Berrange)</li>
      <li>Code cleanups: avoid warnings (Daniel Berrange), virRun helper
      function (Dan Berrange), iptable code fixes (Mark McLoughlin),
      static and const cleanups (Jim Meyering), malloc and python cleanups
      (Jim Meyering), xstrtol_ull and xstrtol_ll functions (Daniel Berrange),
      remove no-op networking from OpenVZ (Daniel Berrange), python generator
      cleanups (Daniel Berrange), cleanup ref counting (Daniel Berrange),
      remove uninitialized warnings (Jim Meyering), cleanup configure
      for RHEL4 (Daniel Berrange), CR/LF cleanups (Richard Jones),
      various automatic code check and associated cleanups (Jim Meyering),
      various memory leaks (Jim Meyering), fix compilation when building
      without Xen (Guido Guenther), mark translatables strings (Jim Meyering),
      use virBufferAddLit for constant strings (Jim Meyering), fix
      make distcheck (Jim Meyering), return values for python bindings (Cole
      Robinson), trailing blanks fixes (Jim Meyering), gcc-4.3.0 fixes
      (Mark McLoughlin), use safe read and write routines (Jim Meyering),
      refactoring of code dealing with hypervisor capabilities (Daniel
      Berrange), qemudReportError to use virErrorMsg (Cole Robinson),
      intemediate library and Makefiles for compiling static and coverage
      rule support (Jim Meyering), cleanup of various leaks (Jim Meyering)</li>
    </ul>
    <h3>0.4.0: Dec 18 2007</h3>
    <ul>
      <li>New features: Compilation on Windows cygwin/mingw (Richard Jones),
      Ruby bindings (David Lutterkort), SASL based authentication for
      libvirt remote support (Daniel Berrange), PolicyKit authentication
      (Daniel Berrange)</li>
      <li>Documentation: example files for QEMU and libvirtd configuations
      (Daniel Berrange), english cleanups (Jim Paris), CIM and OpenVZ
      references, document &lt;shareable/&gt;, daemon startup when using
      QEMU/KVM, document HV support for new NUMA calls (Richard Jones),
      various english fixes (Bruce Montague), OCaml docs links (Richard Jones),
      describe the various bindings add Ruby link, Windows support page
      (Richard Jones), authentication documentation updates (Daniel Berrange)
      </li>
      <li>Bug fixes: NUMA topology error handling (Beth Kon), NUMA topology
      cells without CPU (Beth Kon), XML to/from XM bridge config (Daniel
      Berrange), XM processing of vnc parameters (Daniel Berrange), Reset
      migration source after failure (Jim Paris), negative integer in config
      (Tatsuro Enokura), zero terminating string buffer, detect integer
      overflow (Jim Meyering), QEmu command line ending fixes (Daniel Berrange),
      recursion problem in the daemon (Daniel Berrange), HVM domain with CDRom
      (Masayuki Sunou), off by one error in NUMA cpu count (Beth Kon),
      avoid xend errors when adding disks (Masayuki Sunou), compile error
      (Chris Lalancette), transposed fwrite args (Jim Meyering), compile
      without xen and on solaris (Jim Paris), parsing of interface names
      (Richard Jones), overflow for starts on 32bits (Daniel Berrange),
      fix problems in error reporting (Saori Fukuta), wrong call to
      brSetForwardDelay changed to brSetEnableSTP (Richard Jones),
      allow shareable disk in old Xen, fix wrong certificate file (Jim
      Meyering), avoid some startup error when non-root, off-by-1 buffer
      NULL termination (Daniel Berrange), various string allocation fixes
      (Daniel Berrange), avoid problems with vnetXXX interfaces in domain dumps
      (Daniel Berrange), build fixes for RHEL (Daniel Berrange), virsh prompt
      should not depend on uid (Richard Jones), fix scaping of '&lt;' (Richard
      Jones), fix detach-disk on Xen tap devices (Saori Fukuta), CPU
      parameter setting in XM config (Saori Fukuta), credential handling
      fixes (Daniel Berrange), fix compatibility with Xen 3.2.0 (Daniel
      Berrange)
      </li>
      <li>Improvements: /etc/libvirt/qemu.conf configuration for QEMU driver
      (Daniel Berrange), NUMA cpu pinning in config files (DV and Saori Fukuta),
      CDRom media change in KVM/QEMU (Daniel Berrange), tests for
      &lt;shareable/&gt; in configs, pinning inactive domains for Xen 3.0.3
      (Saori Fukuta), use gnulib for portability enhancement (Jim Meyering),
      --without-libvirtd config option (Richard Jones), Python bindings for
      NUMA, add extra utility functions to buffer (Richard Jones),
      separate qparams module for handling query parameters (Richard Jones)
      </li>
      <li>Code cleanups: remove virDomainRestart from API as it was never used
      (Richard Jones), constify params for attach/detach APIs (Daniel Berrange),
      gcc printf attribute checkings (Jim Meyering), refactoring of device
      parsing code and shell escaping (Daniel Berrange), virsh schedinfo
      parameters validation (Masayuki Sunou), Avoid risk of format string abuse
      (Jim Meyering), integer parsing cleanups (Jim Meyering), build out
      of the source tree (Jim Meyering), URI parsing refactoring (Richard
      Jones), failed strdup/malloc handling (Jim Meyering), Make "make
      distcheck" work (Jim Meyering), improve xen internall error reports
      (Richard Jones), cleanup of the daemon remote code (Daniel Berrange),
      rename error VIR_FROM_LINUX to VIR_FROM_STATS_LINUX (Richard Jones),
      don't compile the proxy if without Xen (Richard Jones), fix paths when
      configuring for /usr prefix, improve error reporting code (Jim Meyering),
      detect heap allocation failure (Jim Meyering), disable xen sexpr parsing
      code if Xen is disabled (Daniel Berrange), cleanup of the GetType
      entry point for Xen drivers, move some QEmu path handling to generic
      module (Daniel Berrange), many code cleanups related to the Windows
      port (Richard Jones), disable the proxy if using PolicyKit, readline
      availability detection, test libvirtd's config-processing code (Jim
      Meyering), use a variable name as sizeof argument (Jim Meyering)
      </li>
    </ul>
    <h3>0.3.3: Sep 30 2007</h3>
    <ul>
      <li>New features: Avahi mDNS daemon export (Daniel Berrange),
      NUMA support (Beth Kan) </li>
      <li>Documentation: cleanups (Toth Istvan), typos (Eduardo Pereira), </li>
      <li>Bug fixes: memory corruption on large dumps (Masayuki Sunou), fix
      virsh vncdisplay command exit (Masayuki Sunou), Fix network stats
      TX/RX result (Richard Jones), warning on Xen 3.0.3 (Richard Jones),
      missing buffer check in virDomainXMLDevID (Hugh Brock), avoid zombies
      when using remote (Daniel Berrange), xend connection error message
      (Richard Jones), avoid ssh tty prompt (Daniel Berrange), username
      handling for remote URIs (Fabian Deutsch), fix potential crash
      on multiple input XML tags (Daniel Berrange), Solaris Xen hypercalls
      fixup (Mark Johnson)</li>
      <li>Improvements: OpenVZ support (Shuveb Hussain and Anoop Cyriac),
      CD-Rom reload on XEn (Hugh Brock), PXE boot got QEmu/KVM (Daniel
      Berrange), QEmu socket permissions customization (Daniel Berrange),
      more QEmu support (Richard Jones), better path detection for qemu and
      dnsmasq (Richard Jones), QEmu flags are per-Domain (Daniel Berrange),
      virsh freecell command, Solaris portability fixes (Mark Johnson),
      default bootloader support (Daniel Berrange), new virNodeGetFreeMemory
      API, vncpasswd extraction in configuration files if secure (Mark
      Johnson and Daniel Berrange), Python bindings for block and interface
      statistics</li>
      <li>Code cleanups: virDrvOpenRemoteFlags definition (Richard Jones),
      configure tests and output (Daniel Berrange)</li>
    </ul>
    <h3>0.3.2: Aug 21 2007</h3>
    <ul>
      <li>New features: KVM migration and save/restore (Jim Paris),
      added API for migration (Richard Jones), added APIs for block device and
      interface statistic (Richard Jones).</li>
      <li>Documentation: examples for XML network APIs,
      fix typo and schedinfo synopsis in man page (Atsushi SAKAI),
      hypervisor support page update (Richard Jones).</li>
      <li>Bug fixes: remove a couple of leaks in QEmu/KVM backend(Daniel berrange),
      fix GnuTLS 1.0 compatibility (Richard Jones), --config/-f option
      mistake for libvirtd (Richard Jones), remove leak in QEmu backend
      (Jim Paris), fix some QEmu communication bugs (Jim Paris), UUID
      lookup though proxy fix, setvcpus checking bugs (with Atsushi SAKAI),
      int checking in virsh parameters (with Masayuki Sunou), deny devices
      attach/detach for &lt; Xen 3.0.4 (Masayuki Sunou), XenStore query
      memory leak (Masayuki Sunou), virsh schedinfo cleanup (Saori Fukuta).</li>
      <li>Improvement: virsh new ttyconsole command, networking API implementation
      for test driver (Daniel berrange), qemu/kvm feature reporting of
      ACPI/APIC (David Lutterkort), checking of QEmu architectures (Daniel
      berrange), improve devices XML errors reporting (Masayuki Sunou),
      speedup of domain queries on Xen (Daniel berrange), augment XML dumps
      with interface devices names (Richard Jones), internal API to query
      drivers for features (Richard Jones).
      </li>
      <li>Cleanups: Improve virNodeGetInfo implentation (Daniel berrange),
      general UUID code cleanup (Daniel berrange), fix API generator
      file selection. </li>
    </ul>
    <h3>0.3.1: Jul 24 2007</h3>
    <ul>
      <li>Documentation: index to remote page, script to test certificates,
      IPv6 remote support docs (Daniel Berrange), document
      VIRSH_DEFAULT_CONNECT_URI in virsh man page (David Lutterkort),
      Relax-NG early grammar for the network XML (David Lutterkort)</li>
      <li>Bug fixes: leaks in disk XML parsing (Masayuki Sunou), hypervisor
      alignment call problems on PPC64 (Christian Ehrhardt), dead client
      registration in daemon event loop (Daniel Berrange), double free
      in error handling (Daniel Berrange), close on exec for log file
      descriptors in the daemon (Daniel Berrange), avoid caching problem
      in remote daemon (Daniel Berrange), avoid crash after QEmu domain
      failure (Daniel Berrange)</li>
      <li>Improvements: checks of x509 certificates and keys (Daniel Berrange),
      error reports in the daemon (Daniel Berrange), checking of Ethernet MAC
      addresses in XML configs (Masayuki Sunou), support for a new
      clock switch between UTC and localtime (Daniel Berrange), early
      version of OpenVZ support (Shuveb Hussain), support for input devices
      on PS/2 and USB buses (Daniel Berrange), more tests especially
      the QEmu support (Daniel Berrange), range check in credit scheduler
      (with Saori Fukuta and Atsushi Sakai), add support for listen VNC
      parameter un QEmu and fix command line arg (Daniel Berrange)</li>
      <li>Cleanups: debug tracing (Richard Jones), removal of --with-qemud-pid-file
      (Richard Jones), remove unused virDeviceMode, new util module for
      code shared between drivers (Shuveb Hussain), xen header location
      detection (Richard Jones)</li>
    </ul>
    <h3>0.3.0: Jul 9 2007</h3>
    <ul>
      <li>Secure Remote support (Richard Jones).
      See <a href="http://libvirt.org/remote.html">the remote page</a>
      of the documentation
  </li>
      <li>Documentation: remote support (Richard Jones), description of
      the URI connection strings (Richard Jones), update of virsh man
      page, matrix of libvirt API/hypervisor support with version
      information (Richard Jones)</li>
      <li>Bug fixes: examples Makefile.am generation (Richard Jones),
      SetMem fix (Mark Johnson), URI handling and ordering of
      drivers (Daniel Berrange), fix virsh help without hypervisor (Richard
      Jones), id marshalling fix (Daniel Berrange), fix virConnectGetMaxVcpus
      on remote (Richard Jones), avoid a realloc leak (Jim Meyering), scheduler
      parameters handling for Xen (Richard Jones), various early remote
      bug fixes (Richard Jones), remove virsh leaks of domains references
      (Masayuki Sunou), configCache refill bug (Richard Jones), fix
      XML serialization bugs</li>
      <li>Improvements: QEmu switch to XDR-based protocol (Dan Berrange),
      device attach/detach commands (Masayuki Sunou), OCaml bindings
      (Richard Jones), new entry points virDomainGetConnect and
      virNetworkGetConnect useful for bindings (Richard Jones),
      reunitifaction of remote and qemu daemon under a single libvirtd
      with a config file (Daniel Berrange)</li>
      <li>Cleanups: parsing of connection URIs (Richard Jones), messages
      from virsh (Saori Fukuta), Coverage files (Daniel Berrange),
      Solaris fixes (Mark Johnson), avoid [r]index calls (Richard Jones),
      release information in Xen backend, virsh cpupin command cleanups
      (Masayuki Sunou), xen:/// support as standard Xen URI (Richard Jones and
      Daniel Berrange), improve driver selection/decline mechanism (Richard
      Jones), error reporting on XML dump (Richard Jones), Remove unused
      virDomainKernel structure (Richard Jones), daemon event loop event
      handling (Daniel Berrange), various unifications cleanup in the daemon
      merging (Daniel Berrange), internal file and timer monitoring API
      (Daniel Berrange), remove libsysfs dependancy, call brctl program
      directly (Daniel Berrange), virBuffer functions cleanups (Richard Jones),
      make init script LSB compliant, error handling on lookup functions
      (Richard Jones), remove internal virGetDomainByID (Richard Jones),
      revamp of xen subdrivers interfaces (Richard Jones)</li>
      <li>Localization updates</li>
    </ul>
    <h3>0.2.3: Jun 8 2007</h3>
    <ul>
      <li>Documentation: documentation for upcoming remote access (Richard Jones),
      virConnectNumOfDefinedDomains doc (Jan Michael), virsh help messages
      for dumpxml and net-dumpxml (Chris Wright), </li>
      <li>Bug fixes: RelaxNG schemas regexp fix (Robin Green), RelaxNG arch bug
      (Mark McLoughlin), large buffers bug fixes (Shigeki Sakamoto), error
      on out of memory condition (Shigeki Sakamoto), virshStrdup fix, non-root
      driver when using Xen bug (Richard Jones), use --strict-order when
      running dnsmasq (Daniel Berrange), virbr0 weirdness on restart (Mark
      McLoughlin), keep connection error messages (Richard Jones), increase
      QEmu read buffer on help (Daniel Berrange), rpm dependance on
      dnsmasq (Daniel Berrange), fix XML boot device syntax (Daniel Berrange),
      QEmu memory bug (Daniel Berrange), memory leak fix (Masayuki Sunou),
      fix compiler flags (Richard Jones), remove type ioemu on recent Xen
      HVM for paravirt drivers (Saori Fukuta), uninitialized string bug
      (Masayuki Sunou), allow init even if the daemon is not running,
      XML to config fix (Daniel Berrange)</li>
      <li>Improvements: add a special error class for the test module (Richard
      Jones), virConnectGetCapabilities on proxy (Richard Jones), allow
      network driver to decline usage (Richard Jones), extend error messages
      for upcoming remote access (Richard Jones), on_reboot support for QEmu
      (Daniel Berrange), save daemon output in a log file (Daniel Berrange),
      xenXMDomainDefineXML can override guest config (Hugh Brock),
      add attach-device and detach-device commands to virsh (Masayuki Sunou
      and Mark McLoughlin and Richard Jones), make virGetVersion case
      insensitive and Python bindings (Richard Jones), new scheduler API
      (Atsushi SAKAI), localizations updates, add logging option for virsh
      (Nobuhiro Itou), allow arguments to be passed to bootloader (Hugh Brock),
      increase the test suite (Daniel Berrange and Hugh Brock)</li>
      <li>Cleanups: Remove VIR_DRV_OPEN_QUIET (Richard Jones), disable xm_internal.c
      for Xen &gt; 3.0.3 (Daniel Berrange), unused fields in _virDomain (Richard
      Jones), export __virGetDomain and __virGetNetwork for libvirtd only
      (Richard Jones), ignore old VNC config for HVM on recent Xen (Daniel
      Berrange), various code cleanups, -Werror cleanup (Hugh Brock)</li>
    </ul>
    <h3>0.2.2: Apr 17 2007</h3>
    <ul>
      <li>Documentation: fix errors due to Amaya (with Simon Hernandez),
      virsh uses kB not bytes (Atsushi SAKAI), add command line help to
      qemud (Richard Jones), xenUnifiedRegister docs (Atsushi SAKAI),
      strings typos (Nikolay Sivov), ilocalization probalem raised by
      Thomas Canniot</li>
      <li>Bug fixes: virsh memory values test (Masayuki Sunou), operations without
      libvirt_qemud (Atsushi SAKAI), fix spec file (Florian La Roche, Jeremy
      Katz, Michael Schwendt),
      direct hypervisor call (Atsushi SAKAI), buffer overflow on qemu
      networking command (Daniel Berrange), buffer overflow in quemud (Daniel
      Berrange), virsh vcpupin bug (Masayuki Sunou), host PAE detections
      and strcuctures size (Richard Jones), Xen PAE flag handling (Daniel
      Berrange), bridged config configuration (Daniel Berrange), erroneous
      XEN_V2_OP_SETMAXMEM value (Masayuki Sunou), memory free error (Mark
      McLoughlin), set VIR_CONNECT_RO on read-only connections (S.Sakamoto),
      avoid memory explosion bug (Daniel Berrange), integer overflow
      for qemu CPU time (Daniel Berrange), QEMU binary path check (Daniel
      Berrange)</li>
      <li>Cleanups: remove some global variables (Jim Meyering), printf-style
      functions checks (Jim Meyering), better virsh error messages, increase
      compiler checkings and security (Daniel Berrange), virBufferGrow usage
      and docs, use calloc instead of malloc/memset, replace all sprintf by
      snprintf, avoid configure clobbering user's CTAGS (Jim Meyering),
      signal handler error cleanup (Richard Jones), iptables internal code
      claenup (Mark McLoughlin), unified Xen driver (Richard Jones),
      cleanup XPath libxml2 calls, IPTables rules tightening (Daniel
      Berrange), </li>
      <li>Improvements: more regression tests on XML (Daniel Berrange), Python
      bindings now generate exception in error cases (Richard Jones),
      Python bindings for vir*GetAutoStart (Daniel Berrange),
      handling of CD-Rom device without device name (Nobuhiro Itou),
      fix hypervisor call to work with Xen 3.0.5 (Daniel Berrange),
      DomainGetOSType for inactive domains (Daniel Berrange), multiple boot
      devices for HVM (Daniel Berrange),
      </li>
    </ul>
    <h3>0.2.1: Mar 16 2007</h3>
    <ul>
      <li>Various internal cleanups (Richard Jones,Daniel Berrange,Mark McLoughlin)</li>
      <li>Bug fixes: libvirt_qemud daemon path (Daniel Berrange), libvirt
      config directory (Daniel Berrange and Mark McLoughlin), memory leak
      in qemud (Mark), various fixes on network support (Mark), avoid Xen
      domain zombies on device hotplug errors (Daniel Berrange), various
      fixes on qemud (Mark), args parsing (Richard Jones), virsh -t argument
      (Saori Fukuta), avoid virsh crash on TAB key (Daniel Berrange), detect
      xend operation failures (Kazuki Mizushima), don't listen on null socket
      (Rich Jones), read-only socket cleanup (Rich Jones), use of vnc port 5900
      (Nobuhiro Itou), assorted networking fixes (Daniel Berrange), shutoff and
      shutdown mismatches (Kazuki Mizushima), unlimited memory handling
      (Atsushi SAKAI), python binding fixes (Tatsuro Enokura)</li>
      <li>Build and portability fixes: IA64 fixes (Atsushi SAKAI), dependancies
      and build (Daniel Berrange), fix xend port detection (Daniel
      Berrange), icompile time warnings (Mark), avoid const related
      compiler warnings (Daniel Berrange), automated builds (Daniel
      Berrange), pointer/int mismatch (Richard Jones), configure time
      selection of drivers, libvirt spec hacking (Daniel Berrange)</li>
      <li>Add support for network autostart and init scripts (Mark McLoughlin)</li>
      <li>New API virConnectGetCapabilities() to detect the virtualization
    capabilities of a host (Richard Jones)</li>
      <li>Minor improvements: qemud signal handling (Mark), don't shutdown or reboot
    domain0 (Kazuki Mizushima), QEmu version autodetection (Daniel Berrange),
    network UUIDs (Mark), speed up UUID domain lookups (Tatsuro Enokura and
    Daniel Berrange), support for paused QEmu CPU (Daniel Berrange), keymap
    VNC attribute support (Takahashi Tomohiro and Daniel Berrange), maximum
    number of virtual CPU (Masayuki Sunou), virtsh --readonly option (Rich
    Jones), python bindings for new functions (Daniel Berrange)</li>
      <li>Documentation updates especially on the XML formats</li>
    </ul>
    <h3>0.2.0: Feb 14 2007</h3>
    <ul>
      <li>Various internal cleanups (Mark McLoughlin, Richard Jones,
      Daniel Berrange, Karel Zak)</li>
      <li>Bug fixes: avoid a crash in connect (Daniel Berrange), virsh args
      parsing (Richard Jones)</li>
      <li>Add support for QEmu and KVM virtualization (Daniel Berrange)</li>
      <li>Add support for network configuration (Mark McLoughlin)</li>
      <li>Minor improvements: regression testing (Daniel Berrange),
      localization string updates</li>
    </ul>
    <h3>0.1.11: Jan 22 2007</h3>
    <ul>
      <li>Finish XML &lt;-&gt; XM config files support</li>
      <li>Remove memory leak when freeing virConf objects</li>
      <li>Finishing inactive domain support (Daniel Berrange)</li>
      <li>Added a Relax-NG schemas to check XML instances</li>
    </ul>
    <h3>0.1.10: Dec 20 2006</h3>
    <ul>
      <li>more localizations</li>
      <li>bug fixes: VCPU info breakages on xen 3.0.3, xenDaemonListDomains buffer overflow (Daniel Berrange), reference count bug when creating Xen domains (Daniel Berrange).</li>
      <li>improvements: support graphic framebuffer for Xen paravirt (Daniel Berrange), VNC listen IP range support (Daniel Berrange), support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange).</li>
    </ul>
    <h3>0.1.9: Nov 29 2006</h3>
    <ul>
      <li>python bindings: release interpeter lock when calling C (Daniel Berrange)</li>
      <li>don't raise HTTP error when looking information for a domain</li>
      <li>some refactoring to use the driver for all entry points</li>
      <li>better error reporting (Daniel Berrange)</li>
      <li>fix OS reporting when running as non-root</li>
      <li>provide XML parsing errors</li>
      <li>extension of the test framework (Daniel Berrange)</li>
      <li>fix the reconnect regression test</li>
      <li>python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect</li>
      <li>separate the notion of maximum memory and current use at the XML level</li>
      <li>Fix a memory leak (Daniel Berrange)</li>
      <li>add support for shareable drives</li>
      <li>add support for non-bridge style networking configs for guests(Daniel Berrange)</li>
      <li>python bindings: fix unsigned long marshalling (Daniel Berrange)</li>
      <li>new config APIs virConfNew() and virConfSetValue() to build configs from scratch</li>
      <li>hot plug device support based on Michel Ponceau patch</li>
      <li>added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)</li>
      <li>special device model for HVM guests (Daniel Berrange)</li>
      <li>add API to dump core of domains (but requires a patched xend)</li>
      <li>pygrub bootloader information take over &lt;os&gt; information</li>
      <li>updated the localization strings</li>
    </ul>
    <h3>0.1.8: Oct 16 2006</h3>
    <ul>
      <li> Bug for system with page size != 4k</li>
      <li> vcpu number initialization (Philippe Berthault)</li>
      <li> don't label crashed domains as shut off (Peter Vetere)</li>
      <li> fix virsh man page (Noriko Mizumoto)</li>
      <li> blktapdd support for alternate drivers like blktap (Daniel Berrange)</li>
      <li> memory leak fixes (xend interface and XML parsing) (Daniel Berrange)</li>
      <li> compile fix</li>
      <li> mlock/munlock size fixes (Daniel Berrange)</li>
      <li> improve error reporting</li>
    </ul>
    <h3>0.1.7: Sep 29 2006</h3>
    <ul>
      <li> fix a memory bug on getting vcpu information from xend (Daniel Berrange)</li>
      <li> fix another problem in the hypercalls change in Xen changeset
       86d26e6ec89b when getting domain information (Daniel Berrange)</li>
    </ul>
    <h3>0.1.6: Sep 22 2006</h3>
    <ul>
      <li>Support for localization of strings using gettext (Daniel Berrange)</li>
      <li>Support for new Xen-3.0.3 cdrom and disk configuration (Daniel Berrange)</li>
      <li>Support for setting VNC port when creating domains with new
      xend config files (Daniel Berrange) </li>
      <li>Fix bug when running against xen-3.0.2 hypercalls (Jim Fehlig)</li>
      <li>Fix reconnection problem when talking directly to http xend</li>
    </ul>
    <h3>0.1.5: Sep 5 2006</h3>
    <ul>
      <li>Support for new hypercalls change in Xen changeset 86d26e6ec89b</li>
      <li>bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi
      (Daniel Berrange), virsh on non-existent domains (Daniel Berrange),
      string cast bug when handling error in python (Pete Vetere), HTTP
      500 xend error code handling (Pete Vetere and Daniel Berrange)</li>
      <li>improvements: test suite for SEXPR &lt;-&gt; XML format conversions (Daniel
      Berrange), virsh output regression suite (Daniel Berrange), new environ
      variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting
      (Daniel Berrange), graphical console support for paravirt guests
      (Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange),
      early work on defined (not running) domains (Daniel Berrange),
      virsh output improvement (Daniel Berrange</li>
    </ul>
    <h3>0.1.4: Aug 16 2006</h3>
    <ul>
      <li>bug fixes: spec file fix (Mark McLoughlin), error report problem (with
    Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
    generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
    function (Mark McLoughlin), fix python detection code, remove duplicate
    initialization errors (Daniel Berrange)</li>
      <li>improvements: UUID in XML description (Peter Vetere), proxy code
    cleanup, virtual CPU and affinity support + virsh support (Michel
    Ponceau, Philippe Berthault, Daniel Berrange), port and tty information
    for console in XML (Daniel Berrange), added XML dump to driver and proxy
    support (Daniel Berrange), extention of boot options with support for
    floppy and cdrom (Daniel Berrange), features block in XML to report/ask
    PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
    operations when using read-only connection, large improvements to test
    driver (Daniel Berrange) </li>
      <li>documentation: spelling (Daniel Berrange), test driver examples.</li>
    </ul>
    <h3>0.1.3: Jul 11 2006</h3>
    <ul>
      <li>bugfixes: build as non-root, fix xend access when root, handling of
    empty XML elements (Mark McLoughlin), XML serialization and parsing fixes
    (Mark McLoughlin), allow to create domains without disk (Mark
  McLoughlin),</li>
      <li>improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),
    support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)</li>
      <li>documentation: augmented to cover hvm domains</li>
    </ul>
    <h3>0.1.2: Jul 3 2006</h3>
    <ul>
      <li>headers include paths fixup</li>
      <li>proxy mechanism for unprivileged read-only access by httpu</li>
    </ul>
    <h3>0.1.1: Jun 21 2006</h3>
    <ul>
      <li>building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P.
    Berrange)</li>
      <li>driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P.
    Berrange)</li>
      <li>Cope with API change introduced in Xen changeset 10277</li>
      <li>new test driver for regression checks (Daniel P. Berrange)</li>
      <li>improvements: added UUID to XML serialization, buffer usage (Karel
    Zak), --connect argument to virsh (Daniel P. Berrange),</li>
      <li>bug fixes: uninitialized memory access in error reporting, S-Expr
    parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in
    xs_internal.c</li>
      <li>documentation: Python examples (David Lutterkort), new Perl binding
    URL, man page update (Karel Zak)</li>
    </ul>
    <h3>0.1.0: Apr 10 2006</h3>
    <ul>
      <li>building fixes: --with-xen-distdir option (Ronald Aigner), out of tree
    build and pkginfo cflag fix (Daniel Berrange)</li>
      <li>enhancement and fixes of the XML description format (David Lutterkort
    and Jim Fehlig)</li>
      <li>new APIs: for Node information and Reboot</li>
      <li>internal code cleanup: refactoring internals into a driver model, more
    error handling, structure sharing, thread safety and ref counting</li>
      <li>bug fixes: error message (Jim Meyering), error allocation in virsh (Jim
    Meyering), virDomainLookupByID (Jim Fehlig),</li>
      <li>documentation: updates on architecture, and format, typo fix (Jim
    Meyering)</li>
      <li>bindings: exception handling in examples (Jim Meyering), perl ones out
    of tree (Daniel Berrange)</li>
      <li>virsh: more options, create, nodeinfo (Karel Zak), renaming of some
    options (Karel Zak), use stderr only for errors (Karel Zak), man page
    (Andrew Puch)</li>
    </ul>
    <h3>0.0.6: Feb 28 2006</h3>
    <ul>
      <li>add UUID lookup and extract API</li>
      <li>add error handling APIs both synchronous and asynchronous</li>
      <li>added minimal hook for error handling at the python level, improved the
    python bindings</li>
      <li>augment the documentation and tests to cover error handling</li>
    </ul>
    <h3>0.0.5: Feb 23 2006</h3>
    <ul>
      <li>Added XML description parsing, dependance to libxml2, implemented the
    creation API virDomainCreateLinux()</li>
      <li>new APIs to lookup and name domain by UUID</li>
      <li>fixed the XML dump when using the Xend access</li>
      <li>Fixed a few more problem related to the name change</li>
      <li>Adding regression tests in python and examples in C</li>
      <li>web site improvement, extended the documentation to cover the XML
    format and Python API</li>
      <li>Added devhelp help for Gnome/Gtk programmers</li>
    </ul>
    <h3>0.0.4: Feb 10 2006</h3>
    <ul>
      <li>Fix various bugs introduced in the name change</li>
    </ul>
    <h3>0.0.3: Feb 9 2006</h3>
    <ul>
      <li>Switch name from 'libvir' to libvirt</li>
      <li>Starting infrastructure to add code examples</li>
      <li>Update of python bindings for completeness</li>
    </ul>
    <h3>0.0.2: Jan 29 2006</h3>
    <ul>
      <li>Update of the documentation, web site redesign (Diana Fong)</li>
      <li>integration of HTTP xend RPC based on libxend by Anthony Liquori for
    most operations</li>
      <li>Adding Save and Restore APIs</li>
      <li>extended the virsh command line tool (Karel Zak)</li>
      <li>remove xenstore transactions (Anthony Liguori)</li>
      <li>fix the Python bindings bug when domain and connections where freed</li>
    </ul>
    <h3>0.0.1: Dec 19 2005</h3>
    <ul>
      <li>First release</li>
      <li>Basic management of existing Xen domains</li>
      <li>Minimal autogenerated Python bindings</li>
    </ul>
  </body>
</html>