File: CHANGELOG

package info (click to toggle)
pcp 4.3.2+really4.3.1-0.1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 175,188 kB
  • sloc: ansic: 261,305; sh: 123,606; xml: 107,279; cpp: 72,127; perl: 18,283; python: 15,453; yacc: 8,249; lex: 2,585; makefile: 1,957; fortran: 60; java: 52
file content (3965 lines) | stat: -rw-r--r-- 216,922 bytes parent folder | download
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
pcp-4.3.1 (26 February 2019)
    - Client tools and utilities:
	pcp-dstat: improve --time option handling with no other arguments
	pcp-dstat: handle complete instance removal with --full mode
	pcp-atop: update to v2.4.0 atoptool.nl sources
        . reporting pressure stall information
        . reporting infiniband statistics
        . reporting perf_event statistics
        . reporting nvidia GPU stats 
	pmseries: error handling improvements when parsing fails
	pmseries: ensure commas separate labels in metadata reporting
	pmseries: improve user friendliness of option handling
	pmseries: shell completions added
	pmseries: install a pmseries.conf
	pmseries: globbing support on global name lookups too
	pmrep: add support for sorting -X output by values
	pmrep: fix a dynamic header corner case with missing values
	pmlogger: add systemd timers as cron alternative
	pmie: add systemd timers as cron alternative
	pmie: re-implement #'instancename' indom lookup
	pmie: fix for segv and bad sum_inst() use
	pmview: fix a missing timeout slot connection
	pmview: add in the step() signal/slot connections
    - PMDA additions, enhancements and bug fixes:
	linux: add support for pressure-stall information metrics
	openbsd: remove remaining /dev/kmem reading
	openbsd: fixes for 32 bit kernels
	openbsd: add kernel.all.uptime
	openbsd: fix cpu time metrics - SMP and CP_SPIN support
	netbsd: fixes for 32 bit kernels
	netbsd: add kernel.all.uptime
	bcc: handle gone processes in ustat module
	bcc: adjust biolatency module tracepoints
	dm: new VDO device metrics
	dm: fix mishandling of missing VDO kernel stats
	nvidia: add support for per-process nvidia metrics
	pmproxy: extend MMV to support new pmproxy metrics
    - Server-side utilities and log management scripts:
	pmcd: allow use of an optional pmcd.conf.access file
	rc_pmcd: optional PMDA ./Upgrade to resolve upgrade issues
	pmproxy: fix shutdown issues in --timeseries mode
	pmlogger_check: make pmlogconf check optional
	pmlogconf: add per-CPU interrupts metrics to the zeroconf set
	pmlogconf: additional /proc/vmstat metrics to default set
	pmwebd: tweak y-axis labels in png output
	pmwebd: fix an open file descriptor leak
    - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings
	libpcp: fix compilation for --with-threads=no configure
	libpcp: exclude indom instances level labels in result from pmLookupLabels
	libpcp: the big libpcp lock is no longer recursive
	libpcp: refactor registered.mutex use
	libpcp_web: add .ini configuration file parsing
	python pmapi: add __str__ handler for class pmLabelSet
	python api: Rename pmconfig.py helper function - get_sorted_results()
    - Misc build, infrastructure and packaging updates:
	python: fix Python installations flags for DIST_ROOT=
	Revert "pmlogger_daily: use whole day granularity for PCP_COMPRESSAFTER"
	Wider use of automated builds through Vagrant for QA and releases
	build: add -I paths for cppcheck, fix travis-ci checking
	build: add conditional BuildRequires libuv-devel in fedora.spec`
	travis-ci: tweak service timeouts
	pmns: don't package .NeedRebuild for SUSE distros
	pmns/Rebuild: add warning (with -v) for skipped root_foo file
	Qt: correctly insert compiler flags, release vs debug build fixups
	configure, Makepkgs, et al: move Qt version detection into configure
    - Security Enhanced Linux:
	Update shm,sem permissions for userdomains
	Reduce size of policy package (now that we have overarching rules)
    - Documentation and QA infrastructure:
	qa/admin/check-vm: refactoring and customization for all platforms
	qa/common.check: improvements for pmlogger and pmie tests
	build: add fedora/rhel testsuite dep on redhat-rpm-config
	docs: update pmLookupLabels(3) and pmseries(1)
	qa: pervasive NetBSD, OpenBSD and OpenIndiana changes

pcp-4.3.0 (21 December 2018)
    - Client tools and utilities:
	- Add pmseries(1) for fast, scalable time series querying (experimental)
	- pmrep, pcp2xxx: add support for the --names-change option
	- pmrep, pcp2xxx: support for the --ignore-unknown metrics option
	- Implement the dstat --full option to expand instances
	- Add an 'entropy' dstat plugin configuration file
	- pcp2elasticsearch: support for es_search_type config flag
	- pcp2elasticsearch: reduce logging in server down scenarios
	- pcp-atop: fix an incorrect use of varargs vfprintf interface
	- pmlogextract: numerous scalability improvements
	- pmchart: fix sigsegv on non-existant archive via command line
    - PMDA additions, enhancements and bug fixes:
	- FreeBSD: add kernel.all.uptime, mem.freemem metrics
	- FreeBSD: fix 32 vs 64 bit types on memory and CPU metrics
	- FreeBSD: fix units on some disk (bytes) metrics
	- FreeBSD: fix CPU count logic error affecting per-CPU metrics
	- perfevent: add hv_24x7 perf events
	- perfevent: add support for raw perf events
	- pmdapostgresql: add optional 'osuser' to configuration
    - Log rotation, management scripts, compression and server-side utilities:
	- zeroconf: change logging frequency for proc metrics to 30 seconds
	- rc scripts: improve systemd interaction for local pmie
	- pmlogger_daily: whole day granularity for PCP_COMPRESSAFTER config
	- pmlogger_check: resolve a 'cat: broken pipe' warning message
	- pmlogrewrite config files for FreeBSD metadata changes
	- pmproxy: auto-loading of historical timeseries from discovery
	- pmproxy: add --timeseries option to switch libpcp/uv versions
	- pmwebd: tolerate live archives with multi-hour-old volumes
    - Misc build, infrastructure and packaging updates:
	- Fixed RHEL-5 build packaging for nfsclient and lmsensors PMDAs
	- Enable dstat -> pcp-dstat binary symlink on more platforms now
	- Drop the elasticsearch python[23]-urllib3 spec file dependency
	- Changes for Mac OS X HomeBrew build and packaging
	- Support for Mac OS X Mojave latest release
    - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings
	- libpcp: instance filtering for derived metrics
	- libpcp: add scalar() for derived metrics
	- libpcp: fix process existence checks on FreeBSD
	- libpcp: be more defensive in pmMergeLabelSets
	- libpcp: add an integrity check in __pmMergeLabelSets
	- python pmapi: fix a crash in labels wrapper functions
	- python pmapi: fix a crash in fetchgroup clearing function
	- python pmapi: rework labels lookup, merge and free functions
	- python pmconfig: fix logic error in get_sorted_results function
	- python logimport: fix wrong variable usage in pmiPutLabel
    - Security Enhanced Linux:
	- Generic policy rules to allow pcp_pmcd process to read system objects
	- Fix the build on older selinux versions (RHEL6 era)
    - Documentation and QA infrastructure:
	- logimport(3): new pmiPutLabel(3) API function for adding labels
	- docs: improve formatting for Vector containers screenshot
	- docs: tweaks for pcp-dstat.1 to use same conventions as pmrep.1
	- docs: correct typo in INSTALL notes for MacOSX
	- docs: fix formatting in mmv(5) labels section, add more detail
	- docs: add python synopsis and examples in pmMergeLabels(3)
	- docs: add python synopsis in pmLookupLabels(3)
	- qa/README.vm: instructions for setting up VMs for QA
	- qa: add kernel group for base OS PMDA testing
	- qa: add sample.controller.mirage to sample PMDA
	- qa: numerous Vagrantfile updates and improvements
	- qa: add helper tool for reporting internal/external sha IDs
	- qa/admin/check-vm: Mac OS X changes
	- qa/admin/check-vm et al: refactor for Vagrant

pcp-4.2.0 (16 November 2018)
    - Client tools and utilities:
	- pcp-dstat: fix cursor offsetting in unusual terminal states
	- pcp-dstat: additional exception handling for I/O error on exit
	- pcp-iostat: remove variable named 'await', now a keyword
	- pmchart: ensure only one system activities menu item is presented
	- pmchart: fix incorrect use of std::vector::resize() for single stepping
	- pmie: fix small error in expression tree binding
	- pmie: fix instance info propogation when metrics become available
	- pmie: fix rare corner case logic errors
	- pmrep, pcp2{json,xml}: properly handle broken pipe
    - PMDA additions, enhancements and bug fixes:
	- pmdapodman (new): export podman container and pod state and statistics
	- pmdaroot, pmdaproc: add support for 'podman' containers
	- pmdapostgresql: fix regression in config parser
	- pmdapostgresql: add port number to config options
	- pmdapostgresql: tone down the missing table and column warnings
	- pmdabcc: add ucalls/ustat Tcl support
	- pmdalmsensors: re-implement in python, update
	- pmdadocker: fix a missed lock release issue coverity reported
	- pmdaelasticsearch: Change perl implementation to python
	- pmdaelasticsearch: enable user selection from conf file
	- pmdanetbsd: add hinv.machine
	- pmdaopenbsd: fixups for OpenBSD 6.4
	- pmdasample: add sample.ghosts.* metrics
    - Log rotation, management scripts, compression and server-side utilities:
	- pmlogger_daily: change workflow to cull early and reliably compress
	- pmcd_wait: default to using unix domain sockets if supported
	- pmlogrewrite: Bug: Too many labelsets deleted.
	- pmlogrewrite: Allow instance names to be used to specify instances labels.
	- pmlogrewrite: Remove support for "ALL" as a text record type.
	- pmlogrewrite: escape characters in the content string for text records.
	- pmlogrewrite: Help Text: Support filtering by content.
	- pmlogrewrite: Help Text: Additional text type allowed.
	- pmlogrewrite: fix error handling when duplicate output files found
    - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings
	- pmdaproc.sh: change a few warnings to use $prog instead of Install
	- libpcp: fix buffer length error in pmAtomStr_r(3)
	- python api: propagate pmFetch(3) result for fetchgroup users
    - Security Enhanced Linux:
	- selinux: update container policy for pmdaroot/podman
	- selinux: fix bpf related build issue
	- selinux: RHBZ1626487 unix_read on gpsd_t:shm
	- selinux: RHBZ1633211 bpf class & inheritence issues
	- selinux: RHBZ1634205 add pmlogger/cache_home context dir:search
        - selinux: RHBZ1635394 fix configure glue to trigger existing rule inclusion
        - selinux: RHBZ1535522 add pmcd/cache_home context dir:search
    - Misc build, infrastructure and packaging updates:
	- build: Fix FreeBSD Qt builds
	- build: fix a number of Debian packaging issues
	- build: pcp-gui debian packaging made to be conditional
	- build: rpm spec and manifest updates for pmdadm dmstats
	- build: deprecate pcp-collector and pcp-monitor RPM packages
	- build: add option for python bcc packages from iovisor repos
	- build: add --check option to Makepkgs script for static checks
	- build: corrections to dstat package replacement in rpm spec
    - Documentation and QA infrastructure:
	- docs: pcp2spark doc and example code tweaks
	- docs: update pmdadm(1) man page
	- docs: update LOGIMPORT(3) man page to mention python wrapper
	- docs: dbpmda(1) - correct default for -q ... it is 3 not 5
	- docs: updates the containers tutorial for 'podman'

pcp-4.1.3 (21 September 2018)
    - Client tools and utilities:
	- pcp-dstat: add CSV output support for pcp-dstat
	- pcp-dstat: improved handling of no-values-available scenarios
	- docs: add an example of remote host monitoring in pcp-dstat(1)
	- pmlogrewrite: Initial support for creating new label records.
	- pmlogrewrite: Operate on labels for individual instances and labels.
	- pmlogrewrite: Support changing label names and values.
	- pmrep: enable proc net metricset in default pmrep.conf
	- pmrep: properly omit unit info with separate header when requested
	- pmrep: add compact "top-3 cpu users" example in pmrep.1
	- pcp2zabbix: read zabbix_port from conf file properly
	- docs Improve pcp2spark man page, add readme and examples
	- pcp2spark: add bash/zsh completions
    - PMDA additions, enhancements and bug fixes:
        - provide trivial-pmda perl and python versions as well
	- pmdakvm: fix checks for running without perf_event support
	- pmdaperfevent: return correct CPU numbers in lower SMT levels
	- pmdapostgresql: support postgresql v10, implement reconnection
	- pmdapostgresql: completely reimplemented in python
	- pmdapostgresql: intialize pmdaCache files to be group writeable
	- docs: update pmdapostgresql(1) man page
	- pmdaredis: handle Redis v5 memory stats changes
	- pmdabcc: add support for dynamic process filtering
	- pmdabcc: tcpretrans: use TGID not kernel PID as user-space PID
	- pmdabcc: add module to trace per-proc per-syscall stats
	- pmdabcc: add ucalls module for tracing app method calls
	- pmdabcc: use module name as cluster label
	- pmdabcc: return error from store callback by default
	- pmdabcc: add detailed per-pid per-syscall support for syscount
	- pmdabcc: add high-resolution pid tracking alternative to tcpperpid
	- pmdabcc: add latency support for syscount module
	- pmdabcc: add process filtering support for fs dist modules
	- pmdabcc: try to use BPF to capture parent PID in execsnoop
	- pmdabcc: allow modules to bypass pmdaCache
	- pmdabcc: update TCP modules for dynamic process filtering
	- pmdabcc: add cachestat module
	- pmdabcc: use two-step cache invalidation in bioperpid
	- pmdabcc: support call latency reporting in ucalls module
	- pmdabcc: exit poller thread if BPF is cleaned up
	- pmdabcc: omit residual IO attributed to PID 0 by default
	- pmdabcc: rework tcpperpid caching to report total transfer stats
	- pmdabcc: add ustat module based on BCC ustat
	- docs: minor pmdabcc.1 man page and bcc.conf updates
	- pmdaprometheus: fix exception in store callback
	- pmdaprometheus: instance labels were incorrectly returned as metric labels
    - Log rotation, management scripts, compression and server-side utilities:
	- pmlogger_check: run periodic compression when exiting early
	- pmlogger_rewrite: cleanup temporary /var/tmp/<pid>.ok files
	- daily/check scripts: consistently set log file ownership
    - libpcp, libpcp_pmda, libpcp_mmv, libpcp_web and language bindings
	- add new default derived metrics for processes 'hogging' cpu/mem/disk
	- use rescale() in iostat derived metrics for disk.dev.*_bytes units
	  differences across platforms
	- further improvements to large indom handling performance
	- conversion to asynchronous I/O for scalable time-series
	- python PMDA API: python bindings for pmid_build() and indom_build()
	- add checking of label names and values in libpcp_mmv
	- improve libpcp_mmv memory allocation for labels, add QA
    - Security Enhanced Linux:
	- added several new rules and QA
	- resolved AVCs in pmproxy and pmie
	- updates for postgresql AVC denials
    - Misc build, infrastructure and packaging updates:
	- drop $pmda_interface on Install
	- pmdaproc.sh: remove pmda_interface references throughout
	- pmns/Rebuild: conditionally omit some root_foo PMNS files
	- add an appropriate libuv version check to configure
	- 'make check' support with cppcheck and pylint
	- disable python2 for fedora30 onward
	- fix warnings identified by coverity, and compilation warnings
	- correct the SLURM package descriptions
	- make perl-LDAP a soft dependency on some platforms
	- spec file fixes for nfsclient and postgresql PMDAs
	- install-sh fix for *BSD strangeness
	- configure.ac checking for pcp2influxdb packaging
	- do not attempt symlink creation on Windows
	- windows: fix a pmcd crash, a client-side issue and update services
	- scripts: create tmpfiles below PCP_DIR for windows
	- docs: additional detail on Windows build instructions
    - Web applications
	- new versions of Vector and BlinkenLights webapps 

pcp-4.1.2 (4 August 2018)
    - Debian-specific-build release

pcp-4.1.1 (3 August 2018)
    - Log rotation, management scripts, compression and server-side utilities:
	- pmlogconf: add some GFS2 metrics for automated pmlogconf setups
	- pmlogger: output write re-ordering to aid log tailing
	- pmlogger_daily: add -R (and .NeedRewrite) support
	- pmlogrewrite: initial support for rewriting label records
	- pmcd: fix subtle bug in agent shutdown code (affecting pmdabcc)
    - Client tools and utilities:
	- pcp2spark: export PCP metrics to Apache Spark
	- pcp2influxdb: fix mishandling of zero-valued metrics
	- pcp-dstat: support for PCP archive replay
	- pcp-dstat: use context to get hostname for terminal title
	- pcp-dstat: use more python-version portable set comprehensions
	- pcp-dstat: recreate the original --version output using PCP metrics
	- pcp-dstat: fixes to the disk plugin configurations
	- pcp-pidstat: add direct support for the timezone options
	- mmvdump: support for the version 3 format (metric labels)
	- dbpmda: various Windows-driven changes
	- pmcpp: Windows fix for \r in the input text
    - PMDA additions, enhancements and bug fixes:
	- pmdaproc: tweak proc.memory.maps to return empty string for kernel workers
	- pmdakvm: new, configurable, perf_event-based kvm.trace metrics
	- pmdakvm: switch from perl to C implementation, enable by default
	- pmdammv: support for exporting metric labels (v3 format)
	- pmdaproc: rework code to handle much larger /proc/pid/stat files
	- pmdaproc: improve proc.psinfo.environ for processes with no environment
	- pmdabcc: profile module
	- pmdabcc: compat wrapper for get_kprobe_functions
	- pmdabcc tcptop: log current number of connections
	- pmdabcc: add pmStore support
	- pmdabcc: add exectop module
	- pmdabcc: use newer kprobe with ext4dist if available
	- pmdabcc: tcpretrans module added
	- pmdabcc: biotop tool - fetches block device I/O activity and sorts it
	- pmdabcc: rename biotop to bioperpid
	- pmdabcc: restore old tcplife module as tcpperpid
	- pmdawindows: process.thread.process_id metric removed (since Windows10)
	- pmdagfs2: additional Glock and Glock Holder metrics
    - libpcp, libpcp_pmda, libpcp_web and other libraries
	- libpcp_mmv: new APIs, registry-based setup, labels support
	- python pmdas: improve scaling; release GIL while waiting for new PDUs
	- pmconfig.py: handle predicate metrics being filtered out
	- libpcp: fork+exec and pipe+fork+exec changes for Windows
	- libpcp_web: initial cluster support to Redis commands
	- derived metrics: avoid divide by zero exceptions in iostat.conf
    - Security Enhanced Linux:
	- selinux: add gpsd context rules allowing shm access via associate, getattr
	- selinux: add init_t shm rule for accessing via unix_read
	- selinux: policy improvements for the GFS2 PMDA
	- selinux: policy improvements for the Redis PMDA
    - Misc build, infrastructure and packaging updates:
	- build: many changes for the Windows platform, towards a new installer
	- build: changes to support completely reproducible builds
	- build: series of changes to support MacOSX brew package builds
	- build: do not assume gcc is used for building Qt binaries
    - Documentation and QA infrastructure:
	- docs: pmrep and pcp2xxx container option man page correction
	- docs: updates to the pcp-dstat(1) man page for archives
	- docs: updates to the MacOSX build and install instructions
	- docs: updates to the Windows build and install instructions

pcp-4.1.0 (15 June 2018)
    - Log rotation, management scripts, compression and utilities:
	- pmlogger_daily_report: use unambiguous time window arguments
	- pmlogger_check: pass command line options to pmlogger_daily
	- pmlogger_daily: make SaveLogs name match /var/log/pcp/pmlogger name
	- pmlogger_daily: compress .meta files
	- pmlogger_daily: send -V diags to stderr
	- pmlogger_check & pmnewlog: add optional SaveLogs support
	- pmlogger_check: clear any zero-length pmlogger configs
	- pmlogger_merge: fix corner cases, esp for compressed archives
	- pmnewlog: honour any /etc/sysconfig/pmlogger settings
	- pmdumplog: changes to handle compressed archives
	- pmlogrewrite: support reassociation with other metric or indom
	- pmlogrewrite: support changing and deleting text records.
	- pmlogrewrite: add -S (check and status) option
	- pmlogrewrite: Allow newline in updated help text.
	- pmlogger: fix for trashed temporal index after infant mortality
	- pmmgr: handle compressed .meta and/or .index files in cleanup stanzas
	- pmafm: teach mkaf and pmafm about compressed archives
	- pmlogcheck: extend unexpected EOF diagnostic message
    - pcp-dstat - (new) reimplementation of dstat(1) using PCP APIs:
	- zsh completion: dstat help output tweak to aid zsh completion
	- pcp-dstat: add interrupts and several other new conf files
	- pcp-dstat: improvements to dynamic instance handling
	- pcp-dstat: initial QA, python2 compat fixups, enable in build
	- pcp-dstat: update to use updated pmconfig interface name
	- pcp-dstat: improved config labels and metrics with instances
	- pcp-dstat: add fs freespace and redis plugins, update TODO
	- pcp-dstat: add utmp plugin config, now the kernel metrics exist
	- pcp-dstat: initial version of dstat using PMAPI services
    - Client tools and utilities:
	- pmrep: add config entries for emulated collectl reports
	- pmrep: ensure output column ordering consistency
	- pcp.sh: provide alternative if realpath(1) not available
	- pcp.sh: use full path to pmgetopt in case PATH not set (Mac)
	- pcp.sh: add a handy developer mode to the pcp(1) frontend
	- pmval: plug small memleaks
	- pmnsutil: small code cleanup for static code checkers
	- pmcpp: ensure va_end is called for static code checkers
	- pmie: ensure we do not use an uninitialised path variable
	- pmie: handle -l- correctly for logging to stderr
	- pmprobe: support batching for name lookups and fetching
	- pmprobe: add bash and zsh completions for -b
	- pcp2xlsx: add missing test chunk, use correct out file
	- pcp2xlsx: switch from using xlsxwriter to openpyxl
    - libpcp and libpcp_pmda:
	- libpcp: logutil.c, check for botched temporal index
	- pmParseTimeWindow(): fix double-free error
	- libpcp_pmda: clean namespace, attribute and flags interfaces
	- pmda.py: support for logfile and helptext file in PMDA __init__
	- libpcp: pmOpenLog() support logging to existing stream
	- libpcp: fix handling of labels with an empty string value
	- libpcp: labels.c, handle different domainname() result
	- libpcp_pmda: mainloop.c, add debug diags in __pmdaMainPDU()
    - libpcp_web:
	- libpcp_web: add pmDiscover API for asynchronous PCP data export
	- libpcp_web: integrate libuv and async event handling
	- libpcp_web: simplify error handling using a common helper
	- libpcp_web: properly set redis blocking/non-blocking
	- libpcp_web: first steps towards Redis cluster support
	- pmseries: properly implement the redisMap mapping type
	- pmseries: initial support for cluster node map extraction
	- pmseries: small cleanups on early cluster code review
    - Security Enhanced Linux:
	- selinux: update comments, additional script robustness changes
	- selinux: abstract spec file bits into an installed script
    - PMDA additions, enhancements and bug fixes:
	- pmdadm: fix segfault and memleak in dmstats
	- pmdalinux: add aggregate interrupt and softirq counters
	- pmdalinux: nfs server metric semantic fix pmlogrewrite rules
	- pmdalinux: fix af_unix conn stats same as udp/tcp earlier
	- pmdalinux: udp, raw and unix domain connection metrics
	- pmdalinux: code simplification, cleanup in /proc/locks code
	- pmdalinux: add vfs.locks.posix, flock and lease metrics
	- pmdalinux: add kernel.all.nsessions and nroot users metrics
	- pmdaprometheus: support the -l logname and -d domain options
	- pmdaprometheus: fix scripted configs, broken after label filtering
	- correct semantics for proc_fs_nfsd.th_cnt and proc_fs_nfsd.pool_cnt
	- pmdammv: resolve an instance domain setup problem
	- pmdaproc: add the per-process proc.psinfo.oom_score metric
	- pmdasample: fix emerging gcc warnings
	- zbxpcp: fix path to auto-enable zbxpcp module for zabbix_agentd
	- zbxpcp: fixes, perf improvement for zabbix agent module
	- NetBSD and OpenBSD PMDAs: fix for returning a buffer on the stack
	- FreeBSD PMDA: add some metrics
	- activemq PMDA: hide this PMDA's perl modules behind PCP::
	- configure.ac: activemq PMDA needs JSON Perl module as well
	- pmdabcc: tcplife: recycle instances - use row number as instance key
	- pmdabcc: fix tcplife dport, styling
	- pmdabcc: tcplife: track sessions independently, add more metrics
	- pmdabcc: configurable failure modes for module errors
	- pmdabcc: explain process filtering in the pmdabcc(1) man page
	- pmdabcc: disable ext4dist per default, add xfsdist and zfsdist
	- pmdabcc: disable "Too many instance attributes" pylint warning
	- pmdabcc: rename runqlat metric name
	- pmdabcc: order histogram instances ascending
	- pmdabcc: move ext4dist metric under bcc.fs name space
	- pmdabcc: add ext4dist, zfsdist and xfsdist modules
	- pmdabcc: add USDT JVM threads and allocation profile modules
	- pmdabcc: print generated/modified BPF program if debug enabled
	- pmdabcc: implement process/port filtering in tcplife
	- pmdabcc: match process name on /proc/$PID/comm
	- pmdabcc: add process filtering in tracepoint/uprobe modules
	- pmdabcc: fix tcplife with older/newer kernel/bcc
	- pmdabcc: add USDT/dtrace hit count BPF/Python module
	- pmdabcc: add pid check/filter helpers, relax process check
	- pmdabcc: introduce reserved ranges in bcc.conf
	- pmdabcc: README and man page updates
	- pmdabcc: add example hit count module configuration files
	- pmdabcc: add uprobe hit count BPF/Python module
	- pmdabcc: require kernel 4.6+ for QA
	- pmdabcc: add config file / process helpers
	- pmdabcc: add kernel tracepoint hit count BPF/Python module
	- pmdabcc: clean up bcc.conf comments
	- pmdabcc: add label support
	- pmdabcc: always create the first bucket inst for histograms
	- pmdabcc: don't create instances for empty buckets at top end
	- pmdabcc: add runqlat tool
    - Misc build, infrastructure and packaging updates:
	- build: Add conditional clause around disable_python2
	- build: resolve ENODATA re-define warning on latest Win32 headers
	- build: fine-tune libpcp cross-compiler make settings for Windows
	- build: remove procfs checks entirely in configure now
	- build: add pmieconf static binary cross-compile check
	- build: support Windows native build
	- build: remove pcp.conf dependency from selinux-setup script
	- build: fix pcp-export-pcp2xlsx dependencies
	- build: rpm spec file updates related to python, pmrep and dstat
	- build: add some more platforms into the bintray scripts
	- build: switch travis-build coverity notifications to pcp list
	- build: add automated coverity checking to travis builds
	- build: update travis to use fedora:latest container over f27
	- build: add new bcc config files to the installed set
	- build: add configure and builddefs support for libuv
	- build: add Makepkgs --configure option to stop after configure
	- build: fix /var/run/pcp ownership in fedora spec file
	- build: fix license text warnings from specfile check tools
	- build: add missing shebang lines else latest rpmbuild fails
	- build: include python3-bpfcc as a dependency for debian
	- build: update check-statics for Mac OS X clang brew builds
	- formatting strings: %I64i used instead of  %lld
	- build: switch from http to https for pcp.io src references
	- build: fix rpm spec deps, update to https for pcp.io
	- build: fix yet another multilib header regression
	- build: fix typo in rpm spec file for smart pmda deps
	- build: add more platforms to bintray-version script
	- coverity: possible buffer overrun, use strncpy() instead of strcpy()
	- coverity: plug a memleak on a socket func error path in libpcp
	- coverity: plug a memleak on a labelset pointer in libpcp
	- coverity: plug memleak on socket func diagnostic in libpcp
	- coverity: fix memleak on error path in libpcp_qmc update
	- coverity: fix use of freed stream in libpcp_pmda diagnostic
	- coverity: fix out-of-scope local buffer use in libpcp units.c
	- coverity: fix memleaks during testing for localhost
	- coverity: fix unconditional uses of null name in new context
	- coverity: do not use stderr after freopen on stderr failure
	- coverity: fix lookup labels api error path memleak
	- coverity: fix getopt time window parse error path memleak
    - Documentation and QA infrastructure:
	- check-archives: rework for expected/different marking of log files
	- check-archives: fsck for a forest of PCP archives
	- __pmparsectime.3: clarify syntax for string argument (date formats)
	- docs: update remaining pcp.io references to https
	- docs: add release and coverity links to README.md
	- man/html/portability-and-qa.html: First real version
	- docs: add the CII best practices badge to README.md
	- docs: switch HACKING to markdown, add a security section
	- man/html/portability-and-qa.html: portability issues related to QA
	- docs: initial version of the pcp-dstat(1) manual page
	- docs: switch http to https for various pcp.io references
	- qa/admin/pcp-daily: really enforce the BAD policy this time
	- qa/admin/pcp-qa-summary: find and report tests tagged BAD
	- qa/group: add missing python ones, introduce BAD group
	- qa/sniff4dodgey: (new) script looking for dodgey tests

pcp-4.0.2 (11 May 2018)
    - log rotation, management scripts, compression and utilities
	- pmie_{check,daily}: rework .prev and -N handling
	- pmlogger_{check,daily}: rework .prev and -N handling
	- pmlogger_daily: add -p to poll if cronjob was missed
	- pmlogger_daily: set default xz options for 10MB blocks
    - client tools and utilities:
	- pcp-pidstat: add new process state tracking feature
	- pmlogconf: update zeroconf config for pidstat metrics
	- pmrep, pcp2xxx: use new improved long-option-only method
	- pmrep: fix metricsets :mpstat and :mpstat-P-ALL metric definitions
	- pcp2zabbix: fix issues from low-level-discovery feature
	- pcp-atop: remove the long-deprecated pmatop symlink
	- pmstat: fix bogus warning in local context fallback mode
	- pminfo: cleanup instance name and instance label caching
	- sar2pcp: updates for recent versions of sysstat
	- zbxpcp: ensure errmsg accompanies SYSINFO_RET_FAIL returns
	- shell completion: update pcp2zabbix lld arg handling
	- add low-level-discovery support to pcp2zabbix
    - pcp-zeroconf: zero configuration package for support environments
	- pmlogconf: update zeroconf config for pidstat metrics
    - PMDA additions, enhancements and bug fixes
	- pmdaprometheus: add support for label filtering in URL configs
	- pmdaprometheus: set PMNS_CHANGED flag more aggressively
	- pmdaprometheus: perf improvement - add a compiled regex cache
	- pmdaprometheus: perf improvement - avoid re-parsing config URLs
	- pmdaprometheus: perf - avoid formatting debug messages if !dbg
	- pmdaprometheus: fix fetch and parse time counters
	- pmdaprometheus: scalability improvements, multi-threaded http get
	- pmdadm: avoid segfaults if there are no dmstats regions
	- pmdadm: Fix memory leak in dmstats.c
	- pmdalinux: remove cdrom from disk indom
	- pmdalinux: support vfs.aio metrics from /proc/sys/fs files
	- pmdaproc: fix issue with container identification
	- pcp-pmda-libvirt: fix rpm packaging
	- pmdacifs update to support stats V2
	- pmdaroot, pmdaproc: rework Docker container name heuristics
	- pmdabcc: start in the "notready" state to avoid startup timeouts
	- pmdanfsclient: convert from perl to python, add newer 4.2 ops
	- pmdasmart: new PMDA to extract metrics from smartmontools package
    - pmwebd and pmmgr
	- pmwebd: Restore logic for rolling over to a new volume.
	- pmwebd: Handle compressed .meta and archive volume files.
    - Security Enhanced Linux:
	- selinux: add fsetid cap to pcp_pmlogger_t
	- pmda.smart/selinux: fix fsadm_exec_t rules
	- selinux: pmlogger should be allowed the fowner cap for itself
	- selinux: rhbz1565158 ipc.sem metrics
	- selinux: RHBZ1565158 allow semaphore reads for mozilla_plugin_t
	- selinux: rhbz1547066 Add several AVCs caught in testing
	- Build: add pcp-selinux req - libsemanage
	- selinux: rhbz1558708 add further policy for pmdagluster
    - libpcp and libpcp_pmda
	- libpcp: provide a fetchgroup reset interface
	- libpcp: add OpenIndiana fix to allow pmcd connection TCP
	- libpcp_fault: track exports changes over in libpcp
	- libpcp: change ld VERSION file manipulation
	- libpcp: Implement new archive I/O API functions.
	- libpcp, pmcd: resolve an endian issue in labels protocol
	- libpcp: decompression: Correctly detect fully specified archives
	- libpcp: detect and handle corrupted labelset metadata in archives
	- libpcp: harden labels dup routine when handed bad/missing data
	- libpcp: make pmSemStr and pmTypeStr thread-safe
    - Misc build, infrastructure and packaging updates
	- coverity: fix memleaks, useless variable settings, off-by-ones
	- coverity: fix error handling on PMDA attribute interface
	- build: couple more linker tweaks for Windows builds
	- build: addition for chown/chmod post install actions
	- build: require coreutils (fileutils is gone)
	- packaging: ensure $PCP_SA_DIR ends up with correct mode and ownership
	- build: update check-statics for libpcp macosx builds
	- assorted: fix compilation warnings from OpenIndiana
	- configure: yet another attempt to get fmt_int64 correct
	- debian/rules: pass -v down from dh_shlibdeps to dpkg-shlibdeps
	- debian/pcp-export-zabbix-agent.install: add missing files
	- build: add conditionals for Requires: libsemanage
	- build: pid_t ... it may not be the same type as int
	- build: add an explicit sans font dependency for pmwebd
	- build: resolve compilation warnings with recent gcc versions
	- travis: print all logs to stdout at the end of the build
	- build, qa: force default locale when grepping English words
	- build: Pass CFLAGS, CXXFLAGS, LDFLAGS down to qmake builds.
	- fedora.spec: libvirt needs python2-lxml on rhel
	- fedora.spec: python2-libvirt is for fedora >= 27
	- packaging: correctly package zbxpcp.conf file
	- build: improve Zabbix server integration out-of-the-box
    - Documentation
	- docs: add pcp-pidstat(1)
	- docs: add pmClearFetchGroup(3)
	- docs: document ipc_prot and notready in various man pages
	- books: delete support for xmlto and dblatex in book toolchain

pcp-4.0.1 (29 March 2018)
    - log rotation, management scripts, compression and utilities
	- pmlogger scripts: enable immediate daily compression by default
	- pmlogmv.sh: learn how to handle compressed files
	- pmlogger_daily: change default behaviour for compression
	- pmlogger_merge.sh: handle compressed archives
	- pmlogger_check.sh: add pmlogger_daily -K callback
	- pmlogger: control: add $PCP_COMPRESSAFTER=3
	- pmlogger: crontab: drop pmlogger_daily command line arguments
	- pmlogsize: (new) report sizes for components of an archive
	- pmlogsize: add support for data volume, summary and -d (detailed)
	- pmdumplog: fix sigsegv causing intermittent qa failures
	- pmlogrewrite: Indirect updates to label set and help text records.
    - pcp-zeroconf: zero configuration package for support environments
	- add pmlogger_daily_report(1) cron script like sa2(1) to pcp-zeroconf
	- add pcp-doc and pcp-system-tools to pcp-zeroconf dependencies
	- improved and more frequent daily archive compression (see above)
    - pmrep:
	- pmrep: add sar -n TCP -n ETCP config
	- pmrep: add units to labels in :sar-n-TCP-ETCP pmrep config
	- pmrep: use standard column width by default with separate header
	- pmrep: add config to display page migration stats on NUMA machines
	- pmrep.conf: add initial sar -n NFS/NFSD metric sets (NFSv4 too)
    - pmdaprometheus: PMDA to ingest metrics from prometheus end-points
	- pmdaprometheus: start in the "notready" state, for scalable startup
	- pmdaprometheus: URL config support for HTTP GET / request headers
	- pmdaprometheus: URL config support for metric filters in responses
	- pmdaprometheus: add prometheus.control.debug metric (storable)
    - pmdapostgresql: supporting PostgreSQL v9.6 (with plans for 10.x)
	- pmdapostgresql: fixes and verification to support postgresql v9.6.x
	- pmdapostgresql: attempt to switch uids only if running as root
	- pmdapostgresql: automatically reconnect if DB connection is lost
	- pmdapostgresql: update audit script, prep for v10.3.1 support
    - misc PMDAs: Linux, Proc, KVM, Pipe, rsyslog, BCC
	- pmdalinux: add per-block-device capacity metrics
	- pmdalinux: report CD/DVD devices correctly, not as partitions
	- pmdaproc: additional kernel process states (parked, trace stopped)
	- pmdarsyslog: improved diagnostics
	- BCC PMDA: biotop: ignore (but log) unnamed devices
	- BCC PMDA: prepare for upcoming BCC breaking API change
    - pmwebd and pmmgr
	- pmmgr: remove pmmgr k8s discovery code, use libpcp discovery instead
	- pmwebd: support for etag headers
	- pmwebd: improve graphite archive-cache performance w.r.t. syscalls
	- build: house pmwebd in a subdir named consistently with rest of PCP
    - Security Enhanced Linux:
	- selinux: add numad_t rules
	- selinux: update for variety of avc denials
	- selinux: fix avc denials uncovered from pmdabcc
	- selinux: add rules for pmdagluster
    - libpcp and libpcp_pmda
	- libpcp: fix fetchgroup vs derivedmetric instance profile issues
	- libpcp: fix segv in archive help text fallback handling
	- libpcp: add pmconfig reporting of transparent decompression
	- libpcp: Fix false EOF return by xz_getc().
	- libpcp: io: be more careful with rewind, rework __pmFseek
	- libpcp: add compress_suffix_list for pmconfig -L
	- libpcp: general shell discovery mechanism, Kubernetes pod support
	- libpcp: pmcd: add a 'machineid' label at context level
	- libpcp: add command=CMD option to shell discovery mechanism
	- libpcp: handle DSO and pmcd domain labels consistently
	- libpcp: correct the fetchgroup handling of counter wrap
	- libpcp: rewind temp file after decompression
	- libpcp: fix return codes for pmTraversePMNS
	- libpcp: fix semantics of sum() for derived metrics
	- libpcp: add external symbols from win32.c
	- libpcp: switch pmGetConfig API to using setenv for valgrind
	- libpcp: remove temp file underneath pmprintf() et al
	- libpcp_pmda: add pmdaSendError(3), with python bindings
    - Misc build, infrastructure and packaging updates
	- Debian: enable daemons, manager enabling semantics, improved systemd
	- build: test pmda.bcc group by travis ci, integrate Travis CI
	- Debian packaging: make deb-systemd-helper use conditional
	- Debian/pcp.postinst.tail: improved access modes for /etc/pcp/nssdb
	- build: add base sans font for pmchart on headless machine
	- build: add 'sds' package for more efficient string handling
	- build: fix deb bash/json/mmv PMDA tmpdirs permissions
	- build: add pcp-conf and pcp-libs packages for CI, needed explicitly
	- build: spec updates for pcp-zeroconf and /etc/pcp/discover
	- build: fix Debian install after derived metric config moved
	- build: house pmwebd in a subdir named consistently with rest of PCP
	- build: add proc derived metric config into pcp-libs package
	- build: fix configure script qmake vs QT_RELEASE corner case
	- configure: changes for Windows build, fix mingw warnings
	- pmdaproc.sh: bugfix for ipc_prot="binary notready" in Install
	- pmdaproc.sh: fix temp file leakage
    - Documentation
	- Readme.osx updated for packagemaker
	- man: document the pmlogger_daily_report -l and -V options
	- document the pmlogger_daily -k and -x interaction
	- add pmdaSendError(3) man page to pcp-doc package

pcp-4.0.0 (16 February 2018)
    - Support metric labels as first class PCP metadata
        - libpcp: over-the-wire protocol support for labels
        - libpcp: store metric labels in archives
        - dbpmda: new commands for exercising metric labels
        - pmdaproc: add proc.* and cgroup.* metric labels
        - pmdalinux: add disk, CPU, NUMA node and other labels
        - pmdapmcd: add pmcd.labels metric (/etc/pcp/labels)
        - pmdaprometheus: add support for Prometheus labels
        - pmcd: support label PDUs between clients and PMDAs
        - pminfo: add new -l/--labels option
        - pmlogger: support storing labels in archives
        - pmdumplog: support for dumping labels in archives
        - pmlogextract: support for labels in input archives
        - pmlogrewrite: support for changing labels in archives
        - libpcp_pmda: support for metric label PDUs
        - libpcp_pmda: new pmdaLabel(3), pmdaSetLabelCallBack(3) APIs
        - docs: upate pmlogger on-disk format docs for labels
    - libpcp: store metric help text in archives for pmLookupText(3)
    - PMAPI and PMDA API refactoring, promotion and deprecation
        - libpcp: pmapi.h, impl.h, libpcp.h header refactoring
        - libpcp: several impl.h data structures made internal
        - libpcp: several impl.h interfaces cleaned, documented and
          promoted into new PMAPI routines - e.g. pmGetProgname(3),
          pmSetProgname(3), pmID_build(3), pmInDom_build(3),
          pmOpenLog(3), pmGetAPIConfig(3), pmNoMem(3), pmSyslog(3),
          pmNotifyErr(3), pmPrintStamp(3), pmPathSeparator(3),
          pmGetUsername(3), pmSpecLocalPMDA(3).
        - libpcp: hide details of pmlc/pmlogger communication
        - libpcp: hide all internal PDU and PDUbuf details
    - Asynchronous notification of metric name changes
        - libpcp: fetch protocol support for async name changes
        - pmlogger: dynamic reevaluation of metric name changes
        - libpcp_pmda: support for PMDAs with dynamic name changes
        - docs: describe async name change protocol on pmFetch(3)
    - pmdadm: add new VDO (virtual data optimizer) metrics
    - pmdabcc: new PMDA exporting BCC/eBPF trace instrumentation
    - pmdaproc: fix issue with resolving ttynames below /dev
    - pmdaproc: add proc.id.container metric based on cgroups
    - pmdaproc: add new cgroup.*.id.container metrics
    - pmdalinux: additional /proc/vmstat pgscan, pgsteal metrics
    - pmdalinux: fix scanf format for /proc/net/if_inet6
    - pmdalinux: tty.serial metrics use tty number as indom instance
    - pmdalinux: add kernel.all.pid_max metric from /proc/sys/kernel
    - pmdalinux: add wireless and name type network interface metrics
    - pmdalinux: additional NUMA migration metrics from /proc/vmstat
    - pmdasolaris: update for ZFS snapshot API changes
    - pmdaprometheus: improvements to auto-configuration
    - pmdaprometheus: metadata inference tweaks
    - pmdaprometheus: rework instance-name prefixing
    - pmdaprometheus: add support for scripted configuation
    - pmdabash: install a default directory with secure permissions
    - pmdajson: install a default directory with secure permissions
    - pmdammv: install a default directory with secure permissions
    - pmdalibvirt: correctly restore previously persisted indoms
    - pmdahaproxy: correctly restore previously persisted indoms
    - pmdadocker: document PCP_DOCKER_DIR variable
    - pmrep/pcp2xxx: clarify instances reported by default
    - pmrep/pcp2xxx: introduce per-metric precision support
    - pmrep/pcp2xxx: multiple derived metrics specs on command line
    - pmrep/pcp2xxx: properly validate config file options
    - pmrep/pcp2xxx: add force scaling/formatting options
    - pmrep/pcp2xxx: add live filtering support
    - pmrep/pcp2xxx: add support ranking, inverse filtering, predicates
    - pmrep/pcp2xxx: add support for limit filtering
    - pmrep: add support for overall ranking
    - pmrep: add support for dynamic headers
    - pmrep: make -g/--separate-header compatible with -X/--colxrow
    - pmrep: pmdumptext -X/--extended alike output
    - pmrep: do not force raw values with CSV output
    - pmrep: avoid repeated pmi calls in write_archive
    - pmrep: better delimiter handling
    - pmrep: sar-y, sar-n-SOCK, numa-hint-faults configs in pmrep.conf
    - pmrep: fix archive output dir access check
    - pmrep: record discrete values to archive only when changed
    - pcp2json: -E/--exact-types option for increased output control
    - pmjson: new helper utility for json formatting
    - iostat2pcp: support yet more incompatible changes to iostat
    - pmstore: add -F/--fetch option to provide accurate new value
    - pmdumplog: increase precision of timestamp output
    - pmdumplog: support for dumping metric help text in archives
    - pmlogger: avoid multiple metadata records for same indom and timestamp
    - pmlogextract: change <mark> strategy if prologue + epilogue available
    - pmlogconf: ensure values present before enabling apache group
    - pmlogconf: ensure values present before enabling nfsclient group
    - pmlogconf: additional kernel metrics for pmlogconf
    - pmlogconf: added storage group for pmlogconf with VDO metrics
    - pcp-atop: add Docker support, updates to upstream atop-2.3.0 code
    - pcp-atopsar: improve robustness with missing data
    - pcp-mpstat: fix typo in method call found by pylint
    - pcp-summary: fix incorrect use of -O/--offset/$PCP_ORIGIN
    - pmchart: fix uninitialized memory use in status bar
    - pmchart: several improvements to the BusyCPU script
    - desktop: new icon images for pmchart and pmtime applications
    - libpcp: support transparent on-demand archive decompression
    - libpcp: provide -O/--offset heuristics for local archives
    - libpcp: fix non-standard space units handling
    - python pmconfig: handle option priorities correctly
    - python pmcc: add MetricGroupManager.checkMissingMetrics
    - python api: use correct tm_gmtoff type in pmMktime call
    - selinux: numerous corrections to policy files
    - zshrc: series of updates for latest command arguments
    - zshrc: recognize .xz compressed archive file names
    - zshrc: don't complete unavailable derived metrics
    - bashrc: series of updates for latest command arguments
    - PMDA Install: removed "monitor, server or both" prompts
    - build: update debian builds to quilt-based format
    - build: fix Qt5 build dependency injection
    - build: fix debian binary-indep packaging
    - build: fix debian python package dependencies
    - build: enable systemd in debian packages
    - build: configure.ac and related fixes for Solaris builds
    - build: numerous Windows portability fixes
    - build: remove config transition mechanism for ancient releases
    - build: get python basics going in Windows cross-comiles
    - build: selinux - directly test existance of semodule -X option
    - build: selinux - update policy package on upgrade
    - build: rpm - move to explicit python2/python3 deps
    - build: rpm - python->python2 naming, obsolete python-foo packaging
    - series of small code improvements found by Coverity
    - series of small code improvements found by cppcheck
    - docs: start documenting long options on PCPIntro(1) and others
    - docs: add some power user examples to pmrep(1)

pcp-3.12.2 (18 October 2017)
    - dm pmda: fix memory corruption from a double free
    - linux pmda: add mem.vmstat.pgsteal_* metrics
    - haproxy pmda: warn, not error, on missing socket
    - haproxy pmda: add url connection support
    - libvirt pmda: more resiliency for missing domains with mem stats
    - perfevent pmda: fix missing dynamic events scenario
    - prometheus pmda: metadata generator handles empty lines and comments
    - prometheus pmda: add _sum, _count and _bucket as metric instances
    - selinux: add pmlogger_exec_t rule from rhbz1483320
    - selinux: remove base pcp requirement for pcp-selinux subrpm
    - selinux: update configure checks to work with selinux tools v4.0+
    - selinux: RHBZ1447585 pmlc accessing tcp port 4330
    - selinux: rhbz1488116 pmnewlog.sh using ps to check pid's for pmloggers
    - pcp-atop: add --hotproc option for using hotproc metrics
    - pcp2elasticsearch: new utility exporting metrics to ElasticSearch
    - pcp2json: new utility exporting metrics in JSON format
    - pcp2xlsx: new utility exporting metrics in Excel spreadsheets
    - pcp2xml: new utility exporting metrics in XML format
    - pcp2zabbix: new utility exporting metrics to Zabbix
    - pmchart: make the BusyCPU view work and install it
    - pmchart: fix a use-after-free in setSamples
    - pmchart: support hicolor icons for GUI apps
    - pmlogconf: cull missing groups with -c
    - pmlogconf: automatically configure hotproc logging
    - pmlogconf: tweak hotproc config and add the atop metrics
    - pmlogger: add prologue / epoligue support
    - pmmgr: pass -H hostid to pmlogger
    - pmrep: add support for new derived metrics syntax
    - pmrep: rewrite csv output code
    - pmrep: rewrite stdout output code
    - pmrep: better metric scaling precision
    - pmrep: tweak csv header
    - pmrep: allow scaling of raw metrics
    - pmrep: better metric type detection
    - pmrep: handle dup names
    - pmrep: drop zabbix support, added to pcp2zabbix(1)
    - pmrep: use the new pmConfig module and the new Python helpers
    - pmrep: add daemonization support
    - pmrep: use UTC offsets in extended header
    - pmrep: protect against transient instances
    - pmrep: support sadf(1) compatible CSV output
    - pmrep: improve handling of floating point NaN values
    - pmview: changes to allow building with either Qt4 or Qt5
    - pmwebd adapt graphite font size to image size
    - libpcp_web: increase default JSON parser token count
    - libpcp: refactor daemonization code for sharing
    - libpcp: changes to satisfy reported cppcheck issues
    - libpcp: initialise unaligned part of help text buffer
    - libpcp: harden interpolate mode up against corrupt archives
    - perl api: support indom cache reloading for hash indoms
    - python api: handle unicode strings in python2 module as well
    - python api: add a pmconfig module and new timezone helper routines
    - python api: fix timezone segfault from incorrect free
    - python api: timezone helper with non full hours
    - python api: fixes to timezone handling
    - python api: add daemonize option using libpcp services
    - python api: allow long options without a short option
    - python api: automatic indom persistence of dict indoms
    - python api: annotate the pmsubsys module as "deprecated"
    - libpcp: add simple, secure system(2) replacement API
    - libpcp: add simple, secure pipe API replacement
    - libpcp: derived metric configuration for kernel.cpu.util.*
    - libpcp et al: change PCP debugging control infrastructure
    - libpcp: add PM_ERR_BADDERIVE code for invalid derived metric specs.
    - libpcp: defered derived metrics evaluation performance improvement
    - libpcp_web: cleanup memory leaks
    - libpcp: add $PCP_IGNORE_MARK_RECORDS support
    - libpcp: pmsprintf - a safer [v]snprintf wrapper
    - pmcd, pmcd PMDA, libpcp_pmcd: add pmcd.pid and pmcd.seqnum
    - pmdaproc.sh: improve domain number and name match checks
    - bashrc: fix completions using symlink for all commands
    - bashrc: updates for auto-completions for all commands
    - zshrc: updates for auto-completions for all commands
    - build: update debian builds to default to Qt5 when available
    - build: fix numerous compiler warnings on FreeBSD
    - build: fix numerous compiler warnings on Windows
    - build: switch to Qt5 when building on Windows
    - demos: fix pmclient, pmclient_fg archive modes
    - docs: add notes to pmdapostgresql(1) re enabling stats
    - docs: corrections to pmdadm(1), histogram support
    - docs: document $PCP_IGNORE_MARK_RECORDS in pcpintro(1)

pcp-3.12.1 (16 August 2017)
    - pmdadm: device mapper stats API (statistics regions) metrics
    - pmdahaproxy: new PMDA exporting HAProxy (haproxy.org) metrics
    - pmdaperfevent: fix use after free in perf_setup_dynamic_events
    - pmdaprometheus: add pmda config metrics and store callback
    - pmdaprometheus: periodic metadata refresh of Prometheus endpoints
    - pmdaprometheus: auto refresh and reload metadata changes
    - pmdaprometheus: reload only added/removed sources on fetch
    - pmdaprometheus: add units parsing and fix minor bugs
    - pmdaprometheus: fix metadata generator for instances with whitespace
    - pmdadarwin: instance domain help text added
    - pmdalinux: add nfsd worker thread status values
    - pmdanews: fixes to ps(1) command invocation on FreeBSD
    - pmdaroot: defensive behaviour for containers lacking a Name
    - pmrep: add per process metricsets to default pmrep.conf(5)
    - pmrep: exit in check mode after all preparations
    - pmie: modified back-off when metrics or hosts unavailable
    - pmwebd: add Prometheus metrics exporter endpoint
    - pcp-mpstat: gracefully handle the absence of interrupt metrics
    - selinux: additional SELinux policy rules for several PMDAs
    - libpcp: fix detection of unterminated string in derived metrics
    - libpcp: fix ternary expression evaulation bug
    - libpcp: tracing facility for PMAPI routine entry/exit
    - libpcp: initial file I/O abstraction layer
    - libpcp: further multi-threading improvements
    - libpcp: only consider addresses with type SOCK_STREAM
    - perl api: fixes for PMDA wrapper on FreeBSD
    - python api: add refresh_all clusters method for PMDAs
    - python api: add the remove_metric function for PMDAs
    - build: add perl deps and perl-interpreter into RPM spec files
    - build: add log import library pkg-config support
    - build: add configury for python OrderedDict module
    - build: add missing Debian autopkgtests and debian/watch file
    - build: update with RPM systemd macros for service defaults
    - build: change RPM location of local mode to %install, f27 onwards

pcp-3.12.0 (30 June 2017)
    - pmdaprometheus: new PMDA exporting Prometheus end point metrics
    - pmdalinux: deprecate some socket stats, add IPv6 socket stats
    - pmdalinux: change some string metrics from instant to discrete
    - pmdamysql: additional MySQL slave metrics
    - pmdaproc: migrate proc.psinfo.{vsize,rss,rss_lim} to U64
    - pmdacifs: drop duplicate makefile installs
    - pmdasummary: default to localhost for pmie pmcd connections
    - containers: allow clearing a previously set container context
    - python api: handle duplicate metric name in PMDA module correctly
    - python api: clear the _metric_names_map at appropriate times
    - perl api: fix instance domain help text handling for PMDAs
    - pcp-pidstat: configurable timestamp formatting (-f option)
    - pcp-pidstat: fix traceback at end of archive with -G option
    - pcp-numastat: use pmFetchArchive when replaying an archive
    - pcp-numastat: fix poor handling of non-tty output
    - pcp-atop: fix sigsegv while handling NFS mounts metrics
    - pcp-atop: fix rawwriting and bad -T option passed to pmlogger
    - pmlogger: allow hostname to be over-ridden on the command line
    - pmlogconf: group pmprobe calls together, performance optimisations
    - pmlogconf: add proc.psinfo.guest_time to atop-proc for pcp-pidstat
    - pmlogconf: add numastat, pidstat and tapestat to zeroconf config
    - pmlogconf: add config for pcp-tapestat
    - pmlogconf: improve probe used for some optional log configs
    - pmieconf: add pmie rule detecting entropy starvation
    - pmrep: improve corner case metric name duplicate detection
    - pmwebd: add mandatory authentication mode (-C option)
    - libpcp: changes to remove client-pmcd socket multiplexing
    - libpcp: rework earlier changes to context handle semantics
    - libpcp: fix double-close on __pmConnectTo failure
    - libpcp: further locking improvements
    - libpcp: add buffer length check to pmEventFlagStr_r(3)
    - pmprobe: add -F option for further pmlogconf speedups
    - pmprobe: fix sigsegv in the presense of bad metric descriptors
    - pmlogger rc scripts: small changes cleaning up reports of warnings
    - pmie rc scripts: small changes cleaning up reports of warnings
    - selinux: policy updates to resolve a pmdabash issue
    - selinux: add check for cap_userns class
    - bashrc: bash completion updates
    - zshrc: zsh completion updates
    - build: pkg-config support for libpcp and libpcp_pmda
    - build: change how selinux contexts are detected
    - build: resolve problems with use of autoreconf
    - build: exclude pcp-zeroconf files from base package
    - build: take more control over perfevent rpm package builds
    - build: honor CFLAGS in qmake project files
    - docs: add a JSON demo similar to the existing MMV demo
    - docs: add reference to the Rust MMV project as well
    - docs: fix couple small typos on pmRegisterDerived man page
    - docs: update pmdabash man page for current file paths
    - docs: make pmdaproc text match pmwebd re authentication

pcp-3.11.10 (17 May 2017)
    - books: add missing images into the pdf builds
    - build: selinux module checking
    - build: debian build fixes
    - build: MAC OS X build fixes
    - build: Qt5 now used on all fedora releases
    - build: correctly handle LDIRT when building perl modules
    - build: create dso variant of pmdasimple
    - install: debian install fixes
    - install: Add pcp-zeroconf rpm subpackage
    - libpcp: multithreaded locking improvements
    - libpcp: provide more general features-capabilities mechanism for fds
    - libvirt pmda: add new block, perf, vcpu metrics
    - man: debian man page migrations
    - man: pmlogcheck.1: document new -w option
    - pcpqa: ongoing improvements
    - pmcd: restore context to pcp_var_run_t after pmcd start
    - pmcd: timeout countdown fix, during pmda shutdown phase of exiting
    - pmchart: fix reaction to timezone changes from pmtime
    - pmdalinux: fix resource leaks in zoneinfo code
    - pmdalinux: add Linux kernel entropy metrics
    - pmdalinux: several additional mem.zoneinfo metrics
    - pmdalinux: correct metadata for hinv.cpu.clock and hinv.cpu.cache
    - pmdammv: fix resource leaks on error paths
    - pmdaperfevent: fix leaks, incorrect free, dead code
    - pminfo: improve formatting with one-line help text error message
    - pmmgr: heap management improvements
    - pmrep: correctly handle endtime in uninterpolated mode
    - pmrep: add support for ignoring (-I) and omitting (-v) metrics
    - pmrep: cmd line improvements
    - python api: fix memory leaks
    - python api: handle non-POSIXLY_CORRECT getopt cases
    - selinux: several updates to pcp policy
    - stdpmid: reserve a domain number for Prometheus endpoint PMDA
    - zsh: Add --nowrap to the completions for pmlogcheck

pcp-3.11.9 (31 March 2017)
    - derived metrics: add defined() function
    - derived metrics: reduce memory footprint
    - derived metrics: add rescale(<expr>, <units-string>) function
    - derived metrics: extend count() for fetch errors
    - derived metrics: add mkconst() constructor
    - derived metrics: add check ? foo : bar (ternary operator)
    - derived metrics: add - operator (unary negation)
    - derived metrics: add ! operator (boolean negation)
    - derived metrics: add support for relational expressions
    - derived metrics: support double precision floating point constants
    - libpcp: new implementation for derived metric parser
    - libpcp: use correct context ID with multiple local contexts
    - pcp-tapestat: add a new tape statistics reporting command
    - pmchart: fix plot disappearance when legend turned off/on
    - pmchart: fix time stamp in metric details window
    - pmchart: don't display removed metrics in metric details window
    - pmwebd: fix graphite filtering for non-normal floating-point data
    - pmdadocker: remove unused buildversion artifacts
    - pmdaperfevent: add PMU events exported from kernel
    - pmdaperfevent: fix metrics names for the dynamic events
    - pmdalinux: convert mem.slabinfo metrics to using pmdaCache
    - pmdalinux: fix fd leak on an error path in tape metrics
    - pmdalio: drop unneeded pmcd restart from Install script
    - selinux: several updates to pcp policy
    - selinux: add el6 focused conditional checks
    - selinux: separated out docker/container policy
    - coverity: series of small code fixes across the board
    - build: overhaul the webapps packaging build extensively
    - vagrant: first cut at osxSierra base image build via Vagrant
    - vagrant: numerous cleanups and refactoring to Vagrantfile
    - containers: pcp-go-app standalone Speed-instrumented container
    - containers: add pcp-redis instrumented Redis server container
    - containers: add pcp-elasticsearch instrumented elasticsearch server
    - docs: fix pmParseUnitStr(3) summary section typo
    - docs: python updates for https://pypi.python.org/pypi/pcp/1.1

pcp-3.11.8 (17 February 2017)
    - pmdabind2: new PMDA for BIND named REST API statistics
    - pmdadocker: new PMDA for Docker REST API statistics
    - pmdalio: new PMDA for the kernel LIO subsystem (iSCSI, FCP, FCoE)
    - pmdanutcracker: new PMDA for NutCracker (TwemCache) metrics
    - pmdaredis: new PMDA for redis (REmote DIctionary Service) metrics
    - pmdalinux: additional VM metrics for zoneinfo
    - pmdalinux: add per-node memory zone protection stats
    - pmdalinux: add Linux VM KSM same-page-merging metrics
    - pmdalinux: dynamic per-CPU and per-node instance domains
    - pmdalinux: export network.interface.baudrate with 64-bit type
    - pmdalinux: export byte version of all hugepage metrics
    - pmdalinux: add several metrics recently added to /proc/vmstat
    - pmdalinux: add support for SCSI tape statistics
    - pmdaproc: switch ttyname calculation to iterate through /dev
    - selinux: new files and package for setting custom PCP policy
    - libpcp_web: support for callback-based JSON metrics extraction
    - libpcp: several archive mode instance scan performance improvements
    - pmlogger scripts: fix multi-level directory structures
    - pcp-atopsar: fix swptotal and swpfree reporting units
    - pcp-atop: fix up reporting of the network utilization
    - pmval: improve handling of shifting metric instances
    - pmns/Rebuild: rebuild PMNS if the root file is empty
    - docs: added instance domain help text for several PMDAs
    - docs: additional documentation for pmdamysql (MariaDB support)
    - docs: clarifications to the Apache2 stats export setup
    - docs: update pmdammv man pahe to mention golang bindings
    - qt tools: update MacOSX info files keys for highres displays
    - perl api: add missing error codes and local_install helper
    - python api: add missing error codes
    - containers: new pcp-standalone application container layer
    - containers: new pcp-nginx container with pmcd & Nginx setup
    - containers: new pcp-apache container with pmcd & Apache setup
    - containers: new pcp-java-app container with pmcd, Java & Parfait

pcp-3.11.7 (21 December 2016)
    - docs: pmLookupText added to PMAPI calls for _metric web API
    - build: fix qt4 builds once more, no widgets module there
    - build: update parfait and uom-se bits for jdk-1.8 use
    - build: couple of small Windows install improvements
    - build: conditionally use setuptools python module
    - libpcp_web: fix handling of 64-bit values on 32-bit platforms
    - libpcp_web: improvements to error checking
    - pmdabash: resolve some permissions issues preventing use
    - pmdalinux: add metrics about IPC message queues
    - pmdalinux: additional semaphore arrays metrics
    - pmdalinux: buddyinfo and zoneinfo mem metric updates
    - pmdalinux: add zoneinfo NUMA free mem stats
    - pmdaxfs: use persistent dm and md device names for xfs.perdev
    - pmchart: 'local:' is now the default source
    - pmchart run-away mem leak replaying multi-archive when rewinding (RHBZ 1359975)
    - pmchart: make metric details popup on double click event only
    - pmdumptext: 'local:' is now the default source
    - pminfo: allow reverse pmid name lookups, support indoms
    - pmlogrewrite: add conditional type clause (TYPE IF oldtype -> newtype)
    - pmview: changes to make pmview build with latest toolchains
    - qa: lots of fixes and improvements

pcp-3.11.6 (11 November 2016)
    - pmchart, pmtime, pmdumptext: enable use of Qt5 toolchain
    - pmchart, pmtime: switch to Qwt 6.1 for charts, widgets
    - pmchart: display data values interactively (table popup)
    - pmchart: fix signal blocking for the Qwt picker events
    - pmdalibvirt: add per-device metrics
    - pmdalibvirt: add support for new perf metrics
    - pmdalibvirt: add new balloon statistics
    - pmdalinux: add NFSv4.2 parameters to nfs4.* metric instances
    - pmdalinux: additional shared memory segment metrics
    - pmdalinux: fix network.interface.speed values
    - pmdalinux: correctly classify NBD devices and partitions
    - pmdalinux: fix units, semantics for some network.tcp metrics
    - pmdapmcd: add pmcd.sighups metric to assist signal detection
    - pmdapostgresql: no active and recovery metrics in 8.x series
    - pmda scripts: deprecate "forced_restart" from Install scripts
    - collectl2pcp: detect if input data in collectls "plot" format
    - pmlogger: fix SIGINT handling problem
    - pmlogger: allow default primary pmlogger interval to be set
    - pmlogconf: suppress $PCP_DERIVED_CONFIG processing
    - pmlogrewrite: fix small error in temporal index
    - pmrep: add support for specifying instances
    - pmrep: improve metrics collection via extend_indom
    - pmrep: fixes and other improvements to CSV output
    - pmrep: add -X "label" flag for instance-per-line output mode
    - pmwebd: fix HTTP time zones in Date:/Last-Modified: headers
    - python api: correct type of fetchgroup instance ids
    - libpcp: correct logic in __pmHasPMNSFileChanged()
    - libpcp: allow -EINTR to be returned from pduread()
    - libpcp: correct return code for derive metric help text
    - libpcp: optimise DSO lookups for local context mode startup
    - libpcp_json: fix JSON data type conversion
    - scripts: correct tempfile handling used throughout (SElinux)
    - zabbix-agent: support zabbix 3.2.x and later, transparently
    - bashrc: defend against unexpected bash completion input
    - build: annotate PCP_RUN_DIR as %ghost in rpm packages
    - build: fix a handful of Windows build issues
    - build: revamp buildbot config and Dockerfile based builds
    - docs: switch list name from pcp@oss.sgi.com to pcp@groups.io

pcp-3.11.5 (26 September 2016)
    - pmdalibvirt: statistics from guest and hypervisor machines
    - dmcache: improved err handling when lvmcache not configured
    - pmie: support expressions involving string-valued-metrics
    - pmlogger: fix several logic errors in disconnect handling
    - pcp-atop: fix SIGFPE when some kernel metrics unavailable
    - python api: add errno attribute to pmErr class
    - pmdaproc: fix double accounting in the proc.runq metrics
    - pmlogconf: add set of default Vector webapp metrics
    - libpcp_pmi: close archive in pmi_end, plugging an fd leak
    - libpcp: improvements to detection of IPv6 being disabled
    - libpcp: small portability fixes from OpenIndiana compilers
    - libpcp_pmda: change some char* function args to const char*
    - libpcp_web: completely rewo of simple http client library,
      shared library now installed and API available for all PMDAs
    - libpcp_web: support for Unix domain socket http requests
    - libpcp_web: prefer persistent connections whenever possible
    - libpcp_web: cater for both http 1.0 and 1.1 client requests
    - rc scripts: allow systemd auto-restart of all PCP daemons
    - rc scripts: ensure same-named non-PCP daemons are not killed
    - cron scripts: ignore *.rpmsave and *.rpmnew from control.d
    - zsh completions: minor tweaks, rewrite archive completion
    - build: re-instate libsystemd-journal.so as a fallback, such
      that pcp-pmda-systemd packages generated as previously done
    - build: fix debian papi pmda dependencies
    - docs: remove out-of-date section in pmdamounts(1) man page
 
pcp-3.11.4 (5 August 2016)
    - pcp2influxdb: export PCP metrics to InfluxDB
    - collectl2pcp: fix metadata and overflow issues
    - pcp-mpstat: PCP version of mpstat(1), supporting archives
    - pcp-pidstat: PCP version of pidstat(1), supporting archives
    - pmdammv: MMV version 2 format (longer metric & instance names)
    - pmdalinux: add kernel.percpu.intr count metric
    - pmdalinux: add cgroup.cpusched.cfs_{period,quota} metrics
    - pmdalinux: correctly handle Ceph RADOS RBD device naming
    - pmdalinux: add kernel.percpu.softirqs metrics (/proc/softirqs)
    - pmdalinux: filesys metrics use persistent device mapper names
    - pmdalinux: persist interrupt and softirq metric name:ID maps
    - pmdaproc: rewrite proc.psinfo.ttyname metric handling (this
      fix significantly reduces probability of proc PMDA timeouts)
    - pmdaproc: correct handling of command names with whitespace
    - pmdaproc: include threads in hotproc results, if enabled
    - pmdads389log: use "dirsrv" as default user account
    - scripts: fix failure status handling in PMDA Install scripts
    - pmdaoracle: fix Install script failure diagnostic message
    - pmlogger: auto-reconnect to pmcd whenever possible
    - pmlogger: fix broken logic for primary control file
    - pmlogger: validate metrics before generating MARK records
    - pmnewlog: improve checking of pmlogger processes
    - pmlogger_check: additional hardening against failure cases
    - pmlogconf: enable logging of small core set of XFS metrics
    - pmchart: fix diagnostics for archives from the same host
    - pmcd: improve robustness in the face of accept(2) errors
    - libpcp: guard against accept() returning an AF_UNSPEC
    - libpcp: correct __pmSecureClientHandshake() error handling
    - libpcp: make pmcd-client protocol safer when timeouts occur
    - libpcp_web: a new web library, with JSON-pointer (RFC 6901)
      support for extracting values from JSON - see pmjsoninit(3)
    - libpcp_pmda: allow string caches to be saved also
    - python api: support for containers
    - python api: support for local context mode
    - python api: interface tm class to struct_time for strftime
    - pmrep: improve command line parsing
    - pmrep: support configuration file sources
    - pmrep: support local context mode
    - pmrep: add support for containers
    - pmrep: default timezone handling fix
    - pmrep: allow sub-second sampling intervals
    - pmrep: improve robustness of CSV output
    - pmrep: fix unitinfo for mixed type metrics
    - pmrep: fix archive end time reporting
    - pmrep: cwd, user-specific config, then system-wide config
    - pmdiff: rework the sort/join use for portability
    - pminfo: increase default batch size
    - pmafm: support standard --help option
    - pmie: honour SIGINT while parsing rules
    - zsh completion: multi-archive support
    - zsh completion: support pmafm/pmie2col/pmlogcheck/pmloglabel
    - zsh completion: --container improvements
    - zsh completion: fix handling of pcp(1) subcommands
    - build: ensure man pages are not built if unnecessary
    - build: look for libsystemd not deprecated libsystemd-journal
    - build: rearrange deb order of depending on python3 modules
    - build: add missing python debian package shlib dependencies
    - build: remove build-essential packages from debian/control
    - build: add to ds389{,log} RPM package dependencies
    - build: do not include .gitignore in installed file set
    - build: fix declarations for deb graphite export package
    - build: create nssdb directory with rpm spec packaging too
    - docs: fix pmmgr(1) path typo
    - docs: updates to pmrep configuration section
    - docs: update pmns(5) domain table to match stdpmid

pcp-3.11.3 (17 June 2016)
    - zsh: pcp command auto-completions for the zsh(1) shell
    - pcp-ipcs: new command to show inter-process communication
    - pmdalinux: add maximum memory bandwidth per numa node metric
    - pmdalinux: update max numa bandwidth iff the .config changes
    - pmdalinux: add metric about current shared memory segments
    - pmdalinux: ipc shared memory swap attempts/successes metrics
    - pmdalinux: add MSG_INFO and SEM_INFO ipc metrics
    - pmdaproc: fix typo in name of proc.memory.vmhw{n,m} metric
    - pmdaproc: switch to external instances without arguments
    - libpcp, pmcd, pmproxy: client certificate support for secure
      connections and add a PMCD_REQUIRE_CLIENT_CERT option
    - libpcp: allow self-signed server certs in secure connections
      optionally via PCP_SERVER_SELF_CERT environment variable
    - libpcp: correctly propogate indom in mixed derived metrics
    - libpcp: allow name of server certificate to be customized
    - libpcp: plug memory leak in derived metrics error handling
    - libpcp: drop dup-metric warning for logged derived metrics
    - collectl2pcp: refine proc names, support for more metrics
    - pmcd: improve interrupted pmcd/pmda communication resilience
    - pmcd: make probe-style connection error a debug diagnostic
    - pmdapapi: defensive programming improvements
    - pmdaperfevent: current memory bandwidth perf derived event
    - pmdaoracle: allow explicit host name and port specification
    - pmdaoracle: allow potentially high latency query disabling
    - python pmcc: cater for additional sample needed by counters
    - pmrep: fix infinity handling
    - mmv: several python api wrapper fixes
    - rc scripts: really use default pmcd timeouts by default
    - rc scripts: no longer allow stopping pmie/pmlogger from cron
    - rc scripts: add primary (local) pmie concept to pmie
    - misc: add --version/-V option to several more commands
    - pmlogextract: fix metadata checking for duplicate names
    - pmlogconf: move atop nfsclient metrics into own config
    - pmwebd: allow use of compressed archives as nature intended
    - build: fix pcp-python vs pcp-python3 deb package contents
    - build: remove duplicate or unneeded header file checking
    - build: resolve rpm multilib fallout from printf vs configure
    - build: resolve Windows build fallout from timezone changes
    - build: correct logic bug in builddefs INSTALL_MAN macro
    - build: fix configure test for perl Net::SNMP module
    - build: Fedora mandates a build-dep on perl-devel for pcp
    - build: improve command-check error reporting in configure.ac
    - build: new pcp-devel rpm package with tools/docs
    - build: drop python dependency from pcp rpm package
    - build: redo the generation of debian control file
    - build: reinstate infiniband PMDA optional deb packaging
    - build: don't double-up on default-on deb monitoring services
    - build: fixes to the packaging for OpenMandriva
    - docs, pmie: replace xwsh with xterm use throughout
    - docs: update pmie man page references to oracle metrics
    - docs: improve the sample code in the python mmv module
    - docs: added tutorial about new secure connection features
    - docs: use markdown for README/INSTALL formatting

pcp-3.11.2 (29 April 2016)
    - pmdalinux: add per CPU network.softnet metrics
    - pmdaoracle: connect to pmcd as early as possible
    - pmdaperfevent: optional scaling of derived events
    - pmdaperfevent: alternate event groups for derived events
    - pmdaelasticsearch: restrict to local node metrics by default
    - pmdaproc: cgroup blkio throttle throughput+iops metrics
    - pmdaproc: fix per-process scheduler metrics (type+semantics)
    - pmdaroot: add check for config.v2.json Docker 1.10+ files
    - pcp-collectl: fix missing network.interface metric handling
    - pcp-iostat: add -R flag for device name regex matching
    - pcp-iostat: add -G flag for sum, avg, min or max statistics
    - pcp-iostat: add -x flag to skip idle devices
    - libpcp: fix pmcd-context-sharing refcnt and memleak bug
    - libpcp: add support for permanent, global derived metrics
    - libpcp: fix a multi-archive context error path memory leak
    - libpcp: increase discovery probe thread stack sizes
    - libpcp: rework push and pop of TZ values into environment
    - pmcd: usability improvements to pmda restart
    - pmieconf: tweak pcp.pmda rule to detect persistent failures
    - packaging: python3 debian package
    - packaging: optional vector webapp debian package
    - images: switch to DFSG-compliant licensing for GUI icons
    - pcp_completion.sh: add pmrep support to bash completion
    - derived metrics: add derived iostat metrics below disk.*
    - pmchart: split out the Iostat view into SD, DM and MD
    - pmwebd: better support for some older MSIE browsers
    - python api: improve the to-string function for struct tm
    - pmrep: handle Py3 BrokenPipeError in Py2 compatible manner
    - docs: updates to the pmdajson README file

pcp-3.11.1 (18 March 2016)
    - libpcp: multi-archive contexts (directory or comma-separated)
    - libpcp: fix corner case in loading PMNS causing duplicates
    - libpcp: fix pmLoadDerivedConfig return code, man page updated
    - libpcp: fix initialization error in roll-your-own TPD (MacOSX)
    - libpcp_import: new pmiPutMark() API to write <mark> records
    - libpcp_import: check timestamp ordering in pmiPutResult too
    - pmieconf: rule to automate restarting of unresponsive PMDAs
    - pmlogconf: automatically record Oracle database metrics
    - pmlogconf: automatically record application mmap'd metrics
    - pmdadarwin: add a hinv.machine metric like other platforms have
    - pmdaelasticsearch: adjust to deal with elasticsearch API change
    - pmdaopenbsd: first working version, basic kernel metrics
    - pmdaoracle: Oracle database metrics available and updated
    - pmdaoracle: improve error handling on disconnect/reconnect
    - pmdalinux: fix metric units for swapdev.priority metric
    - pmdalinux: fix interrupts data types for big endian hosts
    - pmdalinux: require privileged client for slabinfo metrics
    - pmdalinux: support for MD driver statistics and status
    - pmdammv: name mmv control metrics with standard convention
    - pmdaperfevent: add extension for perf derived events
    - pmdapmcd: restrict pmcd.services to checking known pcp services
    - pmdaproc: fix possible sigsegv with unexpected refresh order
    - pmdasample: add sample.negative metrics for test coverage
    - pmdaslurm: add allocated cores metric
    - pcp2graphite: add an option to specify pickle protocol
    - pcp2graphite: use cPickle instead of pickle for speed
    - pcp2graphite: send all metrics at once in pickled mode
    - pcp-vmstat: wrapper for pmstat to be more vmstat-alike
    - pcp-iostat: uninterpolated archive replay with -u option
    - pcp-iostat: tweak syntax used for old python versions (2.6.6)
    - pcp-iostat: signal handling improvements to dodge warnings
    - pcp-iostat: add -P flag for setting precision (ala pmrep)
    - pcp-dmcache: dynamic lvname width to avoid truncation
    - pmie: updates to the PATH handling for pmie shell actions
    - pmrep: fix extended header times with -O, and sample count
    - pmrep: correctly handle the end of the time window
    - pmrep: improve stdio flushing to avoid exception errors
    - pmrep: fix timezone handling and reporting
    - pmrep: adjust exit codes for consistency
    - pmrep: do not issue fsync, makes no sense here
    - pmrep: finalize zabbix transfers in all cases
    - pmsignal: provide a targetted program mode, -p option
    - pmsignal: make dry-run mode show the full command line
    - pmsocks: use the wrapper script from the tsocks package
    - pmval: correct handling of real negative values
    - perl api: fix input-type-socket connection logic typo
    - perl api: merge pmdalogger logic fix for input string handling
    - zbxpcp: add derived metrics configuration support
    - zbxpcp: support both Zabbix 2 and 3 versions simultaneously
    - dbpmda: add -f option to skip .dbpmdarc processing
    - collectl2pcp: write a <mark> record between each input source
    - build: pmdasnmp is now conditionally built as nature intended
    - build: install pmlogconf where it will be found, like pmieconf
    - build: fix rpmbuild warnings about symlink attrs
    - build: fix compiler warnings from perl PMDA module
    - build: fix af_unix-related solaris build failure
    - build: rework Makepkgs configopts logic for rpm/dpkg confusion
    - build: allow rpm signing, bintray upload tweaks (gpgenabled=1)
    - build: non-verbose reporting on Makepkgs deb packages too
    - build: add /usr/local/bin to search path for new Mac OS X Qt
    - packaging: several Debian build depencency corrections
    - porting: numerous OpenBSD portability changes across the board
    - porting: numerous Mac OS X fixes and testing (incl a pmpython)

pcp-3.11.0 (29 January 2016)
    - containers: add a pcp-pmwebd container image
    - pmcd: start PMDAs via pmdaroot, allowing restart on PMDA
      failure without restarting pmcd itself
    - pmcd: tenfold speed up of the shutdown process
    - pmcd: ensure startup before zabbix-agent, with systemd
    - pmdafreebsd: use getifaddrs() for network interface
    - pmdalinux: fix /proc/interrupts parsing on s390x platforms
    - pmdalinux: fix i386 buffer overflow in softnet stats
    - pmdalinux: support additional vmstat kernel metrics (virt
      balloon, transparent-huge-page zero page alloc counters)
    - pmdaxfs: support the per-device XFS metrics
    - pmdanamed: fix SELinux AVC denials during Install
    - pmdavmware: updates to work with current VMWare perl API
    - libpcp: improvements to derived metrics error handling
    - libpcp: rework interp logic arond <mark> records
    - libpcp: fix bug in interp mode record caching
    - libpcp: pthread_mutexattr_destroy, pthread_mutex_destroy calls
    - libpcp: added a new fetchgroup API
    - libpcp: fix dup-context-with-attrs memory corruption bug
    - libpcp: fix derived metric PMNS navigation mem leak
    - libpcp: unconditional registration of anon (event.*) metrics
    - pcp-iostat: use py3 and py3 compatible pipe exception handlers
    - pcp-iostat: improve incorrect counter rate conversion
    - pcp-iostat: improve BrokenPipeError exception handling
    - pmmgr: add general monitor-program launching option
    - pmmgr: resolved a couple of small memory leaks
    - pmrep: fix first sample reporting, instant/discrete metrics
    - pmrep: fix string valued metric reporting, with python3
    - pmval: improve reporting in the region of <mark> records
    - pmwebd: add an option to disable service advertising
    - pmwebd: support for http compression
    - pmwebd: add units/sem to legend in graphite/png mode
    - pmwebd: enable graphite image-mode caching via redirection
    - pmwebd: add an option for alternative name encodings
    - sar2pcp: support additional mem.util metrics
    - docs: updates to the system CPU performance tutorial
    - packaging: add missing dependencies on some perl modules
    - packaging: drop the pcp-compat subpackage

pcp-3.10.9 (16 December 2015)
    - pmrep: swiss-army-chainsaw metric reporting utility
    - pmstat: fix sigsegv from uninit'd var use in gui mode
    - pcp-iostat: handle transient devices more cleanly
    - pmwebd: deprecate local context and unix: access
    - pmwebd: add _store protocol support as in pmwebapi(3)
    - pmlogrewrite: change severity of DYNAMIC_PMID checks
    - pmlogger: improvements to derived metric handling
    - libpcp: fix a missed context unlock case
    - libpcp: allow exclusive flag to be passed via hostspec
    - python api: resolve series of corner cases in python APIs
    - libpcp: finer-grained manipulation of pmcd timeouts
    - libpcp_pmda: plug memory leak with dynamic metric names
    - pmdajson: support counter and discrete metrics
    - pmdanetfilter: update to use current /proc hierarchy
    - pmdaroot: optimised name lookup for direct match case
    - pmdaroot: rework partial-systemd-install detection logic
    - pmdalinux: add support for guest nice CPU time 
    - pmchart: update vCPU view to account for guest_nice time
    - pmdalogger: fix buffer overrun after read()
    - pmevent: consolidate code, merge into pmval sources
    - pmdapipe: command output event capture PMDA
    - sar2pcp: add support for sysstat-11.0.1 commands
    - pmdafreebsd: numerous updates and new kernel metrics
    - zbxpcp: Zabbix Agent loadable module for pcp metrics
    - build: remove all dynamic library loading during build
    - build: switch Mac OS X packaging to /usr/local over /usr
    - build: FreeBSD porting and QA work across the whole tree
    - build: add gcc/gcc-c++ build requires for Fedora packages
    - build: refactor pmda.h to separate out pmdaroot internals
    - rc scripts: ensure no tmp_t selinux context on configs

pcp-3.10.8 (30 October 2015)
    - pmdaslurm: new PMDA exporting HPC scheduler metrics
    - pmdalinux: correctly report high speed network link speeds
    - pmdalinux: support for wireless network interfaces
    - pmdalinux: add support for NVME devices
    - pmie: fqdn functionality, added %c for action strings
    - pmlogextract: runtime reducing instance optimizations
    - pmlogrewrite: metric name lex pattern change
    - pmlogger: change semantics for first logging operation
    - rc_pmlogger: shell escape for control file "directory" field
    - pcp-atop: update with latest atop features (esp. NFS)
    - pcp-atop: fix initial fetch time offset for the globals
    - pcp-atop: fix -b/-e options to match man page description
    - docs: update Quick Ref Guide with pcp-atop/pcp-atopsar
    - docs: remove outdated pmatop man page, see pcp-atop(1)
    - python api: fix local-context mode type error
    - python api: improve handling of non-ascii instance names
    - python api: simple debugging interface to access pmDebug
    - python api: ensure an interruptible sleep is used
    - python api: add single host/archive pmOption setter methods
    - libpcp: add $PCP_DEBUG to initialize pmDebug
    - libpcp: extend __pmAF* family with __pmAFsetup
    - libpcp: resolve false-context-sharing corner cases
    - pcp2graphite: provide a local-context mode option
    - pmmgr: add the subtarget-containers option
    - pmmgr: add pmlogreduce support
    - rc_pmcd: be more careful with auto-install/-remove
    - pmcd: allow dynamic switching of monitored containers
    - pmdapmcd: add pmcd.client.container diagnostic metric
    - pmdaroot: new metric mapping containers to their cgroups
    - pmdaroot: add cgroup heuristics for non-systemd setups
    - pmdaroot: fix timeliness of creation of socket connection
    - pmdads389: add normalized dn cache metrics
    - pmdads389: instantaneous vs discrete metric corrections
    - pmdads389: send correct error codes when not connected
    - pmdamounts: correct a number of 32-bit unsafe calculations
    - pmdanfsclient: improve PMDA error handling
    - pmdaperfevent: fix invalid metric names
    - pmdaperfevent: add reference clock cycles for NHM and WSM
    - docs: added upgrade instructions to pmdaperfevent man page
    - containers: bindmount /dev/log for syslog messages
    - build: fix FreeBSD 10.2 with dtrace probes auto-enabled

pcp-3.10.7 (16 September 2015)
    - containers: added the pcp-pmie container
    - containers: remove /proc bind mount, conflicts with --pid=host
    - pcp-atopsar: new PMAPI sar command based on http://atoptool.nl
    - pcp-uptime: fix sigsegv from missing metrics on first fetch
    - pmchart: fix memory corruption when restoring Saved Hosts list
    - pmchart: fix sigsegv opening a view when no archive available
    - rc_scripts: pmie/pmlogger - logged, no longer send cron email
    - rc_scripts: pmie/pmlogger - support for control.d directories;
      backward-compatible /etc/pcp/{pmie,pmlogger}/control extension
    - rc_scripts: pmcd/pmlogger - provide a localhost-only setting
    - pmdamic: new PMDA for Intel MIC card metrics
    - pmdaproc: export CPU scheduler cgroup metrics from cpu.stat
    - pmdalinux: export IPv6 kernel metrics from /proc/net/snmp6
    - pmdalinux: fix variable types for several disk metrics
    - pmdalinux: printf int64_t and/or uint64_t support (for softnet)
    - pmdajson: updates to allow use with python 2.6 installations
    - pmcpp: support inline shell command execution
    - pmwebd: multiple metrics/instances per log graphite mode speedup
    - libpcp: use public domain getdate instead of gnulib version
    - libpcp: optimise archive decompression for common operations
    - libpcp: revert pdubuf tsearch-based optimisation, fails on OSX
    - pmieconf: add dmthin pool utilization monitoring scripts
    - python: more care taken in pmOptions destructor (could sigsegv)
    - windows port: 64-bit format specifiers throughout code base
    - windows port: fix a libpcp dlsym bug and IPC on Windows
    - windows port: fix a python crash when free'ing resources
    - pmdawindows: fix mem.cache.bytes metric kernel extraction
    - perl pmda module: fix double free error in local_sock() routine
      (observed to cause pmdamemcache crash during error path exit)
    - pmdanginx: correct errors returned for not-running nginx daemon
    - pmdamounts: add mount fs usage metrics via statvfs(3)
    - pmdapostfix: improve error handling for files vs directories
    - pmdanfsclient: fix typos in metric value parsing routines
    - pmlogconf: remove tool-specific intervals from tool templates
    - pmlogconf: add nginx, elasticsearch and memcache configs
    - docs: update quickref guide for easier command pasting
    - docs: update references to init scripts, pmlogger control files
    - docs: update pmdanginx(1) describing nginx configuration needs
    - build: configure.ac preserves optional gcc flags in the build
    - build: cater for builds using the latest Vector (now 1.0.2)
    - build: fix LGPL license annotations in headers+libraries
    - build: current FreeBSD toolchain updates

pcp-3.10.6 (4 August 2015)
    - rc_scripts: use syslog over email for error notification
    - libpcp: catch bad valfmt encoding in interp.c (SGI BZ 1100)
    - libpcp: $PATH-alike lists for derived metrics configurations
    - libpcp: add instant() method for derived metrics
    - libpcp: fix locking problem in pmGetConfig(3) routine
    - python: fix bug in pmsubsys causing timestamp to reset.
    - misc: several Coverity scan bug fixes, across the board
    - containers: add version and arch to container image filenames
    - containers: add crontab entries for containers
    - containers: don't fix pcp user since pcp-base already does
    - pmlogcheck: teach it about valfmt badness
    - pmcpp: major revamp for pmlogger use (include files & macros)
    - pmcpp: speed and robustness enhancements
    - pmdadm: fix 2 dmcache metrics encoding on big-endian machines
    - pmdalinux: fix the mnt/net namespace setns call ordering
    - pmdalinux: corrections to the linux disk statistics metadata
    - pmdalinux: ipc shared memory metrics for total, rss, and swap
    - pmdalinux: new network.softnet metrics (/proc/net/softnet_stat)
    - pmdaproc: reduce log spam in pmdaproc unknown state case
    - pmdapostgresql: separate DB username from O/S username
    - pmdapostgresql: major overhaul for different versions schemas
    - pmdapostfix: general log parsing improvements
    - pmdajson: handle instances better in the JSON PMDA.
    - pmdajson: default to instantaneous metrics and do not attempt
      to guess at semantics from type.
    - pmdaperfevent: fix typo causing memleak/worse on an error path
    - pmdadtsrun: fix parenthesis botch in Perl code
    - pmdate: correct year and month offset problems at end of month
    - pmlogconf: stop enabling percpu interrupt metrics by default
    - pmlogger: improve handling of stale primary socket links
    - pmlogger: integration with pmcpp
    - pmwebd: elide repeated indom searching in graphite mode
    - pcp2graphite: archive mode, reused connections, and python3
    - pcp-atop: correct the reporting of some system memory metrics
    - pcp-python: allow preferred-python switching at runtime
    - pcp-collectl: fix an interrupt subsystem crash
    - pcp-collectl: break out append statements for valid syntax
    - pcp-collectl: fix recording of data to archive folios
    - iostat2pcp: fix off-by-one error in disk rawactive metrics
    - docs: corrections to pmdaperfevent man page
    - docs: add some missing text to pmGetConfig man page
    - docs: correct references to pre-v3 CC-BY-SA license
    - docs: update book builds for current Publican variants
    - docs: add derived metrics section to guide.html
    - rpms: pcp-collector meta-package default-enables pmcd+pmlogger
    - build: fix dependency problems causing parallel make races
    - build: pcp containers build support via Makepkgs
    - build: ensure pmcollectl is installed, man page updates
    - build: correct rpm package dependency on pcp-libs version
    - build: disable autofsd-probe on (most) platforms, unneeded
    - build: allow pmdajson configure on/off build overrides
    - build: rework configure test for ps(1) output formats
    - build: install python-pcp in pcp-monitor container
    - build: get native Solaris builds going again
    - build: get native Illumos builds going again
    - build: get native Windows builds going again

pcp-3.10.5 (15 June 2015)
    - packaging: rebuild pmns in %post in fedora.spec
    - build: changes for SUSE SLES 12
    - ds389log: fixes to match updated logconv.pl
    - build: realpath not needed, and not there on older platforms
    - build: fix configure typo causing accidental books build
    - packaging: fedora spec updates to be more consistent with Makepkgs
    - build: add ppc64le to rpm 64bit lib macro list
    - libpcp: pmdaCache: hash determinism across compilers/platforms
    - pmda proc: Proc metrics depend on page size
    - pcp-atop: fix folio recording replay with DM indom
    - pcp-atop: fix bounds checking on disk names (valgrind)
    - pmdaproc.sh: ensure pmloggers not started if disabled
    - json pmda: tolerate json array instances that are missing
    - pmnewlog: usage tweaks
    - packaging, build: json pmda: make build and packaging conditional
    - configure: add /bin/sh as possible pid==1 candidate
    - pmlogger: initialize linger
    - pmdalinux: Deprecate hinv.nlv and hinv.map.lvname, add hinv.map.dmname
    - python: fix bug found by qa/739, unguarded destructor call
    - pmlogger: add comment explaining -o => opts.Lflag usage
    - pmnewlog: clean up usage message
    - pcp-atop: implement record mode functionality (-w option)
    - pcp-atop: resolve a print-buffer overflow on large I/O values
    - build: src/include/builddefs.in: promote QA SUBDIRS
    - pmie: prevent premature rule evaluation in pmie live mode
    - pmlogger: add initial support for running in local context mode
    - rc scripts: Use full path to pmlogger in pmlogger_check
    - containers: Use pcp-base as the base image for all other PCP containers
    - containers: introduce pcp-base container, for layering
    - pcp-atop: reading from PCP archives now operational
    - rc scripts: Don't fork pmcheck co-processes in a container environment
    - pmlogconf: use the correct dm metrics in the atop set
    - pmtime: further workarounds for App Nap on Mac OS X
    - pcp-atop: archive mode and md/lvm device support
    - pmie: fix for ruleset UNKNOWN case
    - pmie: add new 'instant' operator, with doc updates
    - pmda json: Skip sources with the same name in the JSON PMDA
    - pmlogger_check: re-process every logconf group on config updates
    - pmlogconf: qa and other updates following recent additions
    - pmfind, pmsleep: Use sig_atomic_t within signal handlers
    - pmda json: Add python 2/3 compatibility fixes
    - packaging: ensure pmiostat and pmatop symlinks end up in system-tools
    - pcp-atop: feature-filled PMAPI version of atop
    - containers: configuration of optional PMDAs in pcp-collector container
    - containers: prototype Dockerfiles and build infrastructure (not integrated)
    - build: retire old pmtop sources and man page
    - build: allow for multiple man pages below one src subdir
    - pmdaproc: add two /proc/pid/status metrics, used by atop
    - pmdaproc.sh: fix temp file handling
    - packaging: Mirror pcp.spec.in package into fedora.spec
    - pmdalinux: restore pmlogrewrite config file name
    - build: add struct declarations for application headers
    - build: add ncurses configure checking via pkg-config for console tools
    - packaging: debian: add missing pmGetOptionalConfig.3.gz entry
    - pmda linux_proc: cleanup up the jiffies -> msec calculations
    - linux pmda: fix up types for some disk i/o metrics
    - jbd2 pmda: add pmlogrewrite support for KERNEL_ULONG metrics
    - pmlogextract: fix additional corner case for -d
    - pmdalinux: code refactoring, common source files for ipc metrics
    - pmdaroot: Fix NULL pointer deref for initial root_container_search(NULL)
    - pmdaproc: ensure environ_buf buffer correctly setup on refresh
    - docs: correct the pmmktime(3) return code - not a pointer
    - pmie: add quiet mode to suppress default diagnostics
    - python pmda api: Fix problems when returning fetch errors
    - pcp.sh: ensure usage always generated via --help option
    - pmdas: handle multiple pmchart config files for pmda installs
    - pcp-shping: report shell-ping availability/response times
    - pmda linux proc: Fixup some of the time types in linux_proc descriptors
    - pmda json: Ignore cache load erros, fix refresh metric bug
    - pmda json: Improve the JSON PMDA by use of indom caches
    - libpcp python: Improve indom cache handling, add Add pmdaCacheResize()
    - libpcp: add a pmGetOptionalConfig(3) for safe use in DSOs
    - pmdaroot: fix order of pmdaConnect/Init for slow start case
    - build: improve parallel builds, use make %{?_smp_mflags}
    - pmdaroot: Add some additional DBG_TRACE_ATTR debug printfs
    - build: update mac plist properties, attempt an appnap workaround
    - pmdaroot: fix race and segv with short-lived containers
    - docs: man/pmda.3: document the hidden variables in pmdaproc.sh
    - pmdaproc.sh: rework, retire perl_args and python_args
    - pmdalinux: fix container issues, especially with networking metrics
    - libpcp: allow duplicates pmns names
    - build: work-around bugs in RPM filter-requires
    - build, packaging: lots of conditional Requires clauses
    - packaging: Wrap pcp-pmda-rpm and pcp-gui with proper %if checks
    - docs: Fix location of pcp-webjs gitweb in the pcp guide
    - build: spin-rawhide: Extract version info from VERSION.pcp
    - build: add rpm conflict handling for pcp command in librapi
    - packaging: Add pcp-doc to pcp-compat deps to avoid losing man pages on upgrade
    - packaging: Rename pcp-pmda-nvidia rpm to pcp-pmda-nvidia-gpu
    - perl binding: refine perl PMDA interface error codes
    - build: pmda.h: refine PMDA_PMID macro
    - packaging, build: rpm packaging split - split out most PMDAs
    - build: Add configure psproc check for /bin/bash for open build systems
    - pmdaproc: consistent error code for missing proc.psinfo metrics
    - pmda systemd: re-enable with reworked regex in file selection
    - packaging: add pcp-compat package for back-compat upgrades
    - pmdapostfix: logfiles are root-readable only, drop setuser (RHBZ #1213724)
    - pcp-lvmcache: added link, an exact synonym for pcp-dmcache
    - docs: add a configure switch for publican brand support
    - libpcp: add pmGetVersion
    - rc scripts: more cautious approach to using systemctl for Debian
    - docs: describe hotproc in the quick reference guide
    - pmda json: add an empty "trusted_directory_list" to default config file
    - libpcp: new error code PM_ERR_BADSTORE for malformed pmstore input
    - hotproc: update the pmdaproc manpage with hotproc info
    - hotproc: Allow config file reload
    - hotproc: disallow hotproc.conf with global write mode
    - pmda postfix: bugfix to report mails submitted using mail program
    - hotproc: support disabling via pmstore
    - pmdaproc: add help text for new cgroup mem metrics
    - pmiostat: Add pmiostat to the list of tools known to pmafm
    - pmda root: fix for root_root installer problem on Mac OS X
    - pcp-monitor and pcp-collector 'meta' packages to pcp.spec.in
    - libpcp: libpcp/check-statics: more Mac OS X changes
    - pmda postfix: Force restart for postfix pmda installation to change gid
    - libpcp: p_profile.c: add fault injection points in libpcp_fault
    - pmnscomp: remove code ... no longer used - deprecated
    - libpcp: avoid pmcpp when loading PMNS for the most common usage
    - pmda rpm: check return status from pthread_create
    - hotproc: add guards for missing ioentry
    - pmdumplog: fix cmdline filename handling
    - pmdaproc: additional proc memory, namespace and memory cgroup metrics
    - python: exception handling improvements
    - pmdamounts: fix stack corruption for large mount options
    - libpcp: pmns.c pmNameID and pmNameAll error handling fix
    - pmwebd: add -I option for opening directories-as-archives for graphite
    - pmwebd: graphite-png rendering: tweak graphics
    - pmwebd: compressed archive mitigation, skip them in graphite mode
    - pmwebd: crash fix: png-rendered multiple graphs with corrupt archives
    - pmwebd: handle exit_p requested during graphite data-mass gathering
    - pmwebd: fix little memory leak for fts() during interrupted rendering
    - pmwebd: add a "-i MIN-INTERVAL" option for graphite time-precision control
    - hotproc: cleanups, gracefully handle no schedstat, config cleanup
    - pmiostat: accumulate -x arguments, remove duplicate error handling
    - ds389log: init metrics with PM_ERR_AGAIN not zero
    - pmdads389[log]: make configuration variables actually configurable
    - pmdads389: make more resilient to server failures
    - libpcp: interp.c: massive performance improvement in archive replay
    - build: scripts to set up a buildbot 
    - libpcp: pmLookupName() error handling, especially for dynamic metrics
    - hotproc: fix an off by one error for fname configs
    - rc scripts: Allow more than one .NeedInstall to occur at a time
    - pmie: remove unnecessary 2 second delay at live startup
    - pmiostat: usage message cleanup
    - build: pmchart: porting work to current macosx compiler
    - packaging: Build pmns in RPM spec for faster startup

pcp-3.10.4 (15 April 2015)
    - pmdalinux: fixed kernel.pernode.cpu.* for systems with only one CPU.
    - pmdadm: merged in pmdadmcache, added thin provisioning metrics
    - pmcd: fix failure to recover from errors sending client attrs
    - pmcd: don't advertise presence if -A specified.
    - pmchart: fix metric/host selection for containers
    - python build: support for epel5 builds using python26 packages
    - python api: do not assume unicode is only for python3
    - stdpmid: updated the reserved domain number ranges
    - libpcp: fix instance request memory corruption for large requests
    - libpcp: multi-threading fixes and pdubuf optimisations
    - libpcp: fix Avahi-related memory corruption
    - libpcp: fix an interpolation performance issue
    - libpcp: fix getopt --hostsfile parsing
    - libpcp: tighten error handling in __pmGetArchiveEnd()
    - pmwebd: enable multi-threading by default
    - pmwebd: correct _indom array-allocation logic
    - pmwebd: additional ACAO headers to resource responses
    - pcp2graphite: python version neutral handling of stdout flush
    - pcp-verify: a new utility for verifying collector setups, especially
      for use with containers
    - pcp sh: fix tempfile leak with sub-commands, refactor pcp-summary
    - rc scripts: ensure rundir directories created when needed
    - rc scripts: ensure tmpfiles not leftover from helper scripts
    - rc_pmcd: add .NeedRemove option for pmcd start script also
    - pmpause: lightweight pmsleep extension for a pmcd container
    - pmlogcheck: merge previous versions, added documentation and tests
    - pmdumplog: new options and new log reading logic
    - build: add missing configure check for pkg-config requirement
    - build: Dockerfile for a pcp-pmcd container image based on Fedora
    - build: get Mac builds going on current Mac OS X (10.9/10.10)
    - configure: fix AC_MSG_ERROR parameter passing
    - packaging: fix default pmlogger/pmie configs directory location
    - packaging: simplify rpm dependencies on pcp-webjs package via %dir
    - packaging: relax the allowed-libpfm-version checks a little

pcp-3.10.3 (2 March 2015)
    - enhancement: ongoing improvements to the native containers support
	https://pcp.io/docs/lab.containers.html
    - enhancement: pmlogger on-the-fly one-shot recording
    - doc: containers tutorial.
    - build: new scripts directory. Contains useful scripts for project
      management tasks.
    - build: python-pcp no longer required.
    - build: python3 now used where available.
	https://bugzilla.redhat.com/show_bug.cgi?id=1194324
    - build: new --with-papi configure option.
    - qa: lots of improvements for robustness, portablity and determinism.
    - qa: duplicate PMNS names allowed by default.
    - pmdapapi: add papi refresh/read batching: papi.control.batch.
    - pmdalinux: improve /proc/cpuinfo parser for irregular formats.
    - services: ensure that they start after pmcd.
    - libpcp: allow duplicate names to map to the same PMID by default.
    - libpcp: duplicate PMNS names allowed by default.
    - pminfo: duplicate PMNS names allowed by default. Reverse the semantics of
      the -n and -N options.
    - pmlogger: duplicate PMNS names allowed by default
    - dbpmda: duplicate PMNS names allowed by default
    - pmcd: duplicate PMNS names allowed by default. Reverse the semantics of
      the -n and -N options.
    - pmdumplog: duplicate PMNS names allowed by default.
    - pmlogreduce: duplicate PMNS names allowed by default.
    - pmlogsummary: duplicate PMNS names allowed by default.
    - pmlogcheck: duplicate PMNS names allowed by default.
    - pmevent: duplicate PMNS names allowed by default.
    - pmchart: add an extra optional chart colour scheme.
    - solaris PMDA: duplicate PMNS names allowed by default.
    - ganglia2pcp: new utility.
    - bug fix: pmlogger: signal delivery may lead to deadlock
    - bug fix: libpcp: AF functionality has posix-signal-unsafe elements

pcp-3.10.2 (23 January 2015)
    - PMAPI extension: pmParseUnitsStr. Includes python binding
    - libpcp/pmcd: protocol-level support for containers
    - libpcp_pmda - add pmdaInterfaceMoved() function
    - pmdalinux: improve help text for network metrics
    - pmdalinux: remove support for devfs device names - replaced by udev
    - pmdalinux: rework hinv.map.scsi for longer scsi device names and indom
    - pmdalinux: switch to running as a daemon, as root
      persistence
    - activeMQ: new pmda
    - CIFS: new pmda (Common Internet File System)
    - pmda unbound: a new PMDA for the Unbound DNS resolver
    - pmdapapi: add configure conditional to test for
      PAPI_component_info_t->disabled
    - pmdapapi: add papi.available.version to output current PAPI version being
      used
    - pmdapapi: other new metrics
    - pmdapapi: drop root requirement for less sensitive papi.available metrics
    - pmdapapi: use dynamic metric description
    - dbpmda: extend string syntax to include both " and ' delimiters
    - rc_pmcd: execute _pmda_setup in the background
    - Solaris build improvements:
      - Support for Solaris symbol versioning
      - use a libcpp exports comment style that works for both Linux and Solaris
    - pmwebd: buildability fixes for illumos-based distros
    - pmda root: a privileged pmcd co-process
      Initial implementation of "pmdaroot", a helper co-process
      for pmcd that runs with elevated privileges and is able to
      (well, will be able to soon) offer services to pmcd and to
      other PMDAs where root access is required
    - pmdaroot/libpcp_pmda: interfaces for changing namespaces
    - pmlogextract robustness improvements
    - add pcp2graphite
    - fix security PR1101: unprivileged access to linux proc.* metrics on modern
      kernel
    - Fedora 1180109: pmda cleanup was killing unrelated python and perl
      processes

pcp-3.10.1 (1 December 2014)
    - pmda proc: rework existing per-cgroup metrics - no
      longer use dynamic metrics, allowing arbitray names
    - pmda proc: add many new per-cgroup metrics, audited
      definitions (units, etc) for existing metrics.
    - perfevent pmda: new libpfm hardware counters agent
    - papi pmda: switch to using dynamic metrics
    - papi pmda: multiplexing, auto-enabling options
    - papi pmda: added a new papi.control.reset metric
    - pmwebd: improve /metrics/find for graphite dashboard
    - pmwebd: $PCP_SHARE_DIR/webapps - default web content
    - docs: clarify web services section in quick guide
    - docs: fix books build for current publican versions
    - docs: enable building of html book content as well
    - linux pmda: improve aarch64 /proc/cpuinfo parsing
    - libpcp: fix 64bit endian bug in highres event timers

pcp-3.10.0 (31 October 2014)
    - pmlogextract: improve handling of corrupt archives
    - linux pmda: add hinv.{cpu,node}.online metrics
    - gluster pmda: thread-based timeout for long queries
    - linux pmda: fix hinv.cpu.clock refresh logic
    - dmcache pmda: add missing instance request handler
    - iostat2pcp: cater for iostat output format changes
    - packaging: fix debian suggests vs recommends usage
    - sample pmda: add pmStore support for some metrics
    - python: pmda module object refcounts improvements
    - pmiostat: support archives converted from collectl
    - FreeBSD pmda: changes for 32-bit platforms
    - docs: html validation fixes for the tutorial
    - pmie: rework control and config files
    - pmlogger: rework control and config files
    - pmstat: add pmlogger config as per man page
    - proc pmda: parser rework to improve robustness
    - proc pmda: per-proc context switch & other metrics
    - man pages: pmdiscoverservices(3) and pmfind(1)
    - ds389 pmda: 389 Directory Server PMDA
    - ds389log pmda: 389 Directory Server log processing PMDA
    - linux pmda: add rpc.server and nfs v4.1 ops metrics
    - telnet-probe: fix byte-by-byte copying
    - papi pmda: default enable when possible
    - docs: improve quick reference guide, use man7.org
    - pmproxy: fix new client init for secure connections
    - pmdiff: minor output formatting improvements
    - linux pmda: fix initialization for netstat metrics
    - pmlogger: fix small race on exit condition
    - timeval refactoring for improved double arithmetic
    - python: drop support for versions older than 2.6
    - python3: add pcp module support for 3.3 and newer
    - build: workaround qmake handling of library paths
    - Mac OSX build/install improvements
    - pmwebd: support for more javascript demos (including
      graphite/grafana - via separate pcp-webjs package)
    - pmwebd: extend precision for floating point outputs
    - pmwebd: Access-Control-Allow-Origin header additions
    - pmwebd: experimental pthread support
    - pmwebd: new options file configuration format
    - pmmgr: avoid some granularity-edge races

pcp-3.9.10 (5 September 2014)
    - Support for native systemd service files for daemons
    - Support for nanosecond resolution event timestamps
    - Changes to the FreeBSD build to bring it up to date
    - libpcp: reduce daemon memory usage with secure sockets
    - libpcp: add auto-deflate support for xz compression
    - pmie/pmlogger scripts: xz compression support enabled
    - pmie/pmlogger scripts: lzo compression support added
    - pmlogconf: fix slow pmlogger_daily remote host startup
    - pmcd_wait: fixed to handle af_unix sockets correctly
    - pmatop: fix help keys
    - pmatop: parse standard pcp options (including archives)
    - pmstore: support for local-context mode of operation
    - pmdiff: additional reporting options, added to /usr/bin
    - pmdiff: fix column layout with custom precision setting
    - pmlogsummary: fix time window reporting with -S and -T
    - pmdapapi: new agent for PAPI hardware event counters
    - pmdagfs2: latency metrics for glock grant/demote/queue
    - pmdamysql: change metric semantics for "uptime"
    - pmdaxfs: fix DSO mode and allow test data injection
    - pmdammv: long option support
    - docs: numerous updates to the online documentation
    - docs: added a quick reference guide for Red Hat users

pcp-3.9.9 (13 August 2014)
    - sar2pcp: support for systat version 10.2.0
    - pmiostat(1): new monitor tool with iostat-alike output
    - pcp-dmcache(1): new monitor tool for dm-cache devices
    - pmdalinux: disk.dm.* metric hierarchiy (device mapper)
    - pmdalinux: refine device mapper naming for old platforms
    - pmdalinux: allow controlled data injection for QA tests
    - pmdadmcache: new agent for device mapper cache targets
    - pmdainfiniband: correctly initialise switch metrics
    - libpcp: global timeout option for service discovery
    - libpcp: __pmDiscoverServicesWithOptions() improvements
    - libpcp: grok '%<interface' for link-local ipv6 addresses
    - libpcp: derived metrics support for new rate() keyword
    - python api: many convenience class module extensions
    - python api: timeval accessor helper interfaces
    - python api: pmUnitStr now uses thread-safe version
    - python api: pmNumberStr_r now available from python
    - python api: fix derived metrics interface exceptions
    - pmlogconf: mark some log-default metrics as log-once
    - dbpmda: use the correct (blocking) socket API variants
    - pmlogger_daily: fix $PCP_RUN_DIR creation checks

pcp-3.9.8 (16 July 2014)
    - Add overlooked Debian packaging metadata updates.

pcp-3.9.7 (16 July 2014)
    - pmie: "ruleset" extensions to the pmie(1) language
    - pmdaproc: additional memory and new blkio cgroup metrics
    - pmdanvidia: new Nvidia GPU PMDA using NVML interfaces
    - pmdainfiniband: add switch counter metrics
    - pmdalustrecomm: bug fixes in the lnet memory metrics
    - pmdamemcache: fixed underlying socket code
    - pmdalinux: mem.util.available for down-rev kernels
    - pmdagfs2: several fixes and improvements in behaviour
    - pmdas: support for long form command line options
      (aix, jbd2, linux, lustre, mounts, processes, sample,
      sendmail, txmon, xfs)
    - libpcp: 'timeout' option for 'probe' service discovery
    - libpcp: secure sockets timeout handling improvements
    - pmie examples: updates to the pmie tutorial docs
    - pmchart: new MemAvailable view for mem.util.available
    - porting: additional GNU/Hurd port updates
    - packaging: fix Makepkgs script for old tar versions
    - packaging: fix rpm builds for rpm versions prior to 4.6
    - libpcp: use minimum required stack for discovery threads
    - libpcp: archive folio parsing in option handling code
    - python APIs: archive folio parsing for recording tools
    - man pages: updates to service discovery APIs and tools
    - libpcp: archive interpolation thread safety improvements
    - libpcp: fixed memory leak from pmDestroyContext(3)

pcp-3.9.6 (19 June 2014)
    - Fix pthreads build fallout for Solaris platforms
    - Remove accidental /var/run/pcp install on Debian
    - Rename configure.in to configure.ac as autoconf prefers

pcp-3.9.5 (18 June 2014)
    - porting work on the GNU/Hurd platform
    - porting work on Windows (early MinGW-64 work)
    - pmdalinux: add in the new mem.util.available metric
    - pmchart: new vCPU view, resolve guest time reporting
    - pmwebd: add CORS "Access-Control-Allow-Origin: *" to
      JSON response headers
    - pmatop: improvements to value fitting
    - packaging: gui debuginfo/testsuite correctly replaced
    - pmconfig: moved install location for Solaris conflict
    - pmstat: fix hostname reporting when in cluster mode
    - Coverity scan fixes in libpcp, python, and elsewhere
    - packaging: pcp-doc now contains all of the tutorial bits
    - python: timeval/metricspec error handling improvements
    - pmatop: handle curses problems more gracefully
    - pmdapostfix: run as postfix user, not the pcp user
    - python: fix pmParseInterval failure segfault
    - python: fix segfault when printing empty units
    - libpcp: functions for collecting server port numbers
    - pmcd.services metric reflecting PCP daemon usage
    - libpcp, pmfind: active service probing
    - pmproxy, pmwebd: support for service discovery
    - pmcollectl, pmatop: improved log writing support
    - pmie: long option support
    - pmquery: neater output formatting
    - pmchart, pmtime: long option support
    - pmdasystemd: install the built binary
    - python: significant work on the pcp.pmcc module, adding
      long option support, scale conversion, an initial fetch
      loop method, and entirely new convenience classes
    - pmlogcheck: fix bad memory access sigsegv on some logs
    - Fix infinite loop in build scripts without Qt enabled
    - pmdalinux: add metrics from /proc/net/netstat
    - pmdumptext: long option support
    - pmcollectl: support for sub-second sampling intervals
    - Revive support for RHEL5-era builds, post pcp-gui merge

pcp-3.9.4 (15 May 2014)
    - pmlogger: improved archive I/O features, esp for access to
      archives while they are actively being written
    - pmlogger/pmlc: all flushing operations are now no-ops, but
      they remain available for backward compatibility
    - pcp-free: use pmConvScale in case metric units ever change
    - pmlogmv: fix a couple of argument handling corner cases
    - another round of IPv6 updates throughout PCP, making use
      of __pm* networking APIs instead of e.g. gethostbyname.
    - archive utilities updated for long option support:
      pmdumplog, pmlogcheck, pmlogextract, pmlogger, pmloglabel,
      pmlogreduce, pmlogrewrite and pmlogsummary
    - PMDAs with long option support:
      pmdaapache, pmdabash, pmdagfs2, pmdasample, pmdasimple,
      pmdatrivial
    - libpcp: allow addition of free-form text to usage messages
    - pmgetopt: new cross-platform long option handling utility,
      allowing pcp shell scripts to acquire long option support
    - shell scripts updated to support long options:
      pcp, pmie2col, pmie_check, pmie_daily, pmlogger_check,
      pmlogger_daily, pmlogger_merge, pmlogmv, pmnewlog, pmwtf,
      pmsignal, pmlogconf
    - pmlogger: improve pmlc access controls
    - man pages: more detailed pmlc/pmlogger access control docs
    - pmda systemd: adopt slow-start capability
    - pcp command: improved error handling
    - pmcollectl: correct reporting of disk and network details
    - merged pcp-gui source tree (back) into pcp

pcp-3.9.2 (15 April 2014)
    - python api: direct support for creating derived metrics
    - python api: fix C strings memory leak in pmExtractValue
    - python api: fix pmConvScale parameterization
    - python api: pmLookupName API mode allowing partial failure
    - python api: improvements to the pmErr exceptions class
    - python api: support auto-command-line-parsing in scripts
    - python api: switch to thread-safe pmGetContextHostname
    - pcp: support for scripted pcp(1) child commands, adding in
      pcp-free(1), pcp-uptime(1) and pcp-numastat(1) to get the
      ball rolling (python scripts)
    - pmlogmv: new utility to atomically move/rename archives
    - pmconfig: improvements to quoting for unusual versions
    - pmdaproc.sh: allow Install/Remove from any directory
    - libpcp: pmgetopt_r interface for use by collector tools
    - libpcp_pmda: slow-start PMDA changes
    - libpcp_pmda: fix a memory leak dealing in dynamic metrics,
      with PMDAs using the optional hashed metric table method.
    - libpcp_pmda: long option command line processing interface
    - libpcp_pmda: handle POSIXLY_CORRECT arguments internally
    - pmcd: remove POSIXLY_CORRECT env modifications
    - dbpmda: remove POSIXLY_CORRECT env modifications
    - pmlogger_check: add a no-merging-renaming-rewriting option
    - pmlogger_daily: don't merge archives if it is not needed
      (optimization)
    - perl pmda api: add documentation for PCP::PMDA interfaces
    - pmdalinux: fix a memory leak in cpu:node name resolution
    - pmmgr: fix daemon invocation quirk for some sh variants
    - pmdarpm: improvements to concurrent rpmdb access
    - pmdarpm: rpm.size metric now 64bit, matching rpmdb changes
    - pmdaproc.sh: add $perl_args and $python_args
    - long command line options support:
      pmdamailq, pmns utilities, newhelp, pmcd, pmcd_wait, pmcpp,
      pmdate, pmdbg, pmerr, pmhostname, pmieconf, collectl2pcp,
      pmlc, pmmgr, pmproxy, pmwebd.
    - Makepkgs changes to support source tarball builds via git
    - HACKING file added, describing PCP development methodology

pcp-3.9.1 (19 March 2014)
    - libpcp: extended date parsing with GNU getdate(3) strings
    - libpcp: APIs for tools to share command-line options code
    - libpcp: thread-safe API variant for pmGetContexHostName()
    - libpcp: fix local:/unix: bug in __pmUnparseHostSpec
    - Begin adding long option support to tools (pminfo, pmval,
      pmprobe, pmstore, pmstat, pmclient so far)
    - Fix python module bug for PMDAs without instance domains
    - pmmgr: -march=i386 build fix
    - pmlogger_daily: fix problem with pmproxy connections
    - pmdagfs2: miscellaneous updates
    - pmdanfsclient: new PMDA exporting NFS client metrics
    - pmdazswap: new PMDA exporting compressed swap metrics
    - testsuite: porting, several new tests, updates to existing
      tests, resolved a couple of SELinux related problems
    - Series of portability changes for *BSD platforms

pcp-3.9.0 (19 February 2014)
    - Packaging changes for multilib pcp-libs{-devel},pcp-conf
    - Packaging changes for pcp-manager and pcp-webapi split
    - pmmgr: signal-response improvements
    - pmmgr: add pmlogmerge-granular mode
    - pmmgr: pmlogrewrite support
    - pmmgr: latency-based tie-break for multi-URL target pmcds
    - pmmgr.1 man page: outline archiving strategy tradeoffs
    - pmdalinux: s390x platform issues in /proc/cpuinfo parser
    - pmdalinux: valgrind fix for /proc/stat parser
    - pmdagluster: improvements to multiple volume handling
    - pmdagluster: support for additional file operations
    - pmlogextract: <mark> record handling fix
    - pmdas: further robustness improvements to dynamic names
    - pmdas: Install scripts can run even when pmcd is stopped
    - pmdanfsclient: add source code (not yet enabled in build),
      thanks to Ben Myers
    - LOGARCHIVE(5) man page: new, documents on-disk log format
    - pmdammv: fix sigsegv when no MMV tempdir is present
    - pmclient: updated to match the Programmers Guide examples
    - pmapi.py: fix python interface to pmLocaltime and pmCtime
    - debian: use autotools-dev to update config.{sub,guess},
      thanks to Logan Rosen
    - pmdumplog: add a -x option for extended timestamp reports
    - pmie: fix count_* operators with dynamic instance domains
    - pmie: fix fetch logic with dynamic instance domains
    - testsuite: ensure pcpqa account creation does not warn
    - testsuite: numerous new tests, updates to existing tests

pcp-3.8.12 (29 January 2014)
    - Fix recent (3.8.10) regression for certain platforms where
      important PMNS files ended up not being installed.  Impact
      is on new installs only, not upgrades (so my QA missed it).
    - pmmgr: add -l (logfile) option to fix a permissions issue.
    - pmdalinux: fix sigsegv on certain ICMP procfs file lines.
    - Further improvements to pmlogger internal data structures
      dealing with configuration files with duplicate metrics
      and/or instances - improved in terms of network fetching,
      as well as on-disk data layout (all backwards compatible).
    - pmdarpm: added cumulative rpm.total.{count,bytes} metrics.
    - Add man pages for all of the PMDAs currently missing one.

pcp-3.8.10 (15 January 2014)
    - Adds pmmgr(1) PCP daemon manager - a cunning new (opt-in)
      approach to managing farms of pmlogger and pmie processes.
    - Adds pmfind(1) utility for discovering advertised pmcd
      services (initially) on the network.
    - Adds a new pmDiscoverServices(3) PMAPI routine.
    - Linux pmda: plug memory leak in /proc/interrupts parsing.
    - systemd pmda: add sd_journal_process() to avoid inotify()
      driven spinning
    - Man page rework for some NAME entries, addressing SGI oss
      bugzilla #972)
    - Add notes for creating user pcp before make from source,
      addressing SGI oss bugzilla #1040)
    - Improve behavior related to Avahi service name collisions.
    - Dodge another hostname-does-not-resolve bullet in pmlogger.
    - Fix the configure check for RHEL5 rpmlib for pmdarpm.
    - An extensive series of spelling fixes to man pages, thanks
      to Michele Baldessari
    - Small fixes here and there from Coverity static analysis.
    - GFS2 pmda: add the complete set of GFS2 tracepoint metrics.
    - RPM pmda: make instance names unique, add rpm.name metric.
    - RPM pmda: reduce number of inotify events and rpmdb scans.
    - Add some heuristics to reduce metric duplication from tasks
      formed via pmlogger configuration file blocks.

pcp-3.8.9 (12 December 2013)
    - Fix pmdalinux stack blowout during ioctl() for network
      interfaces.
    - Add a generic string cache concept for PMDAs to use when
      needing to perform string value de-duplication.
    - Add a PMDA for the RPM Package Manager exporting package
      metadata and state.
    - Fix bug in pmlogextract handling time windows and metrics
      with dynamic indoms.
    - Allow the host part of the host spec to be enclosed with
      square brackets - needed for IPv6 addresses in order to
      separate the address from the port.
    - Fix an Avahi and pmcd conflict when using multiple ports.
    - Introduce shared library symbol versioning and hidden
      attributes for all PCP libraries.
    - Reduce internal API/ABI leakage in libpcp with respect to
      endian code, locking code, and derived metrics.
    - Bring the Solaris port back up to date with latest source.
    - Tag temporary files created by qa tests with test prefix.
    - Split PCP_TMP_DIR setting into its two distinct use-cases
      removing the need to install world-writable-sticky-bit-set
      directories.
    - Add /proc/cpuinfo flags and cache_alignement fields (x86).
    - Improvements to the hinv.cpu.model metric value we export.
    - Ensure pmcpp does not accidentally #include directories.
    - Better cleanup of uncompressed temporary files in libpcp.
    - Correct pmdasystemd fd_set usage.
    - Gracefully handle missing python curses module scenario.
    - Improvements to pmstat error handling.
    - Update pmcds config file parser - cleaner quotes handling.
    - pcp.sh - change formatting for pmie and pmlogger details.
    - Unknown Host fixups in libpcp __pmHostEnt code.
    - Add a security philosophy section to PCPIntro(1) man page.
    - Dodge wchan in Linux proc PMDA if procfs file not found.
    - Add network.interface.hw_addr metric (exported from sysfs)
    - Remove a nowadays-empty config directory from installation
    - Resolve rpm upgrade warning from missing .NeedRebuild file
    - Add pmdaproc option to skip access checking, for secure /
      isolated environments.
    - Make NSS use a stronger default cipher suite.

pcp-3.8.8 (3 November 2013)
    - Dodge Debian build issues related to kfreebsd sys/sdt.h.

pcp-3.8.7 (3 November 2013)
    - Resolve Debian build issues related to pkg-config/Avahi.

pcp-3.8.6 (1 November 2013)
    - Added a new Linux JDB2 PMDA (ext3, ext4, ocfs journals).
    - Added Linux kernel PMDA mem.util.directMap1G metric.
    - Rework previous fix for Debian kfreebsd port wrt probes.
    - Further work on Coverity scan issues, again nothing big.
    - Further work on removing the hostname-as-DNS-entity, add
      more use of pmGetContextHostName, more default-to-local:
      tools.
    - Initial support for DNS-SD via Avahi in pmcd for service
      discovery.
    - Change pcpqa to default to $PCP_VAR_DIR/testsuite as its
      home directory.

pcp-3.8.5 (18 October 2013)
    - Add jsdemos for the web API into the source tarball.
    - Resolve Fedora/EPEL build issue for Infiniband PMDA.
    - Resolve Debian build issue for kfreebsd probes.h
    - Remove hostname checks in pmie/pmlogger script PID search.
    - Much work on QA.  Zero test failures on release for RHEL6,
      and there was much rejoicing.
    - Many Coverity scan issues resolved, nothing major though.
    - Ensure MMV PMDA entry exists in default pmcd.conf once more.
    - Add Linux disk.partitions metrics to the default logged set.
    - New hinv.nlv (logical volume count) metric into Linux PMDA.
    - Update pmevent to use local: as the default mechanism.
    - Numerous updates to the GFS2 PMDA.
    - Reinstate a pmcd sigsegv fix, lost in an earlier merge.
    - Fix handling multiple concurrent clients in pmdasystemd.
    - Fix memory leak in pmNewContext failure path seen via pmie.
    - Make default crontab install cooperate with runlevel settings.
    - Add a privacy-protecting pmdasystemd uid/gid-filtering mode.
    - Functional network.interface speed/duplex metrics on older
      kernels (2.6.32 vintage and earlier, for example).
    - Support for IPv6 address and scope metrics (ifconfig-style)
    - Numerous updates to the pmatop utility.
    - Updates to the PCPIntro(1) manual page.
    - Improvements to the Linux per-process metrics values for any
      threads being reported.
    - Options for restricting Linux pmdaproc to a named cgroup.
    - Update pmlogger to default to local: connection mode.
    - Allow opt-out with the default-enabled xfs and proc PMDAs.
    - Resolve a pmcollectl divide-by-zero (python stack trace).
    - Fix recursive expansion of child cgroups in Linux pmdaproc.
    - Fix a pmie core dump with archives, interp and mark records.
    - Reduce memory footprint of Linux per-process metrics.
    - Add proc.psinfo metrics for cgroups and security labels.
    - Use local: connection by default in pmatop and pmcollectl.
    - Update the python API wrapper to default to local: connection.
    - Improvements to pmcollectl host name handling.
    - pmGetContextHostName return to static char[] return value.

pcp-3.8.4 (15 September 2013)
    - Allow numerous of the pmlogconf/tools templates to be probed
      and enabled.  These are Linux tools, so we probe for (remote
      possibly) Linux hosts only for these.
    - Numerous QA test updates, resolving small amounts of fallout
      from the previous release reported by Red Hat QE folks.
    - Updates to the Samba PMDA.
    - Improvements to the Debian build - remove Infiniband deps as
      we're not attempting to build that anymore there (evidently,
      poor cross platform support?  Can revisit if anyone needs it).
    - Remove Debian dependence on deprecated sysv rc package.
    - Resolve Debian packaging override disparities.

pcp-3.8.3 (9 September 2013)
    - Split the XFS and XFS quota metrics into a separate PMDA
    - Optional hash-based metric table lookups for PMDAs
    - pmdagfs2: updates
    - pmlogrewrite: add support for indom replication
    - pmatop: Decrease screen real estate used for display.
    - Fix the pmdabash shell version support validation code
    - Add gluster PMDA into the build, really this time
    - Add hinv.nnode metric to pmdalinux, mirroring the IRIX metric
    - Add an option allowing custom pmcd.hostname settings
    - Implement host access checking for unix domain sockets.
    - Man page updates, esp. to pmcd.1 re access controls.
    - Add static probe support for pmcd probes (systemtap/dtrace)
    - Change pmGetContextHostName to be pmcd.hostname aware and thus
      able to report the correct remote hostname through a tunnel.
    - Update numerous tools to use pmGetContextHostName now.
    - Demonstration programs for the MMV API
    - Add pmdasystemd journal event count and total bytes metrics
    - Use -fPIC over -fpic, resolving build issues on some platforms.
    - Ensure Perl refcount bumped on PMDA.pm pmdacache stored variables
    - Fix pmie/pmlogger control scripts - bad pmproxy handling
    - Add a mechanism for packaging to avoid chown use, for Debian.

pcp-3.8.2 (31 July 2013)
    - Support for the Unix domain socket transport between pmcd
      and client tools, using the "unix:" host specifier (and the
      more forgiving "local:" which falls back to localhost if no
      platform support exists).
    - Note: PCP_RUN_DIR is as a result now installed owned by the
      "pcp" user and group (rather than as "root").  Several other
      directories are also now installed "pcp"-owned too, after
      (unrelated) pmie and changes described below.
    - Support for automatic extraction of client tool credentials
      with Unix domain sockets, and transfer to interested PMDAs,
      on Linux, Mac OS X and Solaris.  IOWs, PMDAs now know which
      user they are acting on behalf of for each connection, when
      this class of socket is used.  In a future release, it hoped
      to make this the default local connection style.
    - Extensions to pmdaproc to allow it to perform access-control
      checking and metric value fetches as the user requesting the
      data, instead of as root, such that kernel-based permission
      checking is now performed.
    - Re-enabled pmdaproc by default on Linux.
    - pmdagfs2: updates to metrics, tests and a new manual page.
    - pmdagfs2: fixes for distributions without gfs2 trace-points.
    - pmdalinux: fix hinv.map.lvname realink memory corruption bug.
    - pmdalinux: fix issue where EPERM passed out as a fetch result
      with inaccessible filesystem paths.
    - pmdalinux: rework /proc/net/snmp metric extraction, added new
      metrics from recent kernels (checksum error counters, icmpmsg).
    - Linux PMDA SNMP metric type migration support (log rewriter).
    - pmdasystemd: correct .maxmem metric to PM_SPACE_BYTE
    - pmdasystemd: limit number of journald entries consumed per poll
    - pmdamysql: additional status metrics suitable for pmie rules.
    - pmdamysql: correct units and type for active connection count
    - MySQL PMDA metric migration support (log rewriting rules).
    - pmdagluster: new PMDA exporting gluster filesystem metrics,
      in particular fs operation latency and brick throughput data.
    - Fixes to the python pmda interface code to allow old python
      versions as well.
    - Extensions to python pmda interface to allow pmdaCache(3) use.
    - pmwebapi: support more general pcp hostname specs, and
      HTTP Basic authentication.
    - Throttle the size of the pmatop hardware component display.
    - Fix pmgui.py on big endian platforms (affects pmcollectl).
    - Further progress on the log checking tool, pmlogcheck.
    - Generate default pmlogger and pmie daemon configuration files.
    - Migrated all static pmlogger configs over to pmlogconf format.
    - Added pmlogconf config files for metrics used by iostat, ip,
      mpstat, sar, vmstat.
    - Install cisco PMDA pmieconf rules into the correct location.
    - Install default crontab entries for pmlogger and pmie checking
      and daily archive maintenance, on Linux, running as user "pcp"
      now (previously, "root").
    - pmlogconf scripts: added in automatic NFSv4 logging.
    - pmlogger scripts: better locking between check and daily
    - pmlogger control: add -r, -T and increase timeouts by default.
    - Start a working primary pmlogger with a useful and extensible
      set of metrics after enabling the service.
    - Start a working pmie with a useful and extensible set of rules
      after enabling the service.
    - Assigned new PANASAS and NVML PMDA domain numbers.
    - pmlogextract: fix minor bug for empty instance domains
    - Resolve issue where clients get sigsegv from bad -h options.
    - Updated pmwtf man page - better explanation for -q option
    - Massive, massive QA efforts, much better support for non-x86.
    - iostat2pcp - timestamp rework for European datetime formats.
    - Fixed debian bugs related to broken library symlink.
    - Ensure permissions on the NOTICES file allow pcp uid/gid access.
    - Major updates to the SASL code allowing remote authentication
      and improvements to username/password interaction process.
    - Fix SASL related memory leaks, sort out authname mapping.
    - Ensure SASL errors are easily identifiable as such (pmErrStr_r)
    - User and groups access control list support in pmcd, augmenting
      the existing host-based access control list support.
    - Fix tempfile leak in pmdaproc.sh from accidental $tmp override.
    - Improve the PCP experience with older versions of NSS (<=RHEL5)
    - Introduce pmcd self-callstack-tracing capability for the Linux,
      FreeBSD, and MacOSX platforms (maybe others, via backtrace(3)).

pcp-3.8.1 (19 June 2013)
    - Add support for PMDAs written in python via pcp.pmda package.
    - Example implementation of pmdasimple using python.
    - Added new proc.{memory.vmswap,psinfo.threads} metrics.
    - New collectl2pcp utility and sub-package (deb/rpm) for
      converting historical data collected with collectl into the
      PCP archive format for replay and analysis with PCP tools.
    - Add missing help text for some Linux kernel hinv.map metrics
    - Added new hinv.map.lvname metric for reverse mapping logical
      device mapper names to physical device names.
    - Added new hinv.ninterface metric (pmdalinux and collectl2pcp)
    - Fixes to pmcollectl handling of PCP logs in archive mode.
    - Allow pmcollectl metrics to be sourced from a remote host.
    - Additional gfs2 metrics and tests, thanks to Paul Evans from
      the gfs2 development team at Red Hat.  This makes use of the
      gfs2 kernel glock event tracing to track hot locks, and also
      provides a storable mechanism for enabling/disabling tracing
      on-the-fly.
    - Updated access control section of pmcd.1 with IPv6 details.
    - Improve archive integrity checking from libpcp_import, ensure
      monotonic increasing timestamps presented for single archive.
    - Improvements to the log import perl API allowing for batched
      updates (out-of-order), thanks to Marko Myllynen.
    - Removed a low limit in the libpcp_import auto-PMID generation
      scheme, now allowing millions of metrics instead of hundreds.
    - Promote pmlogger and pmlogextract into the default PATH, with
      backward-compatibility preserving symlinks in PCP_BINADM_DIR.
    - Support for IPv6 socket communication in libpcp_pmda for pmcd
      PMDA communication.
    - Support for IPv6 socket communication testing via dbpmda.
    - Update man pages to reflect IPv6 support in libpcp_pmda.
    - Other improvements to the socket-based PMDA mechanisms.
    - Fix a 64bit big-endian host issue in systemd.maxmem metric
    - Mac OS X packaging tweaks.

pcp-3.8.0 (14 May 2013)
    - Added the nginx PMDA, thanks to Ryan Doyle.
    - Fixed memory leak on an error path in profile PDU decoder.
    - Added pmwebd(1) - a JSON-based bridge providing web tools
      with access to the PMAPI (both pmcd and archives) via HTTP.
    - Initial support for client authentication via opt-in protocol
      extensions, host specification extension, communication to
      PMDAs via version 6 of the agent interface, dbpmda support.
      Uses SASL2 as the underlying technology (which provides for
      plugin-based extension to many authentication mechanisms).
    - Reworked many aspects of the python APIs - now a pcp package
      with sub-modules, improved error handling, and much more.
    - Work toward pylint(1)-clean python code throughout PCP.
    - Added a new python module for MMV instrumentation.
    - Initial work on a python module for writing PMDAs.
    - Added a new python module abstracting commonly needed metric
      Subsystems, shared by pmatop(1) and pmcollectl(1).
    - Added new python client tool - pmatop(1) - implementing much
      of the reporting functionality of atop (www.atoptool.nl).
    - Additional checks added to metric names allowed into the PCP
      Log Import library to match the PMNS man page requirements.
    - Support for parallel make invocations.
    - Improvements to the secure server code to make it work better
      and on more platforms.
    - Improvements to the IPv6 and IPv4 access control wildcards.
    - Migrate man pages from man4 to man5.
    - Resolve Fedora bug where the log import API was found to be
      allowing invalid metric names to be created.

pcp-3.7.2 (19 April 2013)
    - Improved pmie propagation of metadata units.
    - Extra pmlogger diagnostic when log cannot be created.
    - Fix Debian python build dependencies.
    - Avoid mis-sharing outbound pmcd connections if ports do not
      match (libpcp).
    - IPv6 presence now checked at run-time as well (pmconfig).
    - Packaging updates - tarball, slackware, gentoo.
    - Add several missing man page options, typos and such, found
      by Red Hat (internal?) checker tools.
    - Added pmwtf.1 man page.
    - Make pmdaapache observe a connect timeout as well as its
      existing request timeout.
    - Extend pmcd access control with a global wildcard for IPv6.
    - Make __pmSockAddrIsLoopBack handle IPv6 loopback address.
    - Resolve bug in too-small pduread recv causing communication
      failures with secure sockets, but in theory affecting other
      socket transports as well.
    - Resolve Debian packaging and build dependency issue.
    - Resolve Fedora bug where pmstat fails to start when pmcd has
      never been started (so namespace rebuild script not yet run).

pcp-3.7.1 (20 March 2013)
    - IPv6 addresses and wild cards for host access control.
    - Add packaging scripts to correctly transition active temp
      file directories from their old locations.
    - Resolve a warning from rpm %pre script on new installs.
    - Convert pmhostname(1) to use the newer networking APIs.
    - Convert pmproxy(1) to use the newer networking APIs.
    - Correct the pmlogger heuristics for determining whether it
      is running as a daemon for *both* pmlogger_{daily,check}.
    - Add script to handle the tmpdir transition such that folks
      with running parfait/mmv-instrumented applications continue
      to see data exported, and for correct pmlogger/pmie daemon
      tracking across releases.
    - Fix "Warning: __pmConnectRestoreFlags: cannot restore flags"
      messages when built with secure-sockets option disabled.

pcp-3.7.0 (11 March 2013)
    - Added hash table iterator interfaces to libpcp.
    - Added PCP_SYSCONF_DIR, migrated daemon configuration there.
    - Fix Linux swap metrics problems, thanks to Martins Innus.
    - Support for IPv6 and revamped networking (libpcp-internal)
      APIs, in particular making proper use of getaddrinfo now.
    - Initial version of the NetBSD port
    - Secure connections are now available and documented.
    - Added a PCP_USER setting for globally changing the default
      unprivileged user account used by PCP daemons.
    - Resolved Debian packaging issues from previous release to
      do with the pcp-python subpackage.
    - Improve pmdaapache fetch implementation (reduced overhead)
    - Close up a file descriptor leak on a pmdaapache error path,
      thanks to Ryan Doyle.
    - Added the gfs2 PMDA.
    - Added the systemd PMDA.
    - Alignment issues on ia64 resolved.
    - Create pmlogger and pmie logdirs during install.
    - Added -L option to pmconfig(1) for reporting libpcp options.
    - Further workarounds for sar/sadf XML exporting problems.
    - Updates to MinGW PCP builds for native PCP on Windows.
    - Use initgroups() to correctly set up supplementary groups in
      PCP daemons that are changing user/group from root/root.
    - Fix memory leak on scandir failure in several PMDAs.
    - Correctly install the pcp user/group during Mac OS X upgrade
    - Allow pmdalogger to be installed on multiple platforms
    - Series of updates to pmie to improve action %h, %v and %i
      substitutions (amongst other pmie improvements and several
      corner-case fixes)
    - MySQL PMDA now re-connects after a database server re-start.
    - Workaround versioning issues between python and rpmbuild.
    - Ensure HZ is initialised in Linux proc PMDA, fixing a small
      regression from the earlier proc/linux PMDA split.
    - Fix -p option to pcp(1) command reporting pmie instances.
    - Add one-line help for the proc metrics that did not have it.
    - Change primary pmlogger control from symlink to link.
    - Add an interface allowing PMAPI clients to explicitly cleanup
      (which allows for improved accuracy in valgrind reporting).
    - Fix race conditions in pmie and pmlogger startup scripts.
    - Updates to the named (name server) PMDA.
    - Change __pmSetProcessIdentity to fail more resoundingly.
    - Fix issues with pmdashping timeouts observed on multi-core
      x86_64 machines related to signals interacting with pthreads.
    - Move debian tmpdir settings to match other distros.

pcp-3.6.10 (19 November 2012)
    - Transition daemons to run under an unprivileged account.
    - Fixes for security advisory CVE-2012-5530: tmpfile flaws.
    - Fix pcp(1) command short-form pmlogger reporting.
    - Fix pmdalogger error handling for directory files.
    - Fix pmstat handling of odd corner case in CPU metrics.
    - Correct the python ctype used for pmAtomValue 32bit ints.
    - Add missing RPM spec dependency for python-ctypes.
    - Corrections to pmdamysql metrics units.
    - Add pmdamysql slave status metrics.
    - Improve pmcollectl error messages.
    - Parameterize pmcollectl CPU counts in interrupt subsys.
    - Fix generic RPM packaging for powerpc builds.
    - Fix python API use of reentrant libpcp string routines.
    - Python code backporting for RHEL5 in qa and pmcollectl.
    - Fix edge cases in capturing interrupt error counts.

pcp-3.6.9 (12 October 2012)
    - Python wrapper for the pmimport API
    - Make sar2pcp work with the sysstat versions from RHEL5,
      RHEL6, and all recent Fedora versions (which is almost
      all current versions of sysstat verified).
    - Added a number of additional metrics into the importer
      for people starting to use it to analyse sar data from
      real customer incidents.
    - Rework use of C99 "restrict" keyword in pmdalogger
      (Debian bug: 689552)
    - Alot of work on the PCP QA suite, special thanks to Tomas
      Dohnalek for all his efforts there.
    - Win32 build updates
    - Add "raw" disk active metrics so that existing tools like
      iostat can be emulated
    - Allow sar2pcp to accept XML input directly (.xml suffix),
      allowing it to not have to run on the same platform as the
      sadc/sadf that originally generated it.
    - Add PMI error codes into the PCP::LogImport perl module.
    - Fix a typo in pmiUnits man page synopsis section
    - Resolve pmdalinux ordering issue in NUMA/CPU indom setup
      (Redhat bug: 858384)
    - Remove unused pmcollectl imports (Redhat bug: 863210)
    - Allow event traces to be used in libpcp interpolate mode

pcp-3.6.8 (14 September 2012)
    - Corrects the disk/partition identification for the MMC
      driver, which makes disk indom handling correct on the
      Raspberry Pi (http://www.raspberrypi.org/)
    - Several minor/basic fixes for pmdaoracle.
    - Improve pmcollectl compatibility.
    - Make a few clarifications to pmcollectl.1.
    - Improve python API test coverage.
    - Numerous updates to the test suite in general.
    - Allow pmda Install scripts to specify own dso name again.
    - Reconcile spec file differences between PCP flavours.
    - Fix handling of multiple contexts with a remote namespace.
    - Core socket interface abstractions to support NSS (later).
    - Fix man page SYNOPSIS section for pmUnpackEventRecords.
    - Add --disable-shared build option for static builds.

pcp-3.6.6 (28 August 2012)
    - Added the python PMAPI bindings and an initial python client
      in pmcollectl.  Separate, new package exists for python libs
      for those platforms that split out packages (rpm, deb).
    - Added a pcp-testsuite package for those platforms that might
      want this (rpm, deb again, mainly)
    - Re-introduced the pcp/qa subdirectory in pcp and deprecated
      the external pcpqa git tree.
    - Fix potential buffer overflow in pmlogger host name handling.
    - Reworked the configure --prefix handling to be more like the
      rest of the open source world.
    - Ensure the __pmDecodeText ident parameter is always set
      Resolves Red Hat bugzilla bug #841306.

pcp-3.6.5 (16 August 2012)
    - Fixes for security advisory CVE-2012-3418
	o Add field validation to PCP instance PDU (Red Hat #841240)
	o Fix __pmDecodeInstanceReq heap buffer overflow (Red Hat #841284)
	o Fix __pmDecodeText heap overflow (Red Hat #841249)
	o Multiple issues in result PDU decoding (Red Hat #841159)
	o Fix __pmDecodeNameReq buffer overflow (Red Hat #841180)
	o Add length checks to __pmDecodeLogControl (Red Hat #841290)
	o Add size check to __pmDecodeIDList (Red Hat #841112)
	o Fix __pmDecodeNameList buffer overflow (Red Hat #840920)
	o Add missing __pmDecodeFetch namelen checks (Red Hat #841183)
	o Add length checks to __pmDecodeProfile (Red Hat #841126)
	o Add length checks to __pmDecodeCreds (Red Hat #840822)
    - Workaround for security advisory CVE-2012-3419
	o Split the Linux kernel and proc PMDAs to prevent information
	  leakage in default installs - esp. /proc/pid/maps exposure,
	  but other proc metrics as well - and no longer export process
	  metrics by default (Red Hat #841702)
    - Fixes for security advisory CVE-2012-3420
	o Memory leak in pmcd DoFetch error path (Red Hat #841298)
	o Memory leak in __pmGetPDU in-band signalling (Red Hat #841319)
    - Fixes for security advisory CVE-2012-3421
	o Resolve event-driven programming flaw in pmcd (Red Hat #841706)
    - Correct buffer unpinning logic in a PMNS traversal error path
	o Red Hat bugzilla bug #847314.
    - All of the above issues were identified by Florian Weimer of the
      Red Hat Security Team, who also assisted extensively in fixing
      and testing; a huge thank you to Florian from all PCP developers
      and users!
    - Add modern gcc/glibc security protection mechanisms where
      available.  Thanks to the Frank Eigler.
    - Harden all boundary checking in the remaining PDU decoders.
    - Resolve an issue with configure script checking for the init(1)
      process on Fedora 17 (and other systems using systemd).  Thanks
      to Lukas Berk.
    - pmdaelasticsearch only reports on nodes in the cluster now,
      and not other client nodes.  Thanks to Nigel Donaldson.
    - Added interfaces to PCP::PMDA Perl module to allow PMDAs to
      use a hash instance domain (instead of int/string array).
      These make use of the pmdaCacheOp(3) interfaces - the hash
      keys are the (external) PCP instance names, and the value
      associated with each key is an opaque reference.
    - Added an interface to allow PMDAs to register event queues
      with existing clients (pmdaEventNewActiveQueue).
    - Initial version of the (experimental) bash tracing PMDA.

pcp-3.6.4 (12 June 2012)
    - Fix build on s390x platform (thanks to Dan Horak)
    - Rethink order of PATH setting for pcp start scripts, to ensure
      binaries from other packages with names that conflict with pcp
      binaries are not found ahead of the same-named pcp binary.

pcp-3.6.3 (27 April 2012)
    - Revert initial attempt at getting configure --prefix option to
      make sense for local developer PCP installations
    - Fix RPM changelog typo in in-tree spec file
    - Further work on Debian/kFreeBSD port (thanks to Robert Millan)

pcp-3.6.2 (18 April 2012)
    - Fix Debian builds on FreeBSD (missing header files)
    - Resolve Debian startup script (compat) lintian issue
    - Resolve FreeBSD kernel PMDA build issue with PCP not installed
      in the build root already.

pcp-3.6.1 (12 April 2012)
    - Resolve final Mac OS X pthreads build issues
    - Debian packaging improvements for split pmlogger/pmcd scripts,
      perl module pieces, and other lintian reported issues
    - Update the startup script dependencies for /var use
    - Support --prefix=... and --exec-prefix=... configure options
    - Relaxed the "are you running as root?" test in startup scripts
    - Win32 build updates and improvements
    - Cache /proc/stat file handle in Linux kernel agent to reduce
      syscalls on the most commonly fetched metric subtree

pcp-3.6.0 (21 March 2012)
    - Thread-safe libpcp, including additional re-entrant and thread-safe
      variants for some routines
    - Retire all asynchronous routines from libpcp
    - Retire all V1 protocols and services (archive format, PMAPI and
      PMDA_INTERFACE)
    - PMNS moves to ASCII only (no binary PMNS)
    - Rework "init" scripts, splitting pcp into pmcd and pmlogger
    - Update elasticsearch PMDA to 0.19+, new transport and shard metrics
    - Updates to PMDA new event queueing interfaces for agents wishing to
      export that class of performance data.
    - First round of Coverity cleanup fixes incorporated.
    - Initial version of the SNMP PMDA, thanks to Hamish Coleman.
    - Updates to postgres PMDA to export additional recovery metrics.

pcp-3.5.11 (01 December 2011)
    - Update FSF contact address in copyright notices to keep
      rpmlint happy.
    - Fix instance domain checks in elasticsearch PMDA.
    - Make KVM PMDA to run as root once more (permissions issues).
    - Integration of pmlogger_daily with pmlogrewrite.
    - Fix pmlogger_merge corner case for empty archives.

pcp-3.5.10 (04 November 2011)
    - Support new 0.18+ elasticsearch metrics.
    - Fix handling of elasticsearch version metric cluster.
    - Fix trace PMDA build issues.
    - Fix some Win32 build issues.
    - Run with reduced privileges for more of the perl PMDAs.
    - Name Solaris load average metric consistently.
    - Small metric documentation tweaks for Solaris PMDA.

pcp-3.5.9 (23 October 2011)
    - Add rc script support for condrestart, and condrestart the pcp,
      pmie and pmproxy services after an RPM install or upgrade.
    - Fix a bug where hinv.ndisk is incorrect if CLUSTER_PARTITIONS
      hasn't yet been refreshed immediately following a restart.
    - Implementation of client event queueing logic for all PMDAs to
      share (all PMDAs wishing to support event metrics, that is).
    - New manual pages for new PMDA event queueing interfaces.
    - PostgreSQL PMDA, supporting versions 9.0 and 9.1 (at least).
    - Reserved ID 111 for Samba Clustered Trivial Database PMDA.
    - Add perl interface to allow PMDAs to drop priveleges
    - Add an elasticsearch version metric.
    - Correct perl module type detection logic for 32/64-bit systems.
    - Small pmlogconf source and man page fixes.
    - Rework flex usage to resolve build warnings.
    - Make Darwin CPU metrics 64 bit.
    - Add (long) opaque key support to libpcp_pmda.
    - Add pmdaCacheStoreInst() routine to libpcp_pmda.
    - Added mssql PMDA for SQL server Dynamic Management View stats.
    - Add pmlogrewrite(1) to rewrite archives (fix inconsistencies).
    - Fix a cgroup option parsing error on consecutive fetch calls.

pcp-3.5.8 (08 August 2011)
    - Rework rsyslog PMDA to remove Switch use, very odd behaviour
      observed on RHEL5.2 (mysteriously failing to compile).
    - Add in Kens scripting defenses against dodgey toolchains.

pcp-3.5.7 (05 August 2011)
    - Fix build issue on SLES11 SP1 IA64 systems.
    - Improved rsyslog PMDA handling of queue metrics.
    - Add open file-descriptor count metric to the Linux PMDA.
    - Implement logger PMDA line-oriented event mode.
    - Add regular expression based event filtering in logger PMDA.
    - The default pmcd.conf now has an access control section, and
      all remote store operations are blocked by default.
    - Improve packaging of Perl components.

pcp-3.5.6 (21 July 2011)
    - Fix warning from pmie_daily with some /bin/pwd versions.
    - Numerous Debian packaging updates for lintian cleanliness.
    - Fixed typos in several man pages.
    - Added ElasticSearch PMDA.
    - Fix build on RHEL4 with older sys/queue.h variant.

pcp-3.5.5 (6 July 2011)
    - Resolve Debian packaging issues preventing new uploads.
    - Fix warnings from pmie_check with some /bin/pwd versions.

pcp-3.5.4 (6 July 2011)
    - Fix warnings from pmlogger_check with some /bin/pwd versions.

pcp-3.5.3 (6 July 2011)
    - Remove reliance on a cpp binary being installed locally with
      new pmcpp applicaton.
    - Ensure compressed pmie log files are also cleaned up daily.
    - Extend the event store mechanism to be more generally useful.
    - Add memory limiting functionality to pmdalogger.
    - Add SQLServer metric for user settable queries.
    - Fix potential sigsegv in pmprobe fetching multiple live values.
    - Perl changes for Solaris.
    - Fix Fedora15 build relating to handling of systemd.
    - Solaris pmda zpool_vdev_name() api change.
    - Update sar2pcp for sysstat version 9.1.7.
    - Resolve realloc issue in event metric handling in libpcp_pmda.

pcp-3.5.2 (3 June 2011)
    - pmlogreduce - fix 2 problems (memory leak, additional mark records)
    - Initial version of pmdalogger, from David Smith, a log monitoring
      PMDA exporting event metrics.
    - Make Windows drive instance domain code less chatty.
    - RC scripts and pmie_check - Mac OS X porting
    - pmlogger_check - symbolic link issue fixed
    - Add in the rsyslog PMDA (http://www.rsyslog.com)
    - Extend PCP::PMDA so that the log tail mode can be used on named papes.
    - Numerous updates to the Perl packaging infrastructure
    - Fix build when $HOME is not set.
    - pmlogconf - another non-posix awk issue fixed
    - Darwin pmda - filesys.maxfiles metric
    - pmie_daily - assorted minor fixups
    - Unix domain socket issue found on Mac OS X
    - pmcd config parsing error handling cleanup
    - Quieten pmevent output in the absence of new events.
    - Pass process ID out on success of __pmProcessCreate.
    - pmdaproc.sh - add PMDA_INTERFACE_5 support
    - pcp_completion.sh - add pmevent for bash metic completion
    - pmevent - add instance domain support
    - Bugfix: fetching hinv.cpu.* aborts if cpu indom is not initialized
    - Rearrange the per-CPU intr metrics on Linux to use dynamic namespace
    - Add perl modules into Mac OS X installations
    - Additional vmstat metrics added to Linux kernel PMDA
    - Fix pmieconf after syscall metrics went away on Linux
    - pmevent - new util to report event records, with instance domain support
    - sample PMDA - instance domain for event records metric
    - pmval, pminfo - man page typo corrections
    - pmval - fix typo in error message
    - pmlogextract, pmlogreduce - auto volume switch at 2^31 bytes
    - pmnscomp - defaults to Version 2 of the compiled PMNS
    - Remove unconditional diagnostic in MMV agent, log spam
    - Rework the code that uncompresses archives for Win32
    - Updates to Win32 makefiles to get a clean package build
    - Enable compressed log processing for Windows as well
    - Sample event consumer code for Windows ETW
    - Update PDH Win32 headers to use those from current mingw-m64 tree
    - Win32 socket error messages are reporting correctly
    - Great strides in getting error reporting correct on Windows
    - Add Win32 pthread wrapper for threading work on Windows
    - Add PowerDNS recursor stats to the pdns PMDA

pcp-3.5.0 (31 January 2011)
    - Infrastucture support for doing distributed event tracing with PCP.
      This includes a new metric type (PM_TYPE_EVENT), cunning mechanisms
      for encoding event records in pmResults, and providing PMDAs with
      per-client context connection information allowing agents to track
      which clients have seen which parts of a trace stream so far.  Some
      reference uses of these extensions can be seen in pmdasample and in
      the pmcd PMDA as well.
    - Transparent support for archive de-compression by clients.
    - Manual page formatting errors corrected.
    - Fix a pmDupContext memory corruption issue seen with derived metrics.
    - Added a one-trip optimisation/guard to pcp.env
    - Improved pmdaFetch and pmdaFetchCallback man pages with respect to
      return codes and value memory allocation models.
    - Fix for Windows unintentionally allowing multiple pmcd processes
      to startup and bind to the same port, with "undefined" results.
    - Fix Windows services interaction, preventing pmcd service stop.
    - Fix Mac OS X scandir memory leak on empty directories.
    - Fix Mac OS X mem.util.wired metric, was exporting the wrong value.
    - Correct the handling of SLES11 distro identification (lsb-release
      file not used again, on SuSE Linux distributions).
    - Fix postfix PMDA log file path handling for Redhat Linux distros.
    - Extend Perl PMDA interfaces to allow additional metrics to be
      added at runtime (now makes use of dynamic namespace support).
    - Set KEEPALIVE option on pmproxy client sockets, mirroring pmcd
      behaviour and reducing open file descriptor pressure.
    - Improvements to the native Windows version of pmlogger, preventing
      it from exiting prematurely thanks to a socket read race condition.
    - Fix /proc/interrupts parser in Linux PMDA, thanks to Arthur Kepner.

pcp-3.4.1 (9 October 2010)
    - Remove bogus (expected) errors/warnings from Win32 install/remove.
    - Remove couple of no longer needed local Win32 API wrappers.
    - Fix rindex code for Win32 so it handles empty strings.

pcp-3.4.0 (29 September 2010)
    - Add new libpcp_import C API library to pcp-libs.
    - Add perl-PCP-LogImport RPM sub-package for libpcp_import perl binding.
    - Add pcp-import-* RPM sub-packages containing front-end tools for
      importing data from sar, iostat, generic speadsheets and mrtg.
    - Major Solaris PMDA updates: CPUs, vnode ops, disk stats and disk queue
      stats, switch to using pmid clusters, internal timers, ZFS Adjustable
      Replacement Cache stats, new help text, memory metrics, fsflush stats.
    - Use Solaris devinfo to get information about pretty disk names.
    - Fix a memory leak in Perl PMDA wrapper string handling.
    - Use correct structure to extrace zpool write counters in Solaris PMDA.
    - pmafm now supports multiple -a arguments.
    - Fix pmie multiple -a options bug.
    - Fix pmdaInit() callback handling where it did not handle all the
      interface versions correctly.
    - Quote filenames reported by pmwtf, else awk can get confused.
    - Fix pmdawindows missing metrics help text.
    - Add network interface speed metrics into pmdawindows.
    - Fix pmdalinux handling of long network interface names.
    - Updated pmdaapache to use cross-platform http library.
    - Updated pmdaapache install process to allow port selection.

pcp-3.3.3 (16 July 2010)
    - Fix two off-by-one errors in NUMA metrics in Linux PMDA.
    - Rework timezone environment variable handling to be able to
      coexist more peacefully with Perl.
    - Remove Fedora specfile now that this is in Fedora CVS.

pcp-3.3.2 (10 July 2010)
    - Fix FreeBSD build and packaging issues affecting Debian.
    - Move PCP::Glider Perl code into core PCP with other Perl modules.
    - Avoid a mingw64-compiler-runtime bug in gettimeofday.
    - Fix spec file issue in Fedora/RHEL builds.
    - Add in the gpsd PMDA.

pcp-3.3.1 (29 June 2010)
    - Fix a sigsegv in pmdalinux in the kernel.pernode.cpu metrics.
    - Don't kill dbpmda if namespace cannot be loaded.
    - Resolve a Windows build error under latest toolchain.
    - Some minor pmieconf and pmimport related cleanups.

pcp-3.3.0 (25 June 2010)
    - Rework pmlogconf utility - version 2.0 ondisk format.
    - Initial support for Linux kernel cgroup subsystem, using dynamic
      metrics (cpu sets, cpu sched, cpu acct, memory, ...)
    - Fix per-process I/O (proc.io.*) metric values.
    - Fix potential SEGV in derived metrics when pmcd connection lost.
    - Fix to allow pmlogger to log derived metrics.
    - Fix open file descriptor leak in Linux disk scheduler code.
    - Postfix PMDA updated to report aggregate stats from mail.log parsing.
    - Add per-node CPU metrics to Linux kernel agent.
    - Integrate pmieconf into the build, modernisation and porting work.
    - Add install-sh to the set of pcp-internal programs for external code.
    - Improved checking of PMDA domain numbers.
    - Allow use of SunStudio compiler on Solaris.
    - Add load average metrics to Solaris kernel agent.
    - Windows 7 porting work.
    - Make Win32 build work with more recent versions of gcc and Perl.
    - Fix pmie [no]match_inst botch, tweak sleepTight reporting.
    - Allow \$ for pmie regular expressions.
    - Ensure pmlogger doesn't write extended pmcd host syntax as hostname.
    - Switch over to not using local context for bash completion.
    - Improve Lustre agent metric help text.
    - Added a readonly filesystems metric into Linux kernel agent.
    - Ensure xfs.buffer metrics are always properly refreshed.
    - Add Linux kernel statistics related to XFS btree operations.

pcp-3.2.1 (3 May 2010)
    - Export information about ZFS snapshots
    - Correct accounting of PMNS size in a libpcp_pmda helper routine.

pcp-3.2.0 (29 April 2010)
    - Change how PM_CONTEXT_LOCAL determines available PMDAs:
      rework local context code to retire $PMDA_LOCAL_*, build DSO table
      from pmcd.conf at run-time, new __pmLocalPMDA and __pmSpecLocalPMDA
      routines in libpcp, -K options for pminfo, pmval and pmprobe.
    - Make some pmda dynamic name operations take (const char *) args.
    - Fix bash completion so dynamic names expanded, and stderr culled
      (culling DSO agent initialisation messages).
    - Improve pmlogger handling of alias names (same PMID, different names).
    - Honour the -T command line option in pmlogreduce.
    - Resolve an MMV issue evident in the Mac OS X installer, which resulted
      in failed dmg (binary) installation attempts.
    - Solaris startup script improvements.
    - Add details of the extended hostname syntax to pcpintro(1).
    - Fix a memory leak in pmdawindows help text handling.
    - Fix a memory leak in pmdammv help text handling.
    - Add anonymous huge page Linux memory utilisation metric.
    - Fix local context reporting of help text.
    - Solaris man page build changes.
    - Clean up diagnostic messages in pmlogextract.
    - Teach pmdaproc about Solaris' ping.
    - If pmstat fails to connect to local pmcd, fallback to local context.
    - Mark as const the final (requested units) pmConvScale argument
    - Clean out SGI-isms from build related files (no longer used by SGI).
    - Fix mem.numa.util.NFS_Unstable metric.
    - Removed pmdajstat, this has long been superceded by the capabilities
      of the Parfait package for instrumenting Java applications with PCP.

pcp-3.1.2 (22 March 2010)
    - Add indom save and restore logic into Windows PMDA.
    - Fix a typo in the Postfix PMDA.
    - Update and extend /proc/meminfo stats on Linux.
    - Improve handling of monitored process in pmdammv, especially
      when the monitored process exits (pmns not cleaned up before).

pcp-3.1.1 (23 February 2010)
    - Use a better MMV generation number, using all bits available.
    - Fix a metric count calculation error in pmdammv.
    - Add precision argument (-p) to pmwtf.
    - Added an open socket sockname command to dbpmda.
    - Remove use of grep -q, unavailable on OpenSolaris.
    - Couple of trivial build fixes for the Win32 platform.

pcp-3.1.0 (28 January 2010)
    - Derived metric support.
    - Fix a memory leak in the Solaris kernel PMDA.
    - Extract information about network links on Solaris.
    - MMV PMDA (DSO) is now installed and enabled by default.
    - Reintroduced MMV support for cross-(mmap-)file instances.
    - Bug fix in pmdammv which was capable of causing SIGSEGV.
    - Add dbpmda readline support (and packaging dependencies).
    - Add in -Z option to pmwtf, to pass through to pmlogsummary.
    - Export NUMA memory statistics from the linux kernel.
    - Make pmie_check work on Solaris.
    - Make perdisk stats part of the zpool hierarchy.
    - dbpmda fix for name lookup and dynamic metrics.
    - Add a new PMDA exporting the Postfix queue lengths.
    - BuildRequires initscripts for %{_vendor} == redhat.

pcp-3.0.2 (2 December 2009)
    - Improvements and fixes to PCP::PMDA perl module.
    - Added the SQL Server dtsrun log file parser PMDA.
    - Switch MMV PMDA to use dynamic namespace interfaces, which resolves
      long-standing spurious EAGAIN error on reconfiguration.
    - Separate out the Infiniband and cluster PMDAs into their own
      package - removing dependencies and configure complexities from
      pcp into specialised, layered packages.
    - Configure packaging to use libexecdir for private pcp binaries,
      if supported on the platform (also honour --libexecdir configure flag)
    - Add sysfs.kernel metrics cluster to Linux PMDA.

pcp-3.0.1 (19 October 2009)
    - Reverted rc scripts default start/stop settings back to how
      it was in 2.9.3-1, for Debian bug #544350. On Red Hat platforms,
      the RPM spec overrides this to be chkconfig off by default.
    - Lexical analyser tweaks (various tools) to work on Windows.
    - pmlogextract change timezone selection algorithm, add -f for old behaviour
    - configure.in clean up more thoroughly on Mac OS X
    - Get pcp building on Debian GNU/kFreeBSD port.
    - Add missing return statement causing incorrect mem.util on Win32.
    - Improved support for Slackware distro makepkg packaging
    - Solaris fixes: pass information about compiler into Perl PMDA makefiles,
      don't change pointer types of pmCtime's arguments, deal with default lex
    - Move Infiniband and Cluster PMDAs to a stand-alone packages
    - Trim the set of RPM files marked as %config to just those
      that are actually likely to be edited (rpm -qlcv pcp pcp-libs).

pcp-3.0.0 (9 October 2009)
    - PMDA_INTERFACE_4 and the support of dynamic subtrees of the PMNS
      where the PMDA (not PMCD) maintains knowledge of the PMNS.
    - RPM packaging split into pcp, pcp-libs and pcp-libs-devel
      pcp-libs is common - it's required by pcp and by pcp-libs-devel but
      pcp and pcp-libs-devel can be installed with or without each other.
    - Added separate specific licenses for the new subpackages,
      particularly pcp-libs, which is LGPL.
    - Added ldconfig %post and %postun scriptlets for -libs
    - Don't explicitly require Infiniband libs, since they're libs and RPM
      figures it out
    - No need to explicitly BuildRequire gcc-c++ libstdc++-devel
    - Add BuildRequires on perl-ExtUtils-MakeMaker
    - Remove explicit ia64 Requires: libunwind
    - Preserve generated gram.tab.c in several places since debuginfo needs it
    - Create %{_localstatedir}/run/pcp and ship it (so it'll be removed)
    - Use %doc in spec for CHANGELOG COPYING INSTALL README VERSION.pcp pcp.lsm
    - Tweak configure to move PCP_BINADM_DIR out of /usr/share, into /usr/lib.
      Arch dependent binaries should not be installed below /usr/share.
    - Delete unneeded "explicit script interpreter" in several places
      to keep rpmlint happy
    - Remove setuid from pmpost, not needed (and not in debian either)
    - Nuke the migrate_pcp_var_dir, script and it's %post scriptlet
    - Default "chkconfig off" for all PCP services (retain settings on upgrade)
    - Clean-up and simplify the %post scriptlets (rather dramatically)
    - Don't ship static libraries in Fedora, we have the debug package for that
    - Install .NeedRebuild, add to %files and remove crud from %post scriptlets
    - Added %changelog in RPM spec and moved %files to end before %changelog
    - Move demos, examples and demo PMDAS to the libs-devel package since they
      are not used for production (but are useful for devel and needed for QA).
    - Don't install trace demo binaries since src is installed anyway
    - Reconciled build/rpm/pcp.spec.in with build/rpm/pcp_fedora.spec
    - Integrated RPM packaging support for perl-PCP-PMDA and perl-PCP-MMV
      (but perl-PCP-Logsummary is not currently shipped in RPM packages)
    - RPM build requires perl(ExtUtils::MakeMaker) rather than
      perl-extutils-makemaker (this is the standard notation)
    - For easier upgrades, the perl PMDAs only really require pcp >= package
      version (until we change or extend an API).
    - ReplacePmnsSubtree fix bad signal handling botch (affecting MMV PMDA)
    - Fix pmcd.timezone metric such that value updates on daylight savings
      (or other timezone) changes.
    - Initial packaging work for Slackware Linux, thanks to Roman Revyakin.

pcp-2.9.3 (23 September 2009)
    - configure.in fix for Windows iptypes.h header.
    - Fixup Windows SQL Server metrics on 64 bit platforms.

pcp-2.9.2 (7 September 2009)
    - Final iteration on pmval sample count changes.
    - Build fallout on Mac/Win32 in MMV client library.
    - Tidy configure.in sys/stat time field/types handling for Alpha builds.

pcp-2.9.1 (2 September 2009)
    - Fix a long-standing pmval sample count miscalculation.
    - Add missing runlevels and dependencies in start scripts.
    - Fix a segv observed in the Windows PMDA accessing SQL Server metrics.
    - Fix logic error causing wrong Windows version to be reported sometimes.
    - Add kernel.all.uptime to the Windows kernel agent.
    - Initial version of the (perl-based) Samba PMDA.
    - Fixes to pmdasimple.pl so it functions correctly on all platforms.
    - Add PCP::PMDA helper routines for determining native long sizes.
    - Extend MMV to allow teardown of MMV file, and set errno on failure.
    - Initial stable (1.00) version of MMV Perl interface.
    - Correct the metric units for several Windows per-process memory metrics.
    - Add network metrics to Solaris PMDA
    - Report ZFS statistics from Solaris PMDA
    - Export zpool stats from Solaris PMDA
    - Generate packages for Solaris
    - Allow user to choose her compiler (proper use of AC_PROG_CC)

pcp-2.9.0 (27 July 2009)
    - Fix Linux PMDA issue with -fstack-protector gcc option.
    - Get socket daemon PMDAs working with Win32 pmcd.
    - Bind 9.4 PMDA.
    - PowerDNS PMDA.
    - Fix atexit handling in the Perl PMDA module.
    - Fix a duplicate PMID in the MySQL PMDA.
    - Infiniband PMDA improvements and man page.
    - Minor packaging tweaks for rpm and deb formats.

pcp-2.8.12 (8 July 2009)
    - Bug fixes in Zimbra and MySQL PMDAs.
    - Fix memory leaks in the Perl PMDA interface.
    - Fix the Mac OS X pmdadarwin metric table direct mapping.

pcp-2.8.11 (6 July 2009)
    - Rework namespace file generation for Perl PMDAs.

pcp-2.8.10 (1 July 2009)
    - RPM packaging fixes for Perl modules.

pcp-2.8.9 (1 July 2009)
    - Remove Cygwin support, we're now committed to native Win32
      port - first production install yesterday, hooray!
    - Further Win32 work - wrapper batch files for shell scripts
      run as commands, moved daemon configs into $PCP_DIR/etc,
      bug fixes to process creation code.
    - Significant work on the MMV PMDA, including revamped API,
      Perl API, updated on-disk support with string values and
      help text support, amongst other changes.
    - Fix build of Perl PMDA module when PCP not installed.
    - Fix Zimbra PMDA status metrics.

pcp-2.8.8 (9 June 2009)
    - Added a Zimbra Collaboration Suite PMDA.
    - Build fixes for OpenSolaris.
    - Perl PMDA fixes in tail mode.
    - Correct physical memory reporting in Windows PMDA on 32 bit
      machines.
    - Other small tweaks and improvements to Windows PMDA also.

pcp-2.8.7 (29 May 2009)
    - Windows PMDA major rework to improve memory footprint.
    - Yet another Mac OS X build issue resolution.

pcp-2.8.6 (26 May 2009)
    - Fix build on Mac OS X after lex warning cleanups.
    - Fix pmdate build when PCP headers not in the root.
    - A single PMNS domain number file now used in-tree.
    - Added tmpfs filesystem metrics to Linux PMDA.

pcp-2.8.5 (21 May 2009)
    - Packaging tweaks for Debian (builddefs/rules moved).
    - Make timezone manipulation in Windows work (mimic MSYS).
    - Numerous warnings fixed.
    - Several changes to tempfile handling for Vista.
    - Make setting pcp_rc_dir in configure.in more robust.
    - Further pathname separator auditing for Windows.
    - Fixed a libpcp_gui linker issue on Mac OS X.

pcp-2.8.4 (12 May 2009)
    - Descend into src/bashrc.  D'oh!

pcp-2.8.3 (11 May 2009)
    - Bash auto-completion of metric names.
    - Fix a memory leak in xfs project quotas metrics.
    - Several Win32 fixes for Windows Server 2008.
    - Add Linux per-CPU and aggregate "guest" CPU utilisation metrics.
    - Add a pmlogsummary option to report a "header" line (-H).
    - Add optional pmstat support for time control via pmtime.
    - Add pmcd.client.* metrics for identifying connected clients.

pcp-2.8.2 (24 April 2009)
    - Fix pmie bug in the handling of && and || operators.
    - Improve daily pmie/pmlogger script behaviour.

pcp-2.8.1 (19 April 2009)
    - Fix build issue with libpcp_mmv - would not build-from-source
      if <pcp/pmapi.h> was not in the root filesystem.
    - Finer control of pmie2col(1) reporting precision.

pcp-2.8.0 (9 April 2009)
    - Linux netfilter (IP connection tracking) PMDA included
    - Memory Mapped Value (MMV) PMDA and client library included
    - Linux bonding (bonded network interface) PMDA included
    - Lustre PMDA included
    - Added pcp_gui library as pcpmon replacement, supporting the
      new (open source) version of pmtime for console tools.
    - Perl PCP::LogSummary module included.
    - KVM (Linux Kernel Virtualisation layer) PMDA
    - Infiniband PMDA included
    - VMware PMDA included
    - Perl PCP::PMDA module completed, stabilised and incorporated.
    - Default pmcd and pmproxy ports changed to IANA registered ones.
      ( The old behaviour - i.e. both original and IANA ports - is
      still available using PMCD_PORTS and PMPROXY_PORTS variables ).

pcp-2.7.7 (5 September 2008)
    - Infiniband metric enhancements
    - Handle missing "which" binary during rpm installation
    - Added new quota metrics (XFS project quota)
    - Aggregate and per-CPU hypervisor "steal" time metrics added
    - NFS v4 metrics
    - commitLimit meminfo metric added
    - Namespace locking fix in pmdaproc.sh
    - Additional Windows memory metrics
    - Several pmie fixes from Ken
    - Kens pmlogreduce archive corruption fix
    - Kens pmproxy PDU size fix
    - Nathan's pmlogsummary sum calulation fix
    - Added a (cheap) runnable processes metric.

pcp-2.7.4 (7 September 2007)
    - MaxOSX and Debian/Ubuntu build/package fixes
    - Add sqlserver active_transactions metrics to the Windows PMDA.
    - Fix a pmie_check typo causing mis-identification of pmie processes.
    - Allow pmie and/or operators to function with some data missing.
    - Resolve path naming issues with more recent versions of autoconf.
    - pmlogsummary report sum option
    - pmval kmtime support
    - Additional Linux SNMP metrics
    - Fix Linux vmstat nr_slab metrics
    - Make pcp status command report build version
    - Windows split_io metrics
    - Fix pmdapmcd empty pmie instance
    - pmdamailq filename regex
    - Windows TCP metrics
    - pmie log file rotation
    - Changed the default compression program to be bzip2(1)

pcp-2.7.3 (July 2007)
    - add network.ib.control to timeout infiniband stats workthread
    - add mem.util.anonpages 

pcp-2.7.2 (8 Jun 2007)
    - pcp doc updates
    - pmdalinux death from open file descriptors: pclose needed in network.ib
    - network.ib stats updated to cope with OFED 1.2 changes
    - some numa.link fixes for shub2 & NL4
    - Improve start/stop times of pmcd,pmlogger,pmie
    - create portable pmsleep (subsecond sleep) exe

pcp-2.7.0 (7 Feb 2007)
    This log has been allowed to lapse for some time. Blanket catch-up..
    the following PVs describe changes made in that time:
    - 947510 - UNIX95 patches break pcp tools
    - 948548 - [SUSE#182852] Buffer overflow in linux proc_pmda
    - 948551 - Update pcp configure and build infrastructure
    - 948799 - Move telnet-probe to oss part of pcp
    - 948958 - *nodeid conversions have inconsistent naming
    - 952623 - possible use-after-free of pmProfile objects used by pmda
    - 952932 - pcp-open RPM requires libpcp.so.2 but doesn't provide it
    - 953015 - Promote libpcp_pmc to DSO
    - 953301 - Update irix pcp bits
    - 953876 - Use swap.pagesin/pagesout instead of swap.in/.out in pmstat
    - 954035 - Update macosx build infrastructure
    - 954165 - pmdumptext reports wrong time with sub-second intervals
    - 954173 - pmReceiveNamesOfChildren returns bogus value
    - 954203 - pmnscomp generates bogus binary pmns files
    - 954342 - Add support for FreeBSD
    - 954343 - Update windows pmda
    - 954432 - Use a pidfile to stop pcp
    - 954652 - telnet-probe ate my arguments
    - 954842 - Update qa on sles10 for pcp 2.5 and 2.6
    - 956190 - add IB traffic stats to linux PMDA
    - 956199 - pmlogsummary double free causes graph failures
    - 957598 - add debuginfo to pcp-open build in mangrove
    - 957758 - valgrind finds "invalid read of size 8" etc in __pmStuffValue
    - 957884 - need network.ib.status for per-port IB status and description
    - 958273 - If OFED is installed but no ports are found, return PM_ERR_VALUE from refresh_ib
    - 958379 - IB PMDA broken (port num appearing twice in perfquery calls)
    - 958476 - path to pmie_check binary incorrect in pmie crontab config file

pcp-2.5.0-2 (15 Jan 2006)
    - 947602 - pmdas/aix/common.h is missing from the tarball

pcp-2.5.0-1 (ProPack4/SP3)
    - 942325 - bump to version 2.5.0-1
    - 936279 - pminfo -f hinv.machine gives 'linux'. Now scans for the
      SGI hardware IP number from /proc/sgi_prominfo/node0/version
      and exports that if found.
    - 936795 - tool to aid PMDA development, see genpmda(1)
    - 941663 - pmdaInstance broken for name == NULL and inst != PM_IN_NUL
    - 939448 - pcp rc script needs better handling of .NeedInstall
    - 857601 - pmview-args uses long lines in value/instance caches
    - 942030 - Improve efficiency of instance cache in libpcp_pmda

pcp-2.4.1-2 (ProPack4/SP2)
    - bug:928986 support slabinfo v2.1 and earlier for recent 2.6.11 kernels
    - bug:930708 fix linkstats bandwidth measurements (in pcp-sgi package)
    - rfe:924904 add fixed format support for numbers reported by pmval
    - bug:928021 correct handling of -S and -T options when resultant time
      window is empty
    - bug:929411 tighten integrity checking in libpcp routine
      pmGetArchiveEnd() to avoid possible segv
    - bug:930467 fix fd leak on error path in __pmLogFindLocalPorts()
      within libpcp
    - rfe:932180 document pmval -i option syntax
    - bug:925858 add disk.{dev,all}.{read_merges,write_merges}
    - bug:931699 added mem.util.other back in, see help text for details
    - bug:931698 added mem.util.cache_clean, see help text for details
    - bug:933668 support netif names longer than 6 characters 
    - bug:935490 fix pmcd exposure to attack from malformed PDUs
    - bug:924909 excise all usage of file(1) and reliance on its "magic"
      control file ... the old way cannot be made reliable in on all
      platforms
    - bug:929411 tighten tests for valid but truncated archives so
      pmGetArchiveEnd() no longer dumps core
    - add pmdumptext (and the metric class library libpcp_pmc) to
      the open source release
    - bug:935071 fix metrics broken by bug:925858, deprecate support
      for disk stats collected from /proc/stat (linux 2.2 kernels).
    - bug:934913 pmdumptext and libpcp_pmc migrated to open source
    - bug:934332 change save/free profile logic in __pmdaMainPDU() to
      avoid memory leaks
    - bug:934333 fix memory leak in __pmdaMainPDU() associated with
      instance names
    - bug:936975 merge pmcd.conf with pmcd.conf.rpm{new,old,save} so that
      foreign (non-pcp) PMDAs will continue to be configured correctly.
    - bug:937241 update toplevel GNUmakefile to work with modern autoconf.
    - bug:937243: tg3 pmda doesn't see unconfigured interfaces on sles9
    - bug:936506: added new cache functions to libpcp_pmda to make it
      much easier to implement persistent instance domains. Rolled from
      libpcp_pmda.so.2 to libpcp_pmda.so.3, retained symlink for v2.
      Converted proc_net_dev and proc_partitions in the linux PMDA to
      use the new pmdaCache functionality, see pmdacache(3).
    - refine pmcd's handling of SIGINT and SIGTERM to use sigaction() and
      try to report the details of the process terminating pmcd
    - added the summary PMDA to the open source distribution, to provide
      high-level summary of system activity for large machines or large
      clusters of machines.
    - bug:939275 pmstat output format does not scale for large systems
    - bug:939284 correct man page source and packaging to ensure all of
      the man pages are in the correct package, and will be correctly
      indexed once installed
    - bug:861705 add pmproxy to support pmcd protocol proxying for
      clusters with head nodes and for monitoring through a firewall
    - rfe:919678 added new tool (pmie2col) to convert pmie -v output
      into pretty multi-column format
    - bug:939467 pcp needs to explicitly provide libpcp_pmda.so.2
    - 940865 - network security probe crashes pmcd

pcp-2.4.0-7 (with ProPack4/SP0)
    - bug:919901 cisco PMDA confused by Description: line containing '>'
    - bug:920140 inapppropriate glob expansion of "disallow * : all;"
      in pmcd.conf after PCP upgrade from pcp-2.3.2 to version 2.4.0
    - bug:913157 "proc.runq.swapped shows 0 in this state" - updated help
      text for linux PMDA to indicate that kernel threads are not
      counted in the "swapped" tally.
    - bug:918205 fix build issues in SuSE, disallow install-sh ambiguity
    - bug:921103 correct build issues for SuSE
    - bug:923770 ProPack 4 pmieconf on Oct 22 image wont start
    - bug:923777 reconcile changes made to PCP in SLES9 by SuSE
    - bug:924714 remove disk.xvm metrics. Now handled by xvm PMDA.
    - bug:923732 added new mem.util metrics from /proc/meminfo for 2.6 kernels
    - bug:925627 instance domain for proc metrics now includes PNTL threads
    - bug:924909 excise all references to file(1) and the "magic" file
    - bug:925865 cleanup makefiles for more consistent modes and remove
      replicated or questionable directory creations
    - assorted rework to support SLES9 and RH Fedora Core 2 Linux
      distributions
    - clean up of Mac OS X port, including additional O/S metrics
    - bug:923773: new metrics mem.vmstat from /proc/vmstat for 2.6 kernels
      This also fixes swap.{pagesin,pagesout,in,out}, which have been
      deleted from /proc/stat
    - rfe:926192 add -u option for pmlogger(1) to force unbuffered writes
      (useful when applications monitoring a growing archive)
    - rfe:912895 Add pmlogreduce(1) to perform statistical reduction
      of PCP archives over the temporal domain by increasing the sample
      interval and greatly reducing the size of long-term archives

pcp-2.4.0-1 (5 Aug 2004)
    - Installation layout changed to conform to FHS on platforms
      where this is appropriate:
	    Old		New
	    /var/pcp	/var/lib/pcp
	    /usr/doc	/usr/share/doc/pcp
    - bug:916484: %post script to migrate /var/pcp to /var/lib/pcp
      and bump to PCP 2.4.0.
    - bug:916657 mem.util.* metrics were incorrectly exported when zero
    - add demo program procmemstat to report per-process memory usage
    - Add Mac OS X support - port libraries, collection and logging
      infrastructure, provide Mac OS X PMDA.  Target is Mac OS X 10.3.
    - Add Windows support - port libraries, collection and logging
      infrastructure, provide Windows PMDA using the PDH (Performance
      Data Helper) APIs.  Target is Windows 98 or later, but must have
      either Cygwin or SFU (aka Interix) run-time installation.
    - Enhance Solaris support - provide Solaris PMDA using the kstat()
      APIs. Target is SunOS 5.8.
    - Add AIX support - port libraries, collection and logging
      infrastructure, provide AIX PMDA using ther perfstat() APIs.
      Target is AIX 5.2.
    - rfe:916189 Improvements to archive interpolation diagnostics
      under -Dinterp
    - bug:916189 use snprintf in preference to sprintf to harden defences
      against possible buffer overrun issues
    - bug:918878 avoid using file(1) in pmafm and mkaf due to problems
      with "magic" extensions for PCP file typing on some platforms
    - Linux "rc" scripts enhanced to support both the SuSE and RedHat
      regimes
    - bug:916354 set SO_KEEPALIVE on the pmcd connection socket to stop fd
      leaks with noisy networks
    - bug:916189 Fix up handling of tty name (from command line) for
      roomtemp PMDA

pcp-2.3.2-13 (SGI Internal release)
    - fix bug 902034 for pcp-sgi proprietary package. Added topdisk,
      topsys and man pages. Fixed shubstats and enhanced pmshub.
    - support for 2.6 style /proc/diskstats
    - support 2.6 /proc/stat cpu stats, new metrics:
      kernel.percpu.cpu.{intr,wait.total}
    - bug #905010 some minor man page tweaking
    - bug 907846: pcp cpu.idle metrics wrap prematurely on 2.6 kernels
    - bug 907673: linux swap.{pagesin,pagesout} metrics are wrong
    - bug 909111 hinv.machine was wrong for Altix. Also, changed several
      hinv metrics from instant to discrete.  
    - bug 909141: /etc/init.d/pcp now supports "restart"
    - bug 911201: PCP network.udp statistics are incorrect
    - bug:912971: install rc script to /etc/init.d, works on both RH and SuSE
    - bug:912972: promote network.interface metrics to 64bit unsigned,
      detect and handle 32bit wraps
    - bug:914790 parameterize /var/pcp paths, use /var/lib/pcp by default
    - bug:914555: not all mem.util.* metrics available on all kernels
    - bug:904478: pcp slabinfo metrics broken for 2.6.x kernels

pcp-2.3.2-4 (6th October 2003)
    - fix - on SGI Altix systems, scan topology from /hw rather than /dev/hw
    - fix - bug #896808 kernel.{all,percpu}.cpu.idle is unsigned long and is
      hence exported as a 64bit ascii number in /proc/stat on 64bit kernels.
      Same fix for the per-process cpu metrics in /proc/*/stat affecting
      proc.psinfo.{utime,stime,cutime,cstime}
    - (proprietary) pcp-pro now obsoletes pcp-snia for the Altix platform
    - deprecate the PCP_LIB_COMPAT_DIR variable in /etc/pcp.conf
    - add Linux memory metric (mem.util.other) and memory metrics help text
    - add lockstat PMDA identifier into stdpmid list
    - add Linux vfs metrics (files, inodes, dentries)
    - fix - bug #900363 in linux PMDA to handle > 128 CPUs in /proc/stat
    - minor cleanup in libpcp, bug #901776

pcp-2.3.1-4 (16 July 2003)
    - fix - repair Linux fallout from TRIX changes
    - Makepkgs now extracts src tarball from srpm and includes build version
      in the tar filename
    - fix - make pmtrace and libpcp_trace endian safe, bug 893884
    - fix - don't sum non-disk entries from /proc/partitions in disk.all
      metrics, and add new SGI XVM metrics below disk.xvm, bug 895611
    - minor help text changes in the linux PMDA

pcp-2.3.0-17 (for dev testing)
    - fix - compilation warnings in the mount PMDA.
    - fix - pmie builds with recent versions of bison.
    - fix - several XFS metrics to work with the current/previous XFS versions.
    - fix - build on Redhat 9 wrt errno.h changes.
    - added several new XFS metrics.
    - remove inclusion of some kernel headers from the Linux PMDA code.
    - fix - sginap() macro platform_defs.h overflows causing pmie, pmval and
      assorted qa tests to hang, bug 891861
    - fix - repair fallout from autoconf-2.57 changes in Redhat 9 (broke
      "echo without newline" detection for pcp.conf), bug 892029
    - fix - under rare conditions, pmFetchArchive() may return with
      a bogus return value, bug 892037
    - fix - make pmlogger_check tolerant of hostname(1) returning the fully
      qualified domain name, bug 892079
    - fix race in pmTimeConnect (for pcp-pro only), bug 892827

pcp-2.3.0-15 (21 May 2003)
    - fix - pmdampi name space issue issue, bug 891599

pcp-2.3.0-14 (27 Feb 2003)
    - Fix for 882525: Linux pmda fails with openafs module at Fermilab
      problem in symbol table management, correction also involved
      removing the regexp() use and cleanup resulting in a 60% speed-up.
      Thanks to Troy Dawson <dawson@fnal.gov> for helping to track this down.

pcp-2.3.0-13 (21 Feb 2003)
    - portablility changes to enable building the PCP infrastructure on
      Solaris, based on contributions from Alan Hoyt <ahoyt@moser-inc.com>

pcp-2.3.0-12 (17 Feb 2003)
    - fix segfault for kernels which do not have CONFIG_MODULES
      reported by David Douthitt <DDouthitt@cuna.coop>

pcp-2.3.0-11 (12 Feb 2003)
    - patch from Anas Nashif <nashif@planux.com> to work with glibc 2.3.1
    - fix - pmlogger_check failure messages are too verbose
    - fix - pmclient sometimes reports bad Busy CPU (#) on MP systems
    - fix - Piggy-back PDU and endian conversion error
    - fix - Minor problem with error-handling in pmlc-pmlogger
      connection protocol
    - fix - cleanup handling of children's exit status for pmie
    - fix - need better diagnostics to debug trace PMDA
    - fix - Minor cleanup of PCP man pages
    - fix - command buffer too small in pmnsdel
    - Solaris portability changes from Alan Hoyt <ahoyt@moser-inc.com>
      (qa only so far)
    - fix - minor warnings and build cleanup
    - fix - serialize the pcp build

pcp-2.3.0-10 (16 December 2002)
    - Changes to pmlogconf to improve usability
    - pmie_check fails when log files relocated via symlink
      reported by Micah Altman <Micah_Altman@harvard.edu>
    - fix linux pcp upgrade saves pmns but doesn't save pmcd.conf
    - fix pmlc logic error in handling descriptor fetch failures
    - pmdumplog reports incorrect sizes for PDUs on ia64
    - fix /proc scanning for newer 2.4.x kernels and for 2.5.x
    - pmproxy support in libpcp
    - change the units of kernel.all.uptime from hours to seconds
      contributed by Mike Mason <mmlnx@us.ibm.com>
    - fix pmafm remove does not list all files
    - Units wrong for proc.psinfo.rss_rlim, Mike Mason <mmlnx@us.ibm.com>
    - in build/rpm/GNUmakefile, remove '=' from --target since rpm v4
      doesn't seem to like it Todd Davis <todd.c.davis@intel.com>
    - fix rpm upgrade post install processing for pmieconf rules
    - large number of new metrics and bug fixes from Mike Mason
      <mmlnx@us.ibm.com> to support metrics required by libgtop. These
      include the following:

      (new) Total idle time since boot
            kernel.all.idletime
      
      (new) current # of user sessions
            kernel.all.nusers
      
      (new) Last pid used
            kernel.all.lastpid
      
      (new) Filesystem blocksize from statfs()
            filesys.blocksize
      
      (new) Filesystem free space available to non-superusers from statfs()
            filesys.avail
      
      (modified) Per process command name
            proc.psinfo.cmd
      
      (new) Per process command line from /proc/<pid>/cmdline
            proc.psinfo.psargs
      
      (new) Per process CPU number from /proc/<pid>/stat
            proc.psinfo.processor
      
      (new) Per process wait channel symbol name
            proc.psinfo.wchan_s
      
      (new) Per process signal info from /proc/<pid>/status
            proc.psinfo.signal_s
            proc.psinfo.blocked_s
            proc.psinfo.sigignore_s
            proc.psinfo.sigcatch_s
      
      (new) Per process map info from /proc/<pid>/maps
            proc.memory.maps
      
      (new) Per process memory info from /proc/<pid>/status
            proc.memory.vmsize
            proc.memory.vmlock
            proc.memory.vmrss
            proc.memory.vmdata
            proc.memory.vmstack
            proc.memory.vmexe
            proc.memory.vmlib
      
      (new) Per process user and group ids from /proc/<pid>/status
            proc.id.uid
            proc.id.euid
            proc.id.suid
            proc.id.fsuid
            proc.id.gid
            proc.id.egid
            proc.id.sgid
            proc.id.fsgid
      
      (new) Per process user and group ids converted to names
            proc.id.uid_nm
            proc.id.euid_nm
            proc.id.suid_nm
            proc.id.fsuid_nm
            proc.id.gid_nm
            proc.id.egid_nm
            proc.id.sgid_nm
            proc.id.fsgid_nm
      
      (new) Semaphore limits from semctl()(needed by libgtop)
            ipc.sem.max_semmap
            ipc.sem.max_semid
            ipc.sem.max_sem
            ipc.sem.num_undo
            ipc.sem.max_perid
            ipc.sem.max_ops
            ipc.sem.max_undoent
            ipc.sem.sz_semundo
            ipc.sem.max_semval
            ipc.sem.max_exit
      
      (new) Message queue limits from msgctl()(needed by libgtop)
            ipc.msg.sz_pool
            ipc.msg.mapent
            ipc.msg.max_msgsz
            ipc.msg.max_defmsgq
            ipc.msg.max_msgqid
            ipc.msg.max_msgseg
            ipc.msg.num_smsghdr
            ipc.msg.max_seg
      
      (new) Shared memory limits from shmctl() (needed by libgtop)
            ipc.shm.max_segsz
            ipc.shm.min_segsz
            ipc.shm.max_seg
            ipc.shm.max_segproc
            ipc.shm.max_shmsys

    - fix libpcp_trace stub library does not build on ia64
    - fix make clean doesn't remove all that it should
    - fix pmlogger gram.y syntax error for newer bison
    - fix pmstore value "too big" test does not work on 64bit platforms
    - fix memory leak in pmlogger on 64bit platforms
    - fix update-magic to recompile the magic file after install
    - fix pmie alarm actions, suggested by Todd Davis <todd.c.davis@intel.com>
    - fix man pages to be compatible with khelpcenter and man2html
    - use rpmbuild rather than rpm --rebuild for RH8, contributed by
      Todd Davis <todd.c.davis@intel.com>
    - use rpm instead of rpmbuild if rpmbuild isn't available, contributed
      my Mike Mason <mmlnx@us.ibm.com>
    - in pmdas/linux/ksyms.c, use __psint and %p format for for address
      scanning, contributed my Mike Mason <mmlnx@us.ibm.com>
    - use "make" by default in Makepkgs rather than explicitly gmake
    - Add top level GNUmakefile check for gmake (stolen from glibc)
    - Correctly check status in rule for pcp.src in build/GNUmakefile
    - correctly check rpmbuild exit status in Installpkgs.
    - fix NULL ptr deref in src/pmdas/linuyx/proc_pid.c for the
      case where a process exits while we're reading /proc/<pid>/status

pcp-2.2.2-9 (11 December 2001)
    - fixed mangle-src to catch all copyrights in the open source package
    - fixes from gilly@exanet.com for /proc/cpuinfo on alpha platform.
    - change configure.in to work with autoconf version 2.50
    - fix configure.in to work when ps gives warnings on stderr;
      (eg. System.map doesn't match running kernel)
    - added lmsensors PMDA, contributed by Troy Dawson <dawson@fnal.gov>
    - added kernel.all.uptime, contributed by Gilly <gilly@exanet.com>
    - fixed int overflow with kernel.*.cpu.* metrics. Fix contributed
      by Gilly <gilly@exanet.com>
    - use sysconf(_SC_CLK_TCK) to determine HZ
    - fix sapic scanning for sn-ia64 in proc_cpuinfo.c
    - fix from gilly@exanet.com for scanning 2.4.x /proc/stat disk stats
    - bug 826904 Ensure atomicity of PMNS updates as seen by PMNS readers,
      and add transactional-level locking to ensure mutual exclusion
      between PMNS updaters
    - bug 817376 pmlogger makes too many round trips to pmcd
    - bug 828416 - pmlogger access control will not accept hostnames
      containing hyphens
    - bug 820891 More robust mapping of system error codes to strings to
      accommodate the growing range of errno values in IRIX and differences
      between IRIX and Linux
    - bug 826681 - Having $MAGIC set screws up Linux file(1) with consequent
      havoc for PCP scripts. Fixes to mkaf and pmie_check.
    - fix from Brian Harvell <harvell@aol.net> to allow pcp.conf.in to be
      configured with the following cmdline options to the configure script:
      --datadir --sbindir --localstatedir --libdir --mandir --bindir
      --includedir and --prefix
    - fixes from Brian Harvell <harvell@aol.net> for incorrectly
      configured paths in src/pmie/src/pmie.c src/pmns/pmnsdel.c 
      and src/pmns/pmnsmerge.c
    - from Thomas Graichen <tgr@spoiled.org>, support for bzip2 compressed
      man pages (such as used in Mandrake 8.x)
    - from Martin Knoblauch <Martin.Knoblauch@TeraPort.de>, fix for a problem
      where if LANG is not "C", the is_chkconfig_on() shell function in
      rc-proc.sh does not work, causing problems with the rc scripts.
      src/libpcp/src/pdu.c - 1.3
    - bug 836236 in libpcp: better handling of piggy-back PDU in the boundary
      case where the second PDU is so short that it does not contain even a
      full PDU header.
    - fix src RPM build on Turbo Linux. If /usr/lib/rpm/brp-compress
      exists then always use gzipped man pages.
    - fix buglet where file-3.35 in RH7.2 uses a compiled magic file
    - fix buglet where gawk complained about "\{" on Mandrake linux
    - on SGI SNIA systems, map node number from sapic to cnode in /dev/hw/nodenum
    - bug 843215, fix pmie's sprintf looking for it's config file
    - bug 842905, when /var/log/pcp is a symbolic link, pmie_check fails

pcp-2.2.1-3 (21 June 2001)
    - remove unwanted *.rpmorig files after upgrade 
    - fixed bug #827972, pcp root exploit with pmpost
    - fixed assorted other security issues.

pcp-2.2.0-15 (23 May 2001)
    - don't include linux/kernel_stat.h and avoid __sparc__ conditional code 
    - from Michal Kara: rc will rebuild PMNS if root_* files newer than root
    - add the roomtemp PMDA for measuring temperatures using the 1-Wire
      serial network ans sensor technology from Dallas Semiconductor
    - zero network.tcpconn values before counting them in /proc/net/tcp
      (Michal Kara's original code was correct - markgw busted it!)
    - add new LGPL library libpcp_http. Used by permission of the author,
      Laurent Demailly <L@Demailly.com>
    - minor surgery on apache PMDA to link with -lpcp_http
    - minor fix diagnostic from __pmLogRead
    - as reported by Alexander L. Belikoff <abel@vallinor4.com>, it was
      not possible to disable the primary logger via changes to the
      /var/pcp/config/pmlogger/control file ... this has been fixed
    - as reported by Alan Bailey <bailey@mcs.anl.gov>, the assumption
      that /var/pcp/config/pmlogger/control was version 1.1 was implicit 
      ... this is now documented and the pmlogger_* scripts will warn
      if the deprecated version 1.0 format is used accidently
    - from Michal Kara: fix mem leak in apache PMDA
    - from Michal Kara: install /var/pcp/config/pmlogger/Makefile
      (src is in src/pmlogctl/Makefile.install). This provides pre-processing
      of pmlogger config files with cpp.
    - reintroduction of "impl.h" header, deprecate "pmapi_dev.h" and major
      makefile surgery to reintegrate the IRIX and Linux PCP source trees
    - add ia64 support infrastructure.
    - use -fno-strict-aliasing for correct ia64 compilation
    - use -fpic to avoid gprel errors linking shlibs on ia64
    - don't use -P with cpp, thus preserve line numbers
    - post-process help text to reformat long lines
    - pv:789819 fixes to mailq and sendmail PMDAs
    - fix endian-sensitive IP addr construction in cisco PMDA
    - fix sscanf unaligned access warnings on ia64 for cisco PMDA
    - support v1 help text again, conditional on HAVE_NDBM
    - fix pmval's qsort compare routine for instances
    - surgery on almost all man pages, merge with IRIX PCP man pages
    - promote shping to open-source status
    - fix bug #814989 where disk.all.* not summed correctly (if the sard
      patch has been applied to running kernel)
    - with the sard patch applied to the kernel, disk.all metrics were
      being summed as the total of disk.partitions and disk.dev metrics,
      resulting in approximately twice the rate of disk I/O for the
      disk.all metrics
    - added more disk metrics and update help text
    - the "cpu" instance domain is now dynamic and supports any number of CPUs
    - fixed pmie rc and pmie_{check,daily} scripts
    - a bunch of places were using $PCP_VAR_DIR/config/pmcd/pmcd.conf
      as the path to pmcd.conf (which is correct). Others were using
      /etc/pmcd.conf (which is only correct on IRIX).
    - merged IRIX/Linux versions of pmsocks
    - mimic the IRIX xconfirm behaviour more closely, pv 817289
    - pv:817367 Handle SIGCHLD from xconfirm problem on Linux
    - minor changes in error messages to make them less IRIX-centric
      and hence more sensible for Linux
    - fix weblog link in doc dir logic and old netscape should be
      detected as CERN not NS_PROXY.
    - fix weblog so regex in the configuration file is recognized
      correctly on all platforms
    - only run weblogconv.sh on linux
    - conversion to more simple copyright in numerous places
    - avoid grep -q usage: not supported on early IRIX
    - pv:803341 Change Creator: for mkaf from mkaf to pmchart to assist
      with pmafm replay when pcp also installed.
    - updated man page text for platform-agnostic descriptions.
    - fix 817880 pmafm remove does not list all files
    - src/pmie/GNUmakefile Fix busted sed translation of the control
      file so the logfiles (and hence directories) are ...pmie/<hostname>
      rather than pmie<hostname>
    - renamed all Makefiles to GNUmakefile
    - makefile surgery to allow multiple RPMs to be built from one src tree
    - fixes to src/pmcd/pmdaproc.sh to not use test -e
    - pv:815326 fix pcp linux /usr/share/magic doesn't detect pmie config
    - pv:818381 fix pmie_check fails esp integration
    - man page for pmlogsummary was in both pcp and pcp-pro
    - fix to src/pmie/pmie_check.sh, improve pattern to match No such
      file or directory for linux
    - fix all linux specs to install root,root rather than root,bin
      (needed to avoid warnings when installing on redhat7.1)
    - add GNUmakefile.install for all PMDAs, installed in each PMDA dir
    - fix src/pmdas/weblog/server.sh to use quotes on -d that was breaking
      when parameter empty.
    - pv:807561 change pmprobe -i and -I semantics to call pmGetInDom
      rather than using the returned indom from pmFetch
    - add hinv.machine for oview to use
    - change the cpu instance domain to use the numa names if they are
      present on the machine, else revert to cpuX syntax
    - numerous fixes so the src RPM builds on all platforms
    - pv:824382 - xfs block metrics were scaled incorrectly
    - add support for /proc/slabinfo metrics (mem.slabinfo.*)
    - add new "process" and "mounts" PMDAs, contributed by Alan Baily
    - added GPL copyrights to process and mounts src, fixed makefiles
      to extract domain number from stdpmid and added install targets,
      and small change to ignore comments in conf files.
    - added hinv.pagesize (uses the getpagesize(2) system call)
    - fixed bug #825229 where rpm upgrade would clobber root pmns for PMDAs

pcp-2.1.10-8 (released circa Oct 18 2000, with SGI ACE1.4)
    - guard against DOS attack by restring incoming PDU size to 64K.
    - add hinv.map.cpu and hinv.cpu metrics exported by /proc/cpuinfo
    - fix small error in INSTALL_MAN rule in src/include/builddefs.in
    - fix for bug #793427 - correct symlinks for man pages with multiple
      entries in the .SH NAME section.
    - add network.tcpconn metrics to export counts of tcp connections in each
      state. Code contributed by Michal Kara (lemming@arthur.plbohnice.cz)
    - few minor fixes for build on ia64

pcp-2.1.9-12 (released circa Sept 13 2000, with SGI Propack1.4)
    - for 2.4 without sard, correctly match disk numbers in /proc/stat
      with major,minor numbers in /proc/partitions.

pcp-2.1.9-11 (unreleased)
    - add pagebuf metrics (Daniel and Nathan)
    - fixes so the build works if pcp is not already installed
    - minor security fix to pcp.spec.in (force mode 644 for .NeedRebuild)
    - make sure the src RPM builds correctly (LSRCFILE issues from LinuxWorld)
    - fix for bug #797756, upgrade from pcp2.1.6 to any newer version leaves
      pcp chkconfig off and the name space does not get rebuilt.
    - extended the weblogs PCP agent so it can report proxy/squid
      http servers, and added assorted http cache statistics.
    - fixed the Cisco router PCP agent (it was broken in pp1.3).
    - add support for disk stats in 2.4.x kernels with "disk_io" field
      in /proc/stat (only used when sard patch is not installed)
    - if the pcp-pro package (SGI proprietary) is installed, all libpcp
      clients on linux are now "authorized" to monitor IRIX systems that
      do not have a pmcd collector license.

pcp-2.1.9-6 (released 2 Aug 2000 for propack1.4 - alpha, not final)
    - install /usr/share/pcp/lib/rc-proc.sh containing common
      shell functions for use by rc scripts - these functions
      are tolerant of the chkconfig command missing (as in SUSE).
    - update all rc scripts and {pmlogger,pmie}_{check,daily} scripts
      to use the new rc-proc.sh functions. Remove the /etc/sysconfig
      stuff entirely (it was not being used anyway).
    - fix for #795934 : after rpm -U, pcp is chkconfig off. It turned
      out that an upgrade executes the %post _and_ the %preun scripts,
      which resulted in pcp being chkconfig'd on then off again.
    - fix pmie rc scripts so they work, are chkconfig friendly,
      and cope with _and_ without pmieconf (which is in pcp-pro).
      Also install /var/pcp/config/pmie/config.default as a simple example
      to monitor the load average and report to syslog. The pmie
      daemon is chkconfig off by default.
    - default run levels for pmcd and pmie (daemon) are now 2345, for SUSE
    - reconcile troff and groff differences in man page sources
    - fix for bug #797049 use strftime(%z) to determine timezone offsets
      w.r.t. daylight savings
    - portability surgery on src/libpcp_trace, and add new pmtracecounter()
      function, see pmtracebegin(3) for details.
    - reconcile pcp.env and pmcd.options from IRIX
    - fix for bug #797048 update-magic does not fully remove old entries
      before adding new, hence the magic file would grow after each upgrade
    - other minor reconciliation work with IRIX
    - fix build environment to allow proper handling of compressed man pages
    - add support for RPM version 4.
    - add support for add kernel.{all,percpu}.syscall metrics
      (requires kernel patch)
    - fixed for bug #797164: potential SEGV due to calling realloc on a 
      misused pointer - src/pmdas/weblog/weblog.c
    - use realpath(3) to resolve devices in /proc/mounts for filesys.* metrics


pcp-2.1.8-2 (released 30 June 2000)
    - fix for bug #793871 pmlogger_check fails after redhat upgrade
      (because PCP entries in /usr/share/magic were clobbered)
    - also install /var/pcp/pmdas/linux/pmdalinux (as a non-DSO
      agent for debugging and profiling purposes).
    - added pmda.uname (uname -a) and pmda.version (linux pmda version)
      metrics. The pmda.uname metric is needed by the "pcp" command.
    - fix for #789025 fix to ensure rpm --verify succeeds immediately
      after an install, and other errors in pmlogger_check
    - released with ACE 1.3 (MR 19 Jul 2000)

pcp-2.1.7 (internal release for testing)
    - merged changes from IRIX for multiple namespace support in
      pmdaproc.sh
    - parameterized path to pmcd.conf and pmcd.options to avoid
      having to move these files in IRIX. Use PCP_PMCDCONF_PATH and
      PCP_PMCDOPTIONS_PATH respectfully.
    - add new error define PM_ERR_LOGFILE (reconciled from IRIX)
    - conditional pragma for pmGetConfig (not used in linux)
    - use if defined(HAVE_OBJECT_STYLE) to guard __pmCheckObjectStyle
      since it's not used in linux (reconciled with irix code)
    - correct logic used to scan for pmlogger pid in pmlogger_check
      in case where pmlogger exits prematurely, part of #789025
    - added -Wall to default CFLAGS and LDFLAGS
    - added xfs metrics (needs kernel support else no values available)
      extracted from /proc/fs/xfs/stat
    - added nfs (version 3) metrics, same names as on irix, bug #789669
    - fix instance domain for kernel.percpu.interrupts, bug #790372

pcp-2.1.6 (released 3 May 2000)
    - released with ISE 1.2 (MR 25 May 2000)
    - released with ISEMAIL 1.0 (MR 24 May 2000)
    - this is the version shipped with SGI ProPack1.3
    - change use of __clone to pthread_create for portability
    - add support for raid disk stats (previously ignored)
    - fix for bug #789425 pmie suspect behaviour with "delta" keyword
    - add support for devfs style scsi disk names
    - fixed a problem where nfs stats were always showing NFSv3 stats
      rather than NFSv2 stats. We are not (yet) supporting NFSv3 stats.

pcp-2.1.5 (released 12 April 2000)
    - released with SGI ACE 1.2 (MR 19 Apr 200)
    - fix bug #786743 filesys metrics are wrong
    - fix potential segfault bug in timezone handling
    - tolerate SUSE's location of magic file different to Redhat's
    - tolerate no chkconfig on SUSE (use %postinstall create rc symlinks)

pcp-2.1.4 (released 15 Feb 2000)
    - fix for segfault src/pmdas/linux/pmda.c on linuxppc, found by
      Dale F. Brantly <dale.brantly@sgi.com>
    - fix build error in src/pmclient, was trying to use pmgenmap
      without /etc/pcp.env, also found by Dale.
    - setlinebuf(stdout) for all clients that loop
      (fixes a buffering problem on alpha-linux).
    - fixed some missing "{" in conditional variable assignments
      in src/pmie/etc_init.d_pmie (found by lstep@free.fr)
    - changed use of pmgenmap in build for pmclient and
      pmkstat to be consistent (found by lstep@free.fr)
    - don't assume clock tick rate is 100/second. Use the CLK_TCK macro
      instead. Rearrange arithmetic in src/pmdas/linux/pmda.c where we
      divide by CLK_TCK to avoid truncation in conversions from jiffies
      to milliseconds.
    - return "no values available" rather than PM_ERR_APPVERSION for
      the metrics disk.{all,dev}.{read,write,total}_bytes since these
      are not available on systems without the "sard disk patch".  This
      is now consistent with requests for disk.partitions.* metrics.

pcp-2.1.3 (released with 2.1.4)
    - released with ISE 1.0 (MR 1 Mar 2000)
    - added hinv.map.scsi metric as a map of SCSI devices (if any)
    - added disk.dev.{read,write,total}_bytes
    - filter devpts from filesys.* metrics to avoid FPE errors
    - added support for new style Apache configuration file and
      "silent" install to weblog scripts

pcp-2.1.2 (released with 2.1.4)
    - released with SGI ACE 1.0
    - fixed date field in LSM
    - install pmiestats.h for pmieconf
    - renamed /var/pcp/config/pmafm/pcp-col to
      /var/pcp/config/pmafm/pcp
    - added network.{ip,icmp,tcp,udp} metrics
      extracted from /proc/net/snmp
    - fixed shell syntax error in pmlogger_daily(1)
      (changed test -l to test -f)
    - fixed problem with definition of __psint_t on 64bit machines
    - fixed timezone problem with daylight saving

pcp-2.1.1 (released 7 Dec 1999)
    - initial pcp-2.1.1 open source release