File: ChangeLog.old

package info (click to toggle)
mldonkey 3.0.3-4
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 17,124 kB
  • ctags: 27,135
  • sloc: ml: 146,511; cpp: 11,802; ansic: 7,701; sh: 4,039; asm: 3,870; xml: 1,092; perl: 102; makefile: 101
file content (5841 lines) | stat: -rw-r--r-- 248,992 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
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
ChangeLog
=========

All numbers mentioned here can be found as patches on
http://savannah.nongnu.org/patch/?group=mldonkey

2009/10/23: spiralvoice

Split Changelog, all stuff newer than 2.8.7 is now in distrib/ChangeLog
-------------------------------------------------------------------------------
2007/06/03: version 2.8.7 = tag release-2-8-7
5988: BT: Completely parse handshake packet of newer BT clients (thx to Berni)
- this patch should fix the serious performance problem with BT downloads

2007/06/02
5987: GeoIP: Small cosmetical fix for loading GeoIP.dat (pango)
5986: Fix GC problem in bz2 code (pango)

2007/06/01
5891: Disconnect clients we download from when a file is queued/paused
5905: Replace old DirectConnect module with new DC++ code (alffa)
- enable it with ./configure --enable-directconnect
- bzip2 support is manditory
- preliminary docs: http://mldonkey.sourceforge.net/DirectConnect
-------------------------------------------------------------------------------
2007/06/01: version 2.8.6 = tag release-2-8-6
5984: EDK: Small log updates

2007/05/31
5982: Save archives used for ini files backup with rights 600 (pango)
5981: EDK/Swarming: Download first 9MB first for preview,
      not 10MB to avoid downloading second chunk too early (pango)
5972: GeoIP: Load GeoIP.dat into RAM (pango)

2007/05/28
5976: Search for autoconf261 in ./configure

2007/05/27
5940: GeoIP: Reduce disc access to lower CPU usage
- store computed country values in client/server structures
- EDK: fix a bug where a firewalled client was displayed with IP 0.0.0.0
- new verbosity level "geo" to monitor access to GeoIP.dat

2007/05/23
5961: Include compile patch for Ocaml 3.08.3
5956: Remove unused files src/networks/donkey/donkeyIndexer.ml*

2007/05/22
Updated Mozilla protocol handler to version 2.1
- original source from http://www.informatik.uni-oldenburg.de/~dyna/mldonkey

2007/05/21
5944: configure: Allow use of Ocaml 3.10.0, keep 3.09.3 as default

2007/05/08
5897: FileTP: Support HTTP downloads of files > 1GB
5815: Unix32: Override system umask to force correct function
      of option create_file_mode (pango)
5912: Extend patch 5817: "Code updates for Ocaml 3.10.0beta compatability"
      to Ocaml 3.11
5910: EDK: Revoke upload slot when client asks for blocks positioned after EOF
5908: Fix commit when incoming filesystem allows more than 16M chars
5906: Telnet/BT: Display clients country code without HTML in vd <num>

2007/04/28
5903: commonPictures: Update favicon.ico (meto)
5902: Updated italian translation for mldonkey (surricani)
5901: Updated german translation for mldonkey
- taken from german wiki: http://www.mldonkey.org/wiki/index.php/Mlnet_strings
5900: Updated italian translation for mldonkey (surricani)

2007/04/26
5898: Updated italian translation for mldonkey (surricani)

2007/04/25
5892: Updated italian translation for mldonkey (surricani)

2007/04/24
5888: Partial italian translation for mldonkey (surricani)
      stored in ./distrib/i18n/mlnet_strings.it_IT.UTF-8
5718: Improve command "nu"
- close all upload slots
- do not give an upload slot to clients in pending slot
- restrict command "nu" to admin users
-------------------------------------------------------------------------------
2007/04/23: version 2.8.5 = tag release-2-8-5
5855: Increase Unix32.max_cache_size, fix max_opened_connections check
      (thx to pango)

2007/04/21
5878: HTML: Fix preview in vd <num> broken by patch #5866

2007/04/20
5876: HTML: Send mime-type video/mpeg for file extension .vob

2007/04/19
5857: EDK: Remove upload compression (patch #5665) due to ineffective caching
5875: Swarmer: Some cosmetic changes (pango)
5856: EDK: Set TCP backlog to max_upload_slots for donkey_port socket
5869: EDK/Swarmer: Try harder to read corrupt files.ini
- reset chunk table to missing after re-creating a missing temp file
- discard swarmers without files entry in files.ini instead of stopping
- check that partial hashes file_md4s match with file_md4 when reading files.ini
5870: Updated distrib/mldonkey_submit, it now uses command dllink instead of dd,
      it also supports http and sig2dat links (atordo)

2007/04/13
5866: HTML: fix third button row to also successful act within frames (schlumpf)

2007/04/12
5867: EDK: Show country code/flags for indirect clients
5862: BT: Informative GUI console messages after sending a .torrent file to GUI
5859: HTML: Support sending files from $MLDONKEY_DIR/html_themes/

2007/04/10
5861: HTML: Fix errors reported by w3.org validator in html_header_mods0
5860: HTML: fix broken refresh on Opera/Safari (schlumpf)

2007/04/08
5854: Set share_scan_interval = 0 to disable scanning of shared directories
5853: New option defaults
- download_sample_size 100, 10 is too low, download rate is computed wrong
- ED2K-propagate_sources false, this activates outdated MLDonkey-style source
  exchange, MLDonkey supports eMule-style source exchange which is not affected
  by this option
- ED2K-update_server_list_server should be false, there are lots of fake servers
  out there, trust only servers from trusted server lists. For more details read
  http://mldonkey.sourceforge.net/ServerList#Fake_search_results
- ED2K-upload_full_chunks should be true to reflect the same default eMule uses
- ED2K-upload_compression_table_size should not be smaller than max_upload_slots

2007/04/03
5821: New variables for file_completed_cmd:
      file_group_cnt, file_group_user, file_group_dir
5849: EDK: Report correct short versions for Windows clients

2007/04/02
5847: BT: Fix exceptions when handling BT clients as friends
5845: Do not reverse order in files.ini after restart (pango)
5844: HTML: Keep totals line when sorting statistics tables (schlumpf)
-------------------------------------------------------------------------------
2007/04/01: version 2.8.4 = tag release-2-8-4
5840: Some small stuff (logging, code improvements)
5839: IP block: Scan all files inside a .zip file when loading
      a blocklist, use the first valid file
5831: BT: New option BT-tracker_retries

2007/03/26
5819: MinGW: Fix charsetstubs.c compile with latest MinGW

2007/03/25
5817: Code updates for Ocaml 3.10.0beta compatability
- to use Ocaml 3.10 add ./configure option --enable-ocamlver=3.10
- MLDonkey will accept the new Ocaml version without this option when
  the final version of Ocaml 3.10 is released and proven to be working
- GTK1 oldgui does currently not compile with Ocaml 3.10 code
  - lablgtk1 & lablgtk2 compile with Ocaml 3.10, but some MLDonkey code
    still needs fixing, GTK1 newgui and GTK2 gui compile with Ocaml 3.10
- parts of the patch by pango

2007/03/24
5813: Options: Use original file rights in tar.gz backup,
      save backups with rights 600

2007/03/18
5807: Implement new command "man" to display command help

2007/03/17
5806: Update GNU config.guess and config.sub to version 2007/01
5775: http_client: Fix loading URLs with ()' (orbit)
5781: web_infos: Load local file if remote file can not be accessed
      (thx to xergius)
5802: Telnet: Support non-ascii input (Hung-Te Lin)

2007/03/16
Updated Mozilla protocol handler to version 2.0
(re-committed after data loss due to Savannah crash on 2007/03/12)

2007/03/11
5799: Flags: Added Aland Islands, Guernsey and Jersey,
      fixed debug_pictures command
5797: Remove unused source code in src/applets/*
5775: removed, it breaks BT downloads
5775: HTML: Fix url parsing for URLs with ()' (orbit)
5774: BT: fix upload managment (orbit)
5786: HTML: small javascript search improve (orbit)

2007/03/08
5787: HTML/Geoip: Show country flags
- new option html_flags to disable display of flags 
- favicon.ico now built-in
- fix sorting bug in costats (thx to orbit)

2007/03/06
5784: Gd: Implement binding for function gdImageFilledArc
5773: Geoip: Country-based up-/download statistics
- new ini file statistics.ini, to be used later for all statistics
- new command "costats", accepts parameters:
  without parameter it displays all countries where data was transfered to
  parameter "all" displays all seen countries, countries where MLDonkey never
  saw a client are not part of the statistics data
  regular expressions can be used for country names/codes and continents,
  like "costats *aus*" (Austria and Australia), "costats *europe* *africa*"
- new command "countries" to print country database
- new command "reset_costats" to reset country statistics
- mem_stats support for modules CommonStats & Geoip
- updated country database based on GeoIP 1.4.2 C-library

2007/03/04
5765: Change hard-coded maximum value for client_buffer_size
- default stays at 500.000
- for high-volume links raise this value to 1.000.000 or higher
5767: HTML: Improve bw_stats
5768: New default for option messages_filter (thx to atordo)
5766: Windows/Unicode: Fix broken get_info function for non-ascii filenames
5782: Improve CommonNetwork.network_display_stats function

2007/02/28
5757: Some improvements for byte-code build
- "make utils" now builds byte-code if needed
- new build targets: mlnet.byte.static, release.mlnet.byte.static
- print configure infos when byte-code is to be compiled
- buildinfo prints the binary name if not "mlnet" or "mlnet.static"
- remove some unneeded variables from configure
5759: OV/KAD: improve stats, remove obsolete options, save bandwidth (bogeyman)

2007/02/19
5754: mld_hash: Compute AICH hashes (thx to pango)
- parameter hash takes new option: aich to compute eMule AICH hashes
- new parameter partial_zone: Display hashing of zones (subparts of chunks)
- new parameter check_keep, keep files after checking functions (-check) for later testing
- parameter check, option filesize is now Int64 and in bytes
5752: Fix core hanging on ARM CPUs
5750: EDK: New option upload_compression_ext_exclude (thx to pango)
- space-separated list of file extensions which are not compressed when uploaded

2007/02/18
5753: Multiuser: New variable $USER_MAIL for file_completed_cmd
5751: Improve startup log messages, remove unused code, optimize Date code
5749: BT: recognize more BT client types (orbit)
5748: KAD/OV: Limit searches for sources (bogeyman)

2007/02/15
5738: Remove obsolete multicast files (orbit)
5743: BT: Show shared torrents in upload list after commit (xergius)
5744: EDK: Fix SecureUserIdent between machines with different endianness
-------------------------------------------------------------------------------
2007/02/11: version 2.8.3 = tag release-2-8-3
5734: Update camlzip to version 1.03 (thx to orbit for reporting)
5735: BT: Fix make_torrents to sort dictionary entries alphabetically
      Bittornado did not read MLDonkey-made torrents (amadeo)
5737: MinGW: Work-around missing Unix.fstat
- fixes failed removal of torrent files from torrents/[incoming|downloads]

2007/02/06
5719: Unix2: Fix copying files > 1GB (1073741823 bytes),
      bug was introduced by patch 5589 after release of 2.8.2

2007/02/04
5724: http_client: Retry GET request if HEAD request returns http error 400
5723: HTML: print tracker errors in html table at 'vd <num>' (Schlumpf)
5722: HTML: use Printf2.html_mods_cntr () for table row classes (Schlumpf)
5720: Swarmer: block choice algorithm 2 from patch 5141 is new default
- remove swarming_block_selection_algorithm = 1
  because it finishes chunks too slowly
- remove swarming_block_selection_algorithm = 3 from TripleM
  because it uses too much CPU power.
- remove option swarming_block_selection_algorithm, hard-coded default is now 2
- remove option block_switching, hard-coded default is now true

2007/01/30
5717: Optimize function print_command_result

2007/01/28
5715: Improve porttest (Schlumpf)
- use 'porttest' command to start the network porttest the first time,
  after this to see the results
- new command 'force_porttest' to force an new porttest
- improve html porttest output and make it also available in telnet
5716: EDK: Do not send share list to servers with state Connecting
5713: HTML: show messages link in vd clickable (Schlumpf)

2007/01/25
5712: Multiuser: New verbosity "com" to log commands by non-admin users
5711: Multiuser: Block commands preferred, bs, bp, port for non-admin users
5642: Swarmer: swarming_block_selection_algorithm = 3 (TripleM)
- this new algorithm select always the rarest choice, if average availability
  is below 5, or one choice_availability is below average availability
- added a hashtable to store blockmaps of uploaders for a given swarmer
- long term memory usage has to be observed
5710: Swarmer: Fix chunk propagation (pango)

2007/01/21
5693: "voo changed" prints changed options only, useful for support (Schlumpf)
5698: EDK: fix display of porttest result images (Schlumpf)
5699: Multiuser: Fix wrong file path (user_commit_dir) in notification mail
5695: Command "set": better error text if option does not exist
5694: Fix small typo in buildinfo

2007/01/17
5673: New core start parameter: -useradd "user pass", needed for Debian package
5678: New options for command force_web_infos: kind/URL (thx to Schlumpf)

2007/01/15
5691: EDK: Recognize compatibleclient 60: IMPmule (imp-project.net)
5689: EDK: Log downloading file name when client disconnects
5684: GUI: Fix build of mlprogress (Alt linux)
5677: Options: New concept of option types, fix non-admin Sancho http preview

2007/01/11
5665: EDK: Support compressed upload, implement file read cache (TripleM)
new options:
- ED2K_upload_compression to enable compressed upload, default true
- ED2K_upload_compression_threshold, default 2000 bytes
  Size difference in bytes between one zone (180 kBytes) and its compressed
  counterpart, which has to occure, to send compressed parts instead of plain.
- ED2K_upload_compression_level, Zlib compression level, default 9
- ED2K_upload_compression_table_size, default 20
5669: HTML: Add HTML headers to prohibit browser-side caching (Schlumpf)
5671: Configure: Fix question whether to compile lablgtk, same as patch 5401
5675: Updated Mozilla protocol handler to version 1.10

2007/01/08
5666: New option upload_complete_chunks (TripleM)
- default false, if true, each client is allowed to complete only one chunk,
  independent, if it is empty or partial. this setting overrides
  upload_full_chunks and dynamic_upload_lifetime, but is, as a failsafe,
  limited by upload_lifetime (should be set reasonable high)
5664: EDK: Avoid uploading data more than due
      to eMules rotating block requests (pango)
5596: EDK: New option upload_full_chunks (thx to TripleM)
- If the new option upload_full_chunks is set to true, each client is
  allowed to receive one chunk, this setting overrides upload_lifetime.
  Well, not exactly one chunk. eMule has this code in opcode.h:
    #define SESSIONMAXTRANS (PARTSIZE+20*1024) //
    "Try to send complete chunks" always sends this amount of data
  MLdonkey now does the same, if upload_full_chunks is true and client A got
  9728000+20*1024 bytes during the current session its upload slot will be
  revoked unless pending slots are empty.
5619: EDK: Print network specific infos in command "vc <num>",
      remove unneeded fields from client structures
5627: commonHasher: fix wrong arg types from several functions (Schlumpf)
5626: MinGW: fix missing declarations and wrong pointer
      initialization in stubs_c.c (Schlumpf)

2007/01/06
5599: EDK: Support for files >4GB (TripleM, pango)
- this patch does not include >4GB support for Kademlia
5660: Swarming: Enable wrongly disabled select block memoization (pango)
5659: GD: Fix wrong months display (skeeve)

2006/12/08
5617: New option share_scan_interval
- how often (in minutes) should MLDonkey scan all shared directories
  for new/removed files, default one minute
- on slow machines raise the interval to a higher value to reduce CPU load
- to force a re-scan of shared directories use command "reshare"

2006/12/06
5613: Another longhelp cleanup (anhi)
5615: EDK: Parse more fields from server.met files

2006/12/04
5612: EDK: OP_HELLO tag 0x75, print os_info in logfile

2006/12/03
5602: HTML: Display share status in upstats
5609: New field type Field_KNOWN, EDK: recognize more HELLO/EmuleInfo tags
5610: CommonSources: Cleanups and reformatting the code (pango)

2006/12/02
5608: Multiuser, chgrp: Prevent change of file_group to None
      if the user is not file_owner
5607: Multiuser, chown: Change file_group to user_default_group
      if the new user is not member of file_group
5606: Introduce display of session transfer values
- new columns for session up-/download
- send session values to GUIs

2006/12/01
5605: HTML: Fix search list display when html_checkbox_search_file_list = true

2006/11/29
5598: Remove use of deprecated sort module, remove unused sort2.ml* (pango)
5589: New option create_file_mode,
      rename create_dir_mask to create_dir_mode (pango)
5595: EDK: Fully parse emule_miscoptions1/2
5594: EDK: If update_server_list_client true, add yet unknown server
      of lowid clients
-------------------------------------------------------------------------------
2006/11/29 version 2.8.2 = tag release-2-8-2
5597: GD: New option html_mods_vd_gfx_h_intervall
      (compute values for hourly graph every x minutes) (skeeve)

2006/11/28
5591: EDK: Fix small file search result parsing

2006/11/26
5590: EDK: .gz & .bz2 support for command "servers"
5581: EDK: Improve server logins, send fewer data, minor improvements
- Copied eMule behaviour:
  - send fewer data to server during login, support server capability "newtags",
    same opcodes as in eMule are used
  - UDP ping servers once per 4,5h - (random of 1s-1h)
  - UDP server statistic request during every second UDP ping
    (~9h, not once per hour like before)
  - request serverlist from server only when ED2K_update_server_list_server true
  - ping one server per 5s
  - remove servers after 10 unsuccessful UDP pings
  - save challenge values sent with UDP server statistic and description request
    and dismiss answers containing wrong challenge
- New functions, restructurings:
  - new server status "Server full"
  - support new tag emule_miscoptions2 (empty atm.)
  - remove server descriptions from servers.ini
  - clean donkeyTypes.server definitions
5588: Cleanup commonNetwork (pango)
5582: EDK: Improve CryptoPP logging (Schlumpf)
5584: EDK: Remove removed servers from walker server lists
5585: EDK: New parameter "all" for command "x" to disconnect all conn. servers
5586: BT: Recognize Bitrocket clients

2006/11/21
5579: Remove BasicSocket.[mini|maxi], replace them with Pervasives functions
- small fix for DonkeyOptions.max_allowed_connected_servers
5578: Remove unused files
- src/utils/net/tcpClientSocket.ml
- src/utils/net/tcpClientSocket.mli
- src/utils/net/tcpSocket.mli
5577: EDK: Send correct SUI tags
- sometimes MLDonkey sent SUI=true tag when CryptoPP was not linked

2006/11/20
5568: EDK: Support CIDR and IP ranges in server_black_list (pango)
5574: allowed_ips: Fix list usage when 0.0.0.0/0 is part of the list (pango)
5570: Some log messages in gettext module (Schlumpf)
5569: HTML: Fix display bug in server list after js popups
      introduced by patch #5549 (Schlumpf)
5564: HTML: Remove non-working option use_html_frames (Schlumpf)
5563: EDK: Fix broken log message when master server changes (Schlumpf)

2006/11/15
5556: web_infos: new option rss_preprocessor used for fixing broken RSS feeds,
      safer process spawning for command "!" (pango)
- broken feeds like http://thepiratebay.org/rss.php?cat=D601 can now be parsed
  directly using (for example) xmllint, if a feed can not be read be MLDonkey
  its piped through rss_preprocessor and read again
5560: EDK: Parse some more server.met fields, log unknown server tags

2006/11/14
5424: web_infos/rss: shell:// type url
5549: EDK: Parse all data from server.met, new HTML javascript popup
5553: EDK/OV/KAD: small updates (bogeyman)
- EDK: log unknown client tags with verbosity mct
- OV/KAD: ignore OvernetPeerNotFound and log number of peers every
  60 secs when logging
5551: web_infos: Fix mtime detection, old files were not updated
5550: debug_fileinfo: Print [a|c|m]time values
5530: GD: Improve graph output (skeeve, Schlumpf)
- html_mods_vd_gfx_h_grid_variable
  "Stretch hourly until at program start", default true
- html_mods_vd_gfx_h_grid_time
  "Max hours on time scale per grid (0 = no limit)", default 0
- html_mods_vd_gfx_subgrid
  "Number of shown subgrids on graph (0 = no subgrids)", default 0

2006/11/13
5548: New search parameters: "-and", "-or", "-not", removed "-without"
      (Schlumpf)
5546: Some sharing updates
- solved bug 10957, updating the prio of an already shared dir is now possible
- fix bug where missing shared dirs with strategy incoming_* where not recreated
- remove "network = []" from downloads.ini, currently not supported
- created workaround to fix bug on MinGW: no files were shared. Introduced by
  patch 5475, but source of problem is Ocaml bug 4159
5547: HTML: Fix unicode display in vd & upstats javascript popups

2006/11/12
5545: EDK: Do not show empty server message lines in GUI
5509: Common: Merge file_print functions,
      BT: print BT-specific source infos in Telnet (thx to jave)
5544: Clean up code to avoid otags warnings (pango)
5543: Improve exception handling, fix some indentions (pango)
5542: CommonSources: Work-around division-by-zero bug in Ocaml
      on Alpha platform (pango)

2006/11/09
5526: Multiuser: Internal restructuring, new commands
- from ftp://ftp.berlios.de/pub/mldonkey/pango/userdb-cleanups_v2.patch (pango)
  - create commonUserDb.mli to protect userdb data from other modules
  - cleanups
- replace strings in commonFile with multiuser commonTypes.userdb/groupdb
- implement security checks when core starts
  - user "admin" must exist
  - group "mldonkey" must exist and must have admin status
- update HTML interface, command "users"
  - create link to remove a group from a user
  - create link to change group admin status
  - new column group members
- Telnet: Show all data in command "users"
- do not allow removal of users or groups with downloads,
  groups with members, user "admin" and group "mldonkey"
- filter files shown with command "downloaders"
- fixed bug where wrong group list was displayed in HTML, vd #file_num
- Display user and groups columns
  new options html_mods_vd_user & html_mods_vd_group to en-/disable display in HTML, vd
  - Javascript popups show User:Group infos
  - Telnet support
- implement new commands
  - usergroupadd <user> <group> : add a group to a mldonkey user
  - usergroupdel user> <group> : remove a group from a mldonkey user
  - userdgroup <user> <group|None> : change user default group
  - groupdel <group> : remove an unused mldonkey group
  - groupadmin <group> <true|false> : change group admin status
- Restrict commands to admin users:
  - bw_toggle
  - enable
  - disable

2006/11/06
5527: mlguistarter: print correct syntax (fixes Debian bug #396754)

2006/11/05
5481: Overnet: Small updates
- do not print opcode 18 (OvernetNoResult) as unknown message
- parse bcp type bcp://xxxxxxxxxxxxxxxxxxxxxxxxxxx:ip:tcpport:udpport
- print debug log message when a new source was added
5513: HTML: Let webinterface work in a HTML frame (ported from Knockers Mulus)
- third button row does not work yet, patches welcome
5521: BT: Fix non-working EDK upload when BT is enabled,
      introduced by patch 5461

2006/10/31
5508: OV/KAD eMule style search and some small fixes (bogeyman)
5486: UDP bandwidth monitor fix (bogeyman)
5505: EDK: Support aMule/Hydranode style OS_INFO tag

2006/10/30
5488: Multiuser: New commands
- groups -> displays groups of the logged-in user
- dgroup -> displays default group of the logged-in user
- restrict command "unshare" to admin users

2006/10/29
5475: Multiuser: Implement user_commit_dir
- directories with strategy incoming_files are shared recursively now
- support several directories with incoming_* strategies, use the
  first one with enough space to commit the finished file

2006/10/27
5499: Configure: find camlp4 in local, fix patch 5479 (dunk)

2006/10/26
5477: BT: Add downloads to share list after core restart

2006/10/25
5474: updated bw_toggle
- fix cosmetic bug, wrong values were displayed
  as a result if option_hook changed values
5489: HTML: Improve serverlist display (Schlumpf)
5487: Update URLs, change mldonkey.net to mldonkey.org
5485: HTML: Print sharing strategies in command "shares"
5461: Release slot, fix missing filenames in upstats
- Each downloading file can be set to status "Release", this can
  be done by clicking the "R" column in HTML, Transfers or by
  using the new "release <file_num>" command to toggle the state.
- A new option max_release_slots exists, default 20% of the default
  5 max_upload_slots. This means 1 upload slot is available per default
  and granted for files with status "Release" when requested.
- Show filenames in pending upload slots list
5484: Fix DNS test, test other domains besides www.mldonkey.net

2006/10/23
5474: New command bw_toggle (ported from Knockers Mulus client)
- two new options: max_hard_upload_rate_2 and max_hard_download_rate_2
- new command bw_toggle, quickly switch between two bandwidth options
5480: Update Mozilla protocol handler, cleanup docs in distrib/
5479: Configure: Force presence of camlp4
5478: Support gdlib-config --static-libs function (new on Debian Etch)
5476: Urladd: Change default period to 0 (load file only when core starts)

2006/10/21
5473: Log: Redirect CryptoPP messages to MLDonkey logfile (Schlumpf)
5472: Urladd: New optional parameter period (in hours) (thx to Schlumpf)
5471: HTML: New colums for pending slots list: SUI, GeoIP, Filename
5470: Options: New type percent_option, values are bound to be >= 0 and <= 100
5469: HTML: Implement 404 error page for unknown URLs

2006/10/20
5419: EDK: Re-implement titanesel.ws links - service is up again (thx to sk38)

2006/10/13
5458: OV/KAD: tweak and bugfix the search (bogeyman)

2006/10/12
5454: OV/KAD: Block blocked ips + small Overnet updates (bogeyman)
5451: HTML: clickable new messages indicator (jave)

2006/10/09
5428: HTML: Fix style sheet errors (rwruck)
5446: EDK: Small update for EDK publish patch 5430
- new option max_published_files
  maximum number of files published to servers per minute, eMule default 200
- bug fix for patch 5430, publish also to non-preferred servers

2006/10/08
5430: EDK: Improve file publishing
- publish no more than 200 files/minute to avoid server-side blacklisting,
  eMule uses the same limit,
  least published files are published first (thx to pango)
- respect server hard_limit, never publish more files to servers
- HTML: in server list display number of files published by server, by clicking
  on this number the list of files is displayed (new command server_shares num)
- HTML: diplay master server status, only master server are used for publishing
- HTML: in upstats display number of server the file was published to,
  also display server name + IP in javascript popup
- bug fix: properly update DonkeyGlobals.master_server to be used in 
  DonkeyClient.read_first_message, this is used when replying to non-Overnet
  clients so they know to which server MLdonkey is connected to,
- remove development option become_master_delay
5445: Self-test charset conversion, disable conversion if test fails
5444: BT: Correctly display client connected time,
      also allow correct upload speed calculation (tradie)
5443: BT: do not allow connections with ourselves (tradie)

2006/10/06
5442: BT: Verbose error messages when torrent is sent from GUI,
      BT-multiuser: Protect command seeded_torrents
5441: BT: Re-enable all trackers when file is resumed
5440: HTML: Strip CR from multiline dllink input to fix FileTP filenames

2006/10/03
5439: Increase required ocaml version to 3.09.3 (schlumpf),
      remove old TYPE_FORMAT stuff needed for Ocaml < 3.06 (pango)

2006/10/02
5297: In addition to previous patch 5297 force conversion of allowed_ips to
      IP blocklist when $MLDONKEY_DIR points to an existing directory
      and ini files are created for the first time
5429: Fix compile bug in Ocaml 3.08.3 (thx to eike for reporting)

2006/10/01
5404: New command porttest, support for eMule- and Azureus-style porttest
      (thx to pango for Azureus result parsing)
5421: HTML: Add "Users" to options frame (unease)
5429: New common lprintf_file_nl function
5432: Updates and fixes for the Win resource file (schlumpf)

2006/09/26
5407: BT: Improve handling of tracker error messages
- print additional information in telnet, vd #num already present in HTML
- show tracker errors in Telnet and HTML popups over tracker info lines
- pause torrents with no valid trackers left
5336: EDK: Fix lowid support (krissn)
5427: EDK: Increase hash speed when threads are available (pango)

2006/09/25
5426: CommonSources: Reduce CPU load when refilling queues
      of many non-BT downloads (pango)
5425: FileTP: Support options file_started_cmd and pause_new_downloads
5423: Print warning for empty admin password only if allowed_ips was altered
5422: Command "sources": Display only downloading files

2006/09/24
5405: BT: Use field "encoding" from .torrent to convert strings to UTF-8
5419: EDK: Remove titanesel.ws links
5418: Gnutella/G2/Fasttrack: Support client_bind_addr
5417: Edonkey comments: Telnet support, UTF-8 output in HTML
5416: Makefile.in: New variable $DEVFLAGSOPT for .cmx files (jave)
5415: New command option: rem disc - remove all disconnected servers

2006/09/23
5414: Edonkey comments, update gui prot, some bt peer ids (zet)
- Reimplement edonkey file comments with ratings (ro)
  (fixes exploitable DOS introduced in patch #5371)
- Add options "comments_filter", "max_comments_per_file", "max_comment_length"
- GUI protocol updated for comments, stats, libmagic, users/groups
- BT: Identify some more peer ids, as well as the reserved bits
- Fix some html code and other bugs
- Minor code cleanup

2006/09/22
5411: Portinfo: Rename gift_port to gift_port GUI

2006/09/19
5406: Multiuser: Small bug fixed in recover_temp (mu2.patch)
5406: Main multiuser patch, see docs/multiuser.txt for details
      thx to jave, pango, zet and many other people who have helped
      to make this work possible
- this patch is experimental, if it breaks, you can keep the pieces;-)
- multigroup_usercommit.patch and multigroup_su.patch are not included
- this patch is still not finished, the To-Do list in docs/multiuser.txt
  is still long, also GUI protocol updates have to be implemented.
  To manage users, groups and files, its best to use the HTML interface,
  multiuser commands can also be used in Telnet interface.
-------------------------------------------------------------------------------
2006/09/17 version 2.8.1 = tag release-2-8-1
5401: Fix question whether to compile Ocaml with some bash versions (pango)
5400: Allow use of Ocaml 3.09.3, keep 3.09.2 as default
5399: EDK, Telnet: Fix and clarify message when starting a search (schlotter)

2006/09/16
5397: EDK: Disable broken option emulate_sparsefiles
5395: Improve max_hard_up/download_rate computation code (pango)
5380: BT: Add file_num to certain log entries (jave)
5392: fix typos in help texts (schlotter)
5394: Fix max_hard_up/download_rate computation
- crashed on Windows when max_hard_upload_rate = 0
- when max_hard_upload_rate = 0 max_hard_download_rate was badly computed
-------------------------------------------------------------------------------
2006/09/14 version 2.8.0 = tag release-2-8-0
5390: Distinguish between charsets zh_cn and zh_tw
5389: Fix verify_chunks (pango)
5388: Small log update

2006/09/13
5386: Telnet: Longhelp cleanup
5385: Command mem_stats: verbosity 0 is default now
5360: patch removed, it does not fix the bug
5383: BT: Detect new client types (thx to pango)
- fix Mainline detection for two-digit version numbers
- fix Tornado detection
- fix broken Bits on wheels detection
- detect Rufus
- detect Bitspirit v3
5384: BT: Fix serious bug causing bad performance introduced
      by abstract bitmaps patch (pango)

2006/09/07
5369: Portinfo: fix String.length problems in Telnet (5369_2.patch)

2006/09/05
5294: HTML: Fix sources display for Gnutella/G2/Fasttrack/Filetp
      broken by patch #5294 (thx to z)
5368: Remove unused code from md5_c.c & os_stubs.h
5371: EDK: Support for eMule comments (read-only)
- new option html_mods_vd_comments to enable column in HTML, vd
- comments are shown in javascript popups and vd #num
5369: New command portinfo, display used ports during start-up

2006/09/04
5370: Correct option_versions defaults, remove commented EDK code

2006/09/03
5367: EDK: Use random default for ED2K_port instead of fixed 4662
- existing ini files are never changed
- after donkey.ini is created the value is not changed automatically
5366: HTML: Remove obsolete EDK history links
5365: Accept FTP URLs on command line
5364: Update options descriptions, remove obsolete options, clean log
5363: Limit max_hard_download_rate when max_hard_upload_rate < 10
- upload >= 10    -> unlimited download
- upload < 10 > 3 -> download limited to upload * 4
- upload < 4      -> download limited to upload * 3

2006/09/01
5361: Faster filenames_variability computation (pango)
5315: EDK: Change some internal server data to option values
5354: New option: max_filenames, maximum number of different filenames
5355: Move buffer_writes_delay timer from Donkey to Global module
5344: Small code optimization for stderr warnings (thx to pango)

2006/08/28
5341: New command: filenames_variability
- compute differences between the filenames of a file to detect fakes
  the higher the value, the more likely its a fake
5335: Fix small bugs in "!" command (execute shell commands)
5334: HTML: Display edk2 links in search results
5333: Clean logging (Swarmer, Fasttrack, Gnutella)
5332: New command option: rem blocked - remove all IP blocked servers
5330: Configure: Check MinGW version, at least 3.10 is needed (Schlumpf)
5329: some configure improvements and cleanups (Schlumpf)

2006/08/26
5320: some html_mods tables & css improvements (Schlumpf)
5322: Use CXXFLAGS present at configure when compiling (smimram)

2006/08/21
5319: Configure: New option --enable-minimum
- Compile MLDonkey with Donkey only, without gd, magic, bzip2, sui
5304: cleanup donkeyOptions.ml (whitespace, tabs, comments) (Schlumpf)
5303: cleanup btOptions.ml (whitespace, tabs, comments) (Schlumpf)
5302: cleanup commonOptions.ml (whitespace, tabs, comments) (Schlumpf)
5318: Fix wrong buildinfo configure args with autoconf 2.60
5317: Compile fix for GTK1 newgui in addition to patch 5310

2006/08/16
5309: Increase reserved number of FDs from 20 to 40 for dynamic libs
5310: EDK: Request filelist from friends only when requested,
      disable automatic download (pango)
5312: GTK2 GUI: Fix histograms (su_blanc)
5313: CryptoPP: Check for g++ capabilities

2006/08/15
5308: CryptoPP: Fix infinite loop when re-creating private key fails
5307: CryptoPP: Deactivate compiler option -momit-leaf-frame-pointer
5300: Fix iconv compile bug on Eisfair
5299: Support magicdb in $MLDONKEY_DIR/magic/magic if present
      this location is used in addition to the defaults of libmagic
5277: MinGW: use new gettimeofday() from mingw-runtime-3.10 (Schlumpf)

2006/08/12
5298: Some internal changes moved from multiuser patch to CVS
5285: GUI: Self-test en-/decoding only down to protocol 24 to solve
      crash when system date is wrong
5297: Force conversion of allowed_ips to IP blocklist when $MLDONKEY_DIR
      and ini files are created for the first time
5296: Telnet: Fix filesize display for 1kb, 1mb, 1gb values

2006/08/11
5295: Hard-coded minimum of 600s for min_reask_delay

2006/08/10
5294: Clean logging, small "if .. then true else false" function rewrites

2006/08/09
5288: EDK: Improve log when sharing is prevented due to inconsistent filesizes
5287: Swarmer: Remove obsolete option file_bitmap from files.ini
5286: Swarmer: (pango WIP10a)
      Fix commit of merged downloads + internal optimizations
5283: EDK: Fix IP display in GUIs for some firewalled clients

2006/08/08
5281: BT: Allow startbt to use URLs without extension ".tor" and ".torrent"

2006/08/06
5275: Change functions called when SIGHUP is sent
- BT: stop_all_bt is called to improve disconnect recognition
- instead of closing all sockets now all clients+servers are disconnected,
  GUIs will not be disconnected anymore
5276: web_infos, part II: Update server.met URL
- fix defaults and server list URL

2006/08/05
5276: web_infos: Update server.met URL
- http://www.jd2k.com/server.met does not exist anymore,
  now using http://www.gruk.org/server.met.gz again

2006/08/04
5272: Fix OS-detection bug in Unicode conversion when committing files
- should solve file naming problems on non-UTF8 systems

2006/07/29
5269: Fix maximum filename length recognition on Mac OS X

2006/07/28
5268: Swarmer: Fix Division_by_zero when starting downloads
      of files smaller than 200 bytes

2006/07/27
5266: EDK: New default 600s for upload_timeout, 60s was too short
5265: EDK: New option keep_sources, false to disable use of file_sources.ini
5264: allowed_ips: Support CIDR address/mask format and IP ranges (pango)
* old syntax is converted to CIDR format:
  - 192.168.000.255 -> 192.168.000.000/24
  - 192.168.255.255 -> 192.168.000.000/16
  - 192.255.255.255 -> 192.000.000.000/8
  - 255.255.255.255 -> 000.000.000.000/0
* new possible syntax, to calculate: http://www.subnet-calculator.com/cidr.php
  - CIDR, like 192.168.0.106/30 (192.168.0.104 - 192.168.0.107)
  - IP ranges, like 192.168.1.123 - 192.168.1.133

2006/07/24
5262: Small compile patch for Mac OS X 10.2.8 (Jaguar), small log fix
5260: Enable logging to syslog, update syslog.ml to version 1.3
* New option log_to_syslog, default false
  Post log messages to syslog. This setting is independent of log_file
  and its associated commands, therefore close_log does not stop log to syslog.
  Its therefore possible to log to syslog and log_file at the same time.
5261: MinGW: Fix compile bug with mingw-runtime-3.10
5259: Use Charset functions to determine extention of
      mlnet_strings file if $LANG is not set

2006/07/21
5257: HTML: Let allowed_ips allow connections from IPs part
      of IP blocklist for HTML interface only
5258: Add some files to src/utils/lib for later usage
* from pango
  ./src/utils/lib/levenshtein.ml
* from http://packages.qa.debian.org/s/syslog-ocaml.html
  ./src/utils/lib/syslog.ml
  ./src/utils/lib/syslog.mli

2006/07/20
5256: GTK1 GUIs: Compile fix for patch 5253
5253: Commit: Remove spaces at end of filename on FAT partitions,
      respect max_name_len value for all filesystems (pango)
5255: EDK: New client type VeryCD (compatibleclient 240)
5254: EDK: New default 60s for upload_timeout
5247: Update camlzip library to version 1.02 (Xavier Leroy)
- 64-bit incompatibility fixed
- Better support for large ZIP files (> 2 Gb)
5252: Update config.guess and config.sub to version 2006-07-02
5251: HTML: Re-implement motd_html by popular demand
* This patch brings motd_html back in addition to the current welcome message,
  default is empty.
5250: EDK: Print High/LowID in cleartext for command "id", fix LowID display
5249: Remove obsolete files from src/utils/[cdk;lib] and tools/
5246: HTTP: Print 401 error when login was unsuccessful

2006/07/17
5243: HTTP: Print 403 error for requests blocked by allowed_ips

2006/07/15
5203: Swarmer: Anti-fragmentation (pango, antifrag_v7)
* Each file is divided into blocks saved in new option
* file_disk_allocation_bitmap in swarmer section of files.ini
* Blocksize is computed like this: file_size / 200, rounded up to full
  megabytes, if bigger than 10MB: 10 MB are used as maximum blocksize.
  Preallocated blocks are marked file_disk_allocation_bitmap option.
* Blocks already fully preallocated on disk are prefered for downloading.
  That way one can get antifragmentation benefits without preallocating
  too much space, specially for downloads with small chunks.
* If the block about to be filled with data for the first time its read/written
  back to disk to allocate the space.
  Set verbosity to "verb" to enable logging of preallocation.
5242: GTK2 GUI: Remove unnecessary linefeed in console,
      remove some log and compiler warnings
5239: GTK2 GUI: Fix result sorting,
      update search results instead of double display (su_blanc)

2006/07/14
5222: Improve log output when HDD is full
5214: Gettext: Improve translations
* added ./distrib/i18n/mlnet_strings.de_DE.utf8 for testing purposes
  startup messages should appear in German now, more strings have
  yet to be translated, help welcome for all languages.
5238: Fix HDD space checks on CFS mounts
5235: Lock config_files_space.tmp and delete unused file on startup
5232: GUI: Fix decoding bug for Gnutella/G2/Fasttrack search results (zet)

2006/06/29
5213: Swarmer: Commit only primary downloads (pango)
5212: Fix DNS lookup of localhost (pango)
      SIGTERM & SIGINT support for GTK2 GUI

2006/06/27
5207: Remove some obsolete options: html_mods_vd_queues, ED2K-initial_score,
      ED2K-max_dialog_history, ED2K-immediate_master
5206: Remove Kiss DP500 support
5200: BT: Do not start downloads if no usable trackers are found in file.torrent
      MLDonkey only supports http:// style trackers, not udp:// or dht://
      Deactivated http:// trackers are better marked in HTML,vd #num
5202: Remove mlchat and outdated IM (instant messenger) code
      Remove outdated files from ./packages/windows
5204: Cleanup longhelp (anhi)
5205: Telnet: Fix another UTF8.length exception in search results

2006/06/22
5199: BT: Fix BT_client_uid changing between core start (orbit)
-------------------------------------------------------------------------------
2006/06/19: version 2.7.7 = tag release-2-7-7
5196: IP: Store IPs with two int values instead of four to save RAM (pango)
5195: BT: Log tracker error messages in UTF-8
5194: HTML: Print warning on opening page when enable_servers is set to false

2006/06/18
5191: HTML: remove sysinfo on opening page & option motd_html
5192: Fix deactivation of verbosity "gui"
5163: Configure: CVS SCM support for Mac OS X 10.3 (gstat)

2006/06/17
5158: HTML: Use table for printing buildinfo and runinfo data (schlumpf, pango)

2006/06/16
5187: New option: BT_import_new_torrents_interval,
      ignore Thumbs.db & desktop.ini in directory lists
5186: GUI: Send only non-empty real_startup_message string

2006/06/15
5156: HTML, improve Options output (schlumpf)
* new command html_mods_use_js_helptext (true|false)
  to change display of helptext between javascript popup`s and html table
* fix some padding and border bugs
* add "toggle js_helptext" button to 'vo' and 'voo' to directly toggle the style

2006/06/12
5061: New option small_files_slot_limit to push release of small files (pango)
      all files below the configured file size (default 10kb) are uploaded
      through one reserved slot
5144: Increase default max_upload_rate to 10 (schlumpf)
5177: HTML, Options: update display after changing options (schlumpf)
5176: Swarming: Change error message text and verbosity for BAD WRITE
      BAD WRITE is not really an error, MLDonkey just receives unwanted data
5175: GTK1 oldgui: Last compile fix for abstract verification bitmaps (pango)
5174: Abstract verification bitmaps:
      compile fixes for GTK1 GUIs, move generic code to CDK (pango)
5173: Swarmer: Small fix for merged downloads (WIP7b') (pango)

2006/06/11
5172: EDK: Log error which causes pausing a download
5171: New command group "Driver/Users",
      print help text for "Bad number of arguments" error message
5170: Fix default max_indirect_connections, minimum is 30
5169: HTML, Options: add description to option section buttons,
      remove 'save' button (schlumpf)
5168: Global module to abstract verification bitmaps (pango)
5167: Swarmer: Fix saving ini data for merged downloads (pango)
5166: Swarmer: New module to abstract verification bitmaps (pango)

2006/06/07
5164: CommonSwarming: Pangos WIP5e'
* When cutting a range, the reciprocal link of the range after the right part
  still references the left part
* When cutting a block in two parts can before empty, but then can also before
  complete (if they have no ranges left)
* Added bad_writes_is_back patch
* When find_range can only find ranges already being downloaded, it now first
  does a quick check to see if there's no other, probably more interesting,
  blocks remaining. If so, it forces a block change (report no more ranges left)
* While it's a good feature in itself, it's probably a workaround for a bug in
  select_block (?); It seems that blocks oversaturated with sources happen way
  too often (4 or 5 sources on a single range shouldn't happen).
* Compute the size of unselected ranges in each blocks, so that sources don't
  "rush" on blocks just left by a source.
* Some BAD WRITEs seems to happen because we forget ranges we requested
  (when switching blocks ?)
* Replaced call to clear_uploader_ranges by a call to clear_uploader_intervals
  in BitTorrent support Choke message handler.
5063: EDK: remove duplicate entries in shared_files_new.ini (pango)
5160: Remove stale avifile.ml, clean commonMultimedia logging
5159: Compute magic values only when needed
5157: add some line breaks to option help text for shorter lines (schlumpf)

2006/06/01
5153: New command: force_web_infos to manually download web_infos URLs
5152: Do not connect friends from disabled networks
5151: Options: New stringvalue functions needed for multiuser support
5150: Log: Fix log when server list is empty in check_blocked_servers

2006/05/31
5149: Log: Some additions for commonSwarming
5148: Mail: Fix for multiline SMTP responses (zet)
5143: HTML/Telnet: Country codes for servers
5147: G1/G2: Display proper filename (and therefore support rename) (zet)
5145: EDK: Fix md4 hashing when filesize is an exact multiple
      of edk chunk size, MLDonkey is now eMule-compatible (zet)

2006/05/30
5141: Swarmer: New option swarming_block_selection_algorithm (pango)
* Allow to choose swarmer block selection algorithm at runtime.
  - Algorithm 1 is the current default algorithm
  - Algorithm 2, from WIP3o patch, should try harder to complete partially
    downloaded chunks, specially with Bittorrent. It was previously
    reverted because of unknown performance problem (slower download ?)
5140: Update .cvsignore files (pango)
5138: Catch ip banned exception (zet)
5137: HTML: Fix display of file magic values with '
5136: FileTP: fixes and enhancements (zet)
* Add "FTP-chunk_size" option (0 = no chunks = download full file at once)
-- A chunk_size would be required if downloading from > 1 source
* Add FTP downloads to bandwidth controller (for stats & speed limiter)
* Support FTP sites that do not buffer input (MS FTP)
* Add support for user/pass (http://user:pass@site or ftp://user:pass@site).
  This also adds user/pass support to http_client.
* Error codes from HTTP (ie: 404) and some from FTP are supported (530 sometimes
  signals a retry, sometimes a login failure so a regex was used (lftp)).
  Downloads are paused when a hard error is received (and noted in the log).

2006/05/25
5131: New option gui_log_size: number of lines for GUI console messages
5129: HTML: Display client_bind_addr in options menu
5124: Log: Login messages can be disabled with verbosity "no-login"
5130: CommonSwarming: Pangos WIP4a'
thanks for testing goes to SchAmane, CruX, jave (forgot someone?)
That's a huge patch over CommonSwarming module (whose job is to select what data
to ask from connected sources, and the merging of received data),
I hope I'm not forgetting anything important :
* first, it's a mantainance patch; Lots of code have been reworked for
  readability and compactness (iterators...), functions grouped together,
  sometimes renamed to more descriptive names. Lots of comments have been added,
  including the description of invariants I've found, and a nice ASCII art
  schema of the swarming datastructures ;)
* naming has been made more consistant, to differenciate chunks (from each
  network view) from blocks (internal to swarming), and intervals (list of
  int64 * int64 beggining/end offset pairs)
* Support for bitmaps encoded as strings (AvailableCharBitmap) removed, since
  it's no longer used anywhere; use the more compact AvailableBitv instead
* Removed range_current_begin from ranges, it's enough for a range to have a
  beginning and a end ;)
* Rewrote compute_block_num to have precise preconditions, and algorithm proof
* Added some assertions to better enforce invariants
  (on verification bitmaps, for example)
* Allocation of ranges is now delayed until the very last moment, instead of
  when a chunk starts being downloaded. Main benefit (beside small memory gain)
  is that requests for different ranges sizes can be fulfilled at any time.
* Modified received function so that no BAD WRITE message can happen anymore:
  condition when data that does not start from the beginning of a range is
  correctly detected and data discarded
  (since ranges cannot handle that case anyway)
* Rewrote a much simpler version of present_intervals
* Rewrote block selection algorithm for readability and flexibility; select_block
  simply "folds" over all available blocks, using compare_choices function to
  keep the best available one(s). May need some more CPU (no fast exit)
* Fixed donkey uploaders calls when disconnected
* Reenable the copy of identical chunks between files. Opportunities for copies
  are checked every 5 minutes.
* Made file writing a bit smarter in Unix32 module so that writing zeroed chunks
  (as can happen a lot with chunks copying) on an otherwise sparse temp file
  does not allocate disk space. A bit hackish.

2006/05/23
5121: EDK: Remove obsolete option emule_compression
5122: improve block_list output and runinfo ip blocking (schlumpf)
5123: Fix Invalid_argument("UTF8.length") bug in HTML, down-/uploaders
-------------------------------------------------------------------------------
2006/05/21: version 2.7.6 = tag release-2-7-6
5119: HTML, Options: Include Wiki link in options names
5117: Telnet: replace "avail" by "last seen"/fix non-ASCII-filename column width

2006/05/20
5118: Log: Correct prefix for donkeyClient.ml
5116: HTML: Fix javascript popup in search results for Opera (dextarr)
5112: Fix lprintf_nl (search/replace ()'s) (zet)
5113: Fix config/wget.c (zet)
5111: Configure: Fix $SOURCE_DIR broken since patch #5095
5109: New option: pause_new_downloads
- Set to true all new downloads will be paused automatically.
- This option is automatically set to false on core start.
EDK: Disable ED2K_connect_only_preferred_server if not preferred server is
     found, this check is done once per minute

2006/05/19
5107: Configure: Check for MAGIC_ERROR in magic.h
5106: BT: only send stop once on exit and then wait for success (Amorphous)
5105: BT: Avoid starting torrent which has the same name
      as a currently downloading torrent

2006/05/18
5097: HTML: Improved DL multiline input button (jave)
5103: Fix compile bug in magiclib_stub.c on Solaris & NetBSD

2006/05/17
5101: G2: Gnutella2 fixes/log updates (zet)
- Gnutella2 (G2) is working again
- Re-enables search result networks
- Log logged-in users
5098: EDK: Update option description for initial_score

2006/05/15
5090: Http_client: Fix 302 redirect when Location starts with "."
      and filename changes
5095: Configure: improve libpng detection, optical improvements

2006/05/14
5094: Wget: New internal variable req_save <bool>
5093: CommonSwarming: Verbose error message if file size does not match
5092: HTML, rss: Add startbt link
5091: HTML: update EDK history links

2006/05/13
5089: IPBlock: Print seperate lists in block_list command for IPs
      blocked by local and web IP blocklists (pango)

2006/05/12
4976: Filetype recognition with libmagic
- new debug command: debug_dir, prints magic values for all files
- display file magic values in vd & upstats HTML popup & vd #num
NetBSD/Solaris users have to disable this function "--disable-magic"
until this bug is fixed:
http://savannah.nongnu.org/patch/?func=detailitem&item_id=4976#comment9
5088: Gnutella/FT/http_client fixes (zet)
- Gnutella (G1) is working again

2006/05/11
5087: HTML, upstats: new tooltip with complete filename,
      respect max_name_len for filename

2006/05/10
5083: HTML: Update EDK file history links (unease)

2006/05/09
5082: FileTP/Fasttrack/Soulseek: Fix splitting chunks off-by-one (pango)
5081: Change default ip_blocking_descriptions to false for faster startup
5080: Only print servers of enabled networks (pango)
5079: Ignore ._* in directory lists (pango)
5078: Telnet: Remove HTML code from sysinfo command
5077: FT: Fix fasttrack connection problem and adds a bootstrap nodes file url
      Removes old/broken imesh bootstrap node (zet)

2006/05/07
5076: Gd: Do not disable html_mods_vd_gfx if core is compiled without GD support
5075: DNS round robin, keep all IP addresses associated with DNS names,
      and return next one upon each request. (pango)

2006/05/06
5069: EDK: Fix broken unicode URIs parsing broken since 2.7.4 (pango)
5074: Change default Ocaml version to 3.09.2
5073: Update default IP blocklist URL, replaced
      http://www.bluetack.co.uk/config/antip2p.txt with
      http://www.bluetack.co.uk/config/level1.gz
5068: New global option user_agent, current option BT-user_agent overrides
      the global value in BT module (pango)
5064: BT: only try to connect to http trackers (pango)
5040: Overnet: Open TCP port only when network is active

2006/04/14
5036: BT: Correctly parse .torrent files with an empty directory (again)
5039: Fix dp500 compile
-------------------------------------------------------------------------------
2006/04/13: version 2.7.5 = tag release-2-7-5

2006/04/10
5035: Make Soulseek, Opennapster, DirectConnect compilable again
  This does not mean the network modules work again,
  they only compile again. More work is needed.
5032: CommonSwarming/WIP2: Some function rewrites and comments (pango)

2006/04/09
5031: Merge CommonSwarming and CommonSwarming2 code (pango)

2006/04/08
5029: EDK: Remove set_brothers command and brotherhood option
5030: Update config.guess and config.sub to version 2006-02-27
4778: CommonSwarming: In addition to the first and last chunk also load
      the second last chunk if available before the rest to improve preview
5028: New environment variable for file_completed_cmd:
      $DLFILES (number of downloading files)
5027: EDK: Deactivate DonkeySUI if /dev/urandom is missing

2006/04/06
5021: Fix compile bug in tryopen patch when bzip2 is disabled
5020: Allow compile with Ocaml 3.09.2 CVS code,
      3.09.1 will stay default for MLDonkey-compiled Ocaml
5016: Options save: Really fix bug addressed in patch #5015

2006/04/05
5015: Fix option file saving bug introduced in tryopen patch

2006/04/03
5011: EDK: Update server info received by UDP when
      update_server_list_server false (pango)
5009: Ignore files .DS_Store and ._filename.ext in dir listings on all platforms
5006: Small logfile change
5004: Automatically closes opened descriptors using "tryopen pattern" (pango)
5005: CommonBlocking: Do not block IPs when GeoIP database is not loaded

2006/04/02
5003: BT: Improve client recognition (zet)
5002: Overnet: Fix Out of Memory Exception (zet)

2006/03/31
4997: Swarming: correctly create a new range when one is splitted (pango)

2006/03/29
4931: CommonBlocking: Block/allow IPs by country codes (requires GeoIP) (pango)
- new options:
  - ip_blocking_countries, insert country codes here
  - ip_blocking_countries_block true|false
      false: use ip_blocking_countries as block list,
             all other countries are allowed
      true:  use ip_blocking_countries as allow list,
             all other countries are blocked
4995: HTML: Fix friends filelist display
4996: HTML: Add/remove for web_infos (vwi), update old contact.dat URL
- web_infos, rename command add_url to urladd, new command urlremove
- prints option help texts for web_infos and calendar command
- file_kinds are now printed as list with descriptions for easier setup

2006/03/19
4917: HDD space check
- New options:
  hdd_send_warning_interval
    Send a warning mail each <interval> hours for each directory,
    0 to deactivate mail warnings.

  hdd_temp_minfree
    Mininum free space in MB on temp_directory, minimum 50
  hdd_temp_stop_core, default false
    If true core shuts down when free space on temp dir is below
    hdd_temp_minfree, otherwise all downloads are queued and a
    warning email is sent.

  hdd_coredir_minfree
    Mininum free space in MB on core or log directory, minimum 20
  hdd_coredir_stop_core, default true
    If true core shuts down when free space on core dir is below
    hdd_coredir_minfree, otherwise all ini file saving is stopped
    until core shutdown and a warning email is sent.
    Logging is sent to RAM when log dir is full.

The hard-coded minimum values can not be circumvented, MLDonkey will always
perform these HDD space checks once a minute.

2006/03/18
4985: Log file clean-up for verbosity = "md4"

2006/03/17
4981: Dllink: Fix wrong referer in HEAD request
4980: Multiuser: internal admin_user variable
4979: Fix hashing large number of files

2006/03/15
4972: FileTP: Allow ftp:// downloads via dllink command
4971: BT: Allow read-only access for shared files
4967: CommonUserDb: Keep old user database updated for easy downgrades

2006/03/09
4962: BT: New command "startbt" to force the start of a torrent download (jave)

2006/03/08
4963: Re-apply $DEVFLAGS to Makefile.in (pango)
4961: EDK: New default URL for server list download
4960: Ignore .DS_Store on MacOSX, BT: ignore dirs in torrents/incoming (pango)

2006/03/06
4954: New function Unix32.owner to read user and group entry of a file 
- to debug use command debug_fileinfo <file>
- renamed debug command "disk" to "debug_disk"
- renamed debug command "rlimit" to "debug_rlimit"
4950: Close unneeded file descriptors

2006/03/05
4946: System-wide cookies and referers option
- MLDonkey will not move data from bittorrent.ini to downloads.ini
- This data will be used in web_infos, dllink and BT module.
4951: GUI: Update server country codes after loading GeoIP data
4949: Gzip/Bzip2: Close opened FD after opening an invalid archive file
4945: BT: Automatically start new torrents downloads
- new directory $MLDONKEY_DIR/torrents/incoming, all files present
  in this dir are started automatically, its scanned every 10 seconds.

2006/03/01
4939: Support for compressed ipfilter.dat files (.gz, .bz2 or .zip) (pango)
4930: giFT GUI: Authentication support (pango)
- login with giFTcurs now has to be done like this: giFTcurs -p user:password

2006/02/26
4938: Improve MLDonkey system user database
due to older problems with HTML interface:
- renamed command add_user to useradd
- renamed command remove_user to userdel
- user name is printed in browser title when bwstats is active
-------------------------------------------------------------------------------
2006/02/26: version 2.7.4 = tag release-2-7-4

2006/02/25
4928: BT: Fix invalid encoding in announce URL (darkfader)
- removed old, broken version and added new version

2006/02/23
4934: FileTP: Small improvements
- fix download restart bug when core is restarted, sources where not loaded
- save referer values to files.ini
- display amount of transfered data in downloaders list
- display source IP and Countrycode in HTML downloaders list
- display filesize in GUI
- display number of sources in GUI
4933: BT: Display number of sources in GUI

2006/02/21
4928: BT: Fix invalid encoding in announce URL (darkfader)
4929: Do not print password_empty warning if enable_user_config true
4926: Runinfo: Warn about not-working DNS resolution,
      /dev/urandom detection was not disabled if --disable-donkeysui is used

2006/02/20
4922: OpenBSD: Small change for patch 4920
4921: MinGW: show current DL & UL stats in console title (Schlumpf)
4909: Print warning messages when run on non-supported operating systems
      currently for example Windows 95/98/ME (Schlumpf)
4920: Cleanup included header files in C code (Schlumpf)

2006/02/17
4910: EDK: Use updated protocol information when parsing
      consecutive messages (sam_dennis)
4915: Log: Small cleanups
4918: some syntax and comment cleanups in stubs_c.c (Schlumpf)

2006/02/13
4906: MinGW: improve uname output (Schlumpf)
4908: Configure: Fix for Beos, allow use of Dragonfly BSD

2006/02/11
4883: Mac OS X: Fix for broken Apple cpp-3.3
4902: EDK: Stub respond to directory browsing requests (sam_dennis)
4905: Update for patch 4823: add another -fno-fomit-frame-pointer
      in config/Makefile.in to avoid breaking CryptoPP (mikeX)
4903: EDK: Remove obsolete donkeyNeighbours (thx to sam_dennis)
4907: EDK: Fixed copy/paste error in emule miscoptions1 reading (sam_dennis)

2006/02/10
4904: Configure: Raise required autoconf version to 2.55 due to AC_MSG_FAILURE

2006/02/09
4892: Fix make when CXXFLAGS is defined (mikex)
4894: EDK: Support "new ed2k meta tags" to allow browsing
      shared directories of newer eMule clients (sam_dennis)
4891: Configure: Override system-installed Ocaml and force local compile
  Use ./configure --enable-force-ocaml to force MLDonkey to compile Ocaml,
  regardless if the system has Ocaml already installed or not.
  --enable-ocamlver=CVS uses a CVS checkout of Ocaml HEAD.
4885: EDK: Show correct IP of indirect clients in uploader list

2006/02/06
4879: EDK: Support for sources in ed2k:// links
- example:
ed2k://|file|a.txt|1|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|/|sources,1.0.0.0:4662|/
4849: EDK: Fix hashing of newly shared files
- avoid hashing shared files twice
- avoid problems while hashing big files
- remove obsolete compute_md4_delay option
4878: Addition to patch 4875 (conditional bzip2 support using cpp)

2006/02/05
4877: BT: Recognize Ktorrent clients (CruX, zet)
4876: EDK: Remove obsolete option random_order_download
4875: conditional bzip2 support using cpp (pango)
4870: runinfo: add connected_user and check empty PW (schlumpf)
4872: Fix gd detection on NetBSD, use data from gdlib-config
      MinGW compile-guide was updated, gdlib-config has to be changed
4871: Optimize some Printf.sprintf "%s" code
4869: Remove obsolete redirector code
      http://mldonkey.sourceforge.net/Redirector
4856: reverse patch: configure: disable iconv by default on MinGW
      it is not necessary anymore

2006/02/04
4867: Use setrlimit to raise allowed ulimit open files

2006/02/03
4863: GUI/Multiuser: Prevent kill by users other than admin
4862: EDK: Fix broken import of eMule temp Files (import_temp) (schlumpf)
4860: Multiuser: print warning if admin password is empty
- user admin is re-created if deleted, it has to be present in any case because
  some commands are only available for admin,  like users, remove_user and kill
- create structure for startup messages, displayed on GUI, HTML, Telnet
4859: Multiuser: Only user "admin" is allowed to change options
      if the new option enable_user_config (default true) is set to false
4858: HTML: Update some links to mldonkey.sf.net
4857: SIGUSR1 & SIGUSR2 do not exist on Windows
4856: configure: disable iconv by default on MinGW
4853: Fix HTML errors on rss command output (unease)

2006/02/02
4851: Support system signals SIGUSR1 & SIGUSR2
      SIGUSR1 saves options
      SIGUSR2 performs garbage collection
4850: Fixed bitprint hashing for files > 4GB (thx to zet)
      mld_hash: implement SIGINT and SIGTERM signals

2006/01/29
4844: Fix Solaris compile broken since DonkeySUI patch
4830: Update Wiki links
      New Wiki URL: http://mldonkey.sourceforge.net
      New Forum URL: http://mldonkey.sourceforge.net/forums
4843: HTML: Improve output of rss command
4842: Some logfile stuff
4841: Create new dir web_infos for web_infos files,
      BT: do not save .torrent or announce.*
      all files downloaded by web_infos go to $MLDONKEY_DIR/web_infos
      to avoid downloading files twice move files from $MLDONKEY_DIR
      into that new dir
4826: improve error message due to corrupt config files (schlumpf)
4821: improve display of sysinfo (schlumpf)

2006/01/26
4816: Update Ocaml-RSS and Xml-light to current versions
4827: longhelp cleanup (anhi)
4823: EDK: CryptoPP optional, disable with --disable-donkeysui
      Makefile: link CryptoPP stuff only in binaries which need it
      Buildinfo: show compiler versions
      Configure: display compiler versions (schlumpf)
      Configure: if iconv checking fails continue with disabled iconv
      Configure: do not use bzip2 if bzip.h is not found (FLI4L buildroot)

2006/01/25
4820: Move CommonGraphics to DriverGraphics, check libgd version
      Configure: Check if libgd > 2.0.14 is installed
      NetBSD: added paths for libgd package
      NetBSD: adjusted stat command to properly read SCM date
      move build-, run-, and diskinfo command to driver module
      (thanks to SchAmane)
-------------------------------------------------------------------------------
2006/01/19: version 2.7.3 = tag release-2-7-3
4791: web_infos: New type geoip.dat, save files to local disk,
      re-download only if file on server is newer
- now all files except type "rss" in web_infos are saved to local disk
  if not present or server version is newer
- MLDonkey uses HTML header last-modified to check if a file has been updated
- downloaded file timestamp is changed to last-modified time
- show number of IP blocking ranges in runinfo
- new web_infos kind: geoip.dat
- automatically add geoip.dat to web_infos
- support for *.gz|bz2|zip compressed GeoIP.dat files
4811: EDK: Print warning when starting a file too big for filesystem,
      clean Ux32 logging
4810: Update search results with highest avail/completesources tags (zet)

2006/01/16
4803: BT: force uniqueness of added trackers by "trackers" command (pango)
4801: EDK: add more server info fields (html and guiprot) (zet)
4798: Fix thread recognition on *BSD

2006/01/15
4797: EDK: Always put server connect requests in connection queue,
      whether max_opened_connections is reached or not
      Connection will be established later when a socket is available

2006/01/14
4796: Windows: Log proper warning when MaxUserPort is reached (thx to Enig)
4795: Mailer: Fix Subject encoding (bogeyman)
4716: BT: new command "tracker" to add trackers (bogeyman)

2006/01/12
4792: GeoIP: Add license (distrib/GeoIP_LICENSE.txt, runinfo)
      This product includes GeoLite data created by MaxMind,
      available from http://maxmind.com/
4776: EDK: Avoid LowID if max_indirect_connections is reached (thx to zet)
4787: EDK: Show server version (ported from Mulus - thx to Knocker),
      disconnect blocked server after loading IP blocklist

2006/01/11
4790: Some logging stuff
4781: Disconnect connected server before removing
4782: Configure: Replace AC_CHECK_FILE with "test -d" to allow cross-compile

2006/01/09
4770: Change file opening mechanism, open rw only when needed (pango)
      new verbosity option "file" to control Unix32 file handling
4777: Display IP:port for LowID clients, GUI protocol update (zet)

2006/01/07
4769: HTML: Fix some Geoip display bugs

2006/01/06
4768: Dynamic loop delay (pango)
4765: Add GeoIP.dat support (zet)
      GeoIP is a GPL database that maps IPs to countries.
      http://www.maxmind.com/download/geoip/database/
      This patch adds support for a "geoip_dat" option.
      It is a simple ocaml translation of just the geoip country lookup code.
      If active, the file is left open and consulted on demand.
      It didn't seem to slow anything down on my slow system.
      Sends the country # to the gui, use latest Sancho version to use it.
      Web: displays country codes in a column (name in tooltip).
      Maybe someone wants to add flag images (please make them optional).
-------------------------------------------------------------------------------
2006/01/05: version 2.7.2 = tag release-2-7-2
4764: Patch for MLDonkey-compiled Ocaml-3.09.1 to fix GTK1 oldgui compile
4763: Compile patch for GTK1 oldgui with Ocaml 3.09.1
Ocaml 3.09.1 has a bug which prevents compiling GTK1 oldgui.
A patch can be found here: http://caml.inria.fr/mantis/view.php?id=3948

2006/01/04
4761: Insert glibc version in archives build by release targets
4760: Allow use of Ocaml 3.09.1
      MLDonkey can now be compiled with Ocaml 3.08.3/4, 3.09.0/1
      Default for MLDonkey-compiled Ocaml is now 3.09.1
4759: Configure: Improve gcc check
4757: Compile patches for MorphOS (Christian Rosentreter)
4748: HTML: Allow rename of files with '#', '&' and '%',
      remove invalid chars from filenames depending on OS (thx to pango)
4756: HTML: Print build- and runinfo on main page,
      fix reload bug when changing html_mods/html_themes (Knocker)

2006/01/03
4751: Ease use of messages_filter option (pango)
4753: Allow upper case MD4 for ed2k-links in mldonkey_submit (fcrozat)
4754: New parameter --auth for mldonkey_command (plf team)

2006/01/02
4749: GUI: send shared sub_files to gui (zet)

2006/01/01
4712: Change terminal color for command line from blue to cyan (romildo)
4742: Log: remove verbosity "tor" & "file", improve verbosity "verb"
4743: EDK: Print "File is already shared" when trying to start downloading
      an already shared file
4744: Split client_timeout into ED2K-client_timeout and BT-client_timeout,
      increase BT-client_timeout to 90 (tradie)
4745: Update config.guess and config.sub to version 2005-12-23

2005/12/28
4725: Check if ulimit is sufficient for MLDonkey,
      auto-adjust max_opened_connections
* moved ED2K-max_indirect_connections to downloads.ini
* max_indirect_connections is now a %-value of max_opened_connections
* minimum ulimit for open files is now 150 (most systems have 1024),
  MLDonkey will refuse to start if ulimit is lower
* minimum max_opened_connections is now 75
* reduced max_concurrent_downloads from 60 to 50
* minimum ulimit -n 150 is used like this:
  - 75 max_opened_connections
  - 50 downloading files
  - 5 upload slots
  - 20 fd as reserve for ini files
4704: Fix some C compile warnings (schlumpf)
4739: Fix some cross-compiling obstacles, remove Ocaml 3.08.2 compatability
* Cross-compiling is only possible with a correct Ocaml toolchain
* MLDonkey can not build this Ocaml toolchain
* This patch only fixes some autoconf checks
4735: MinGW: pause before core exit because of existing Pid file
4736: New commands: sysinfo, runinfo and diskinfo
* removed temp_directory and core_directory from shares command output
* new commands sysinfo, runinfo and diskinfo
* buildinfo now prints only buildinfo
* runinfo prints run-time information
* new command diskinfo prints filesystem data about temp_directory,
  core_directory and all shared dirs
* sysinfo prints buildinfo, runinfo and diskinfo alltogether
4712: Change terminal color for downloading files from blue to cyan (romildo)

2005/12/24
4732: Log: More infos for verbosity = " verb"

2005/12/21
4728: fix date format (zet)
4730: BT: parse path.utf-8 (zet)

2005/12/19
4726: New option space_overhead to adjust garbage collection (bogeyman)
4724: Windows: 10 seconds pause when core start fails
      to make error messages readable

2005/12/18
4723: New build target: make ocamldoc (pango)
4721: Log: Improve output for verbosity "verb", remove verbosity "hid"

2005/12/17
4719: Fix linking of dp500 (pango)
4715: OV: Improve searching, longer ov timeout, some more bugfixes (bogeyman)
4718: Fix bug which prevented proper write to files introduced in patch #4694
4717: EDK: Removed unused variable file_md4s_to_register (bogeyman)

2005/12/16
4703: BT: Deactivate dead trackers,
      re-enable them if no active trackers are found (pango)
4708: HTML upstats: Enable preview for shared files
4652: dllink: reject EDK files > 4GB, print access errors for .torrent files

2005/12/15
      Removed orphaned files:
      src/networks/donkey/donkeyFiles.mli
      src/networks/donkey/donkeyInteractive.mli
      src/networks/donkey/donkeyMain.mli
4710: Re-add some protocol information as comments removed by patch 4694
4709: Fix zip file extract broken due to patch 4694 (Ocaml 3.09)
4707: Fix recover_temp broken by patch 4674 (force_download)

2005/12/14
4706: EDK: Remove donkeyChunks, use commonSwarming for op_file_check
4702: Correct timezone in e-mail, nicer uptime, timezone and uptime in runinfo
4694: Fix lots of compile warnings in Ocaml 3.09
4705: Update config.guess and config.sub to version 2005-11-11
      Mozilla MLdonkey Protocol Handler updated to version 1.7

2005/12/13
      Removed orphaned files:
      src/networks/fasttrack/fasttrack.ml
      src/networks/gnutella/gnutella1.ml
      src/networks/gnutella/gnutella.ml
      src/networks/gnutella/gnutellaScheduler.ml
      src/networks/gnutella/gnutellaZlib.ml
      src/networks/gnutella2/g2Scheduler.mlt
      src/networks/gnutella2/gnutella2.ml
4700: Log: New verbosity option "gui" to debug GUI protocol
4696: Fix some C compiler warnings

2005/12/10
4687: Compile fix for Ocaml 3.09.0 (gildor), MLDonkey can now be compiled
      with Ocaml 3.08.[2,3,4] and Ocaml 3.09.x (4687_min2.patch)
4693: Compile patch in sha1.c for FreeBSD (lioux)
4689: Catch exception in file_completed_cmd to let commit complete
4691: file_completed_cmd: $DURATION in seconds (debonair)
-------------------------------------------------------------------------------
2005/12/06: version 2.7.1 = tag release-2-7-1
4679: FileTP: Fix HTTP downloading for URLs with space chars, log cleaning
4674: EDK: Re-enable checking old_files before starting a download
      and force_download command
4676: BT: decode_version fix and html sort fix (bogeyman)

2005/12/05
4673: IPBlock: display original length and optimized length in block_list,
      log file clean up

2005/12/04
4672: FileTP: Fix major bug in HTTP downloading, introduced in 2.6.0

2005/12/03
4671: Compile fix in CryptoPP.h for gcc-2.96 (trdw)
4670: Increase max_buffer_size limit for high-volume connections

2005/12/02
4649: Updates for file_completed_cmd (pango, spiralvoice)
* some log cleaning
* added information to notification email if auto_commit is disabled,
  email is sent by file_completed, not file_commit
* moved execution of !!file_completed_cmd from file_completed
  to file_commit, kept option name for easier upgrading
  this was done because the filename of a downloading file can be
  different than the filename of the committed file if a file
  with the same name as the to be committed file is already in
  incoming. older method did not take this into account at all..
* added environment variables for file_completed_cmd, see description:

    A command that is called when a file is committed, does not work on MinGW.
    Arguments are (kept for compatability):
    $1 - temp file name, without path
    $2 - file size
    $3 - filename of the committed file
    Also these environment variables can be used (prefered way):
    $TEMPNAME - temp file name, including path
    $FILEID - same as $1
    $FILESIZE - same as $2
    $FILENAME - same as $3
    $FILEHASH - internal hash
    $DURATION - download duration
    $INCOMING - directory used for commit
    $NETWORK - network used for downloading
    $ED2K_HASH - ed2k hash if MD4 is known

4667: Update Ocaml download URL
4666: Always create incoming directories before commit
4663: CryptoPP: Latest fixes ported from aMule CVS

2005/12/01
4657: Fix for C files for AMD64, mipsel platforms
      improve endianness checking in tiger.c, md5_c.c and CryptoPP.h,
      print endianness in buildinfo, removed sha1_old code
4661: Log: newline before exception message when MLDonkey can not use a port
      BT: exit if client_port = tracker_port

2005/11/28
4654: Fix guiprot when addr not resolvable (zet)
4655: Set conn_user on gui (zet)
4656: BT: update last seen complete field and fix bitfield reading (zet)

2005/11/27
4653: GTK2 GUI: add isohunt statistics (su_blanc)

2005/11/22
4364: Let mlnet build under the cygwin unix emulation layer (Amorphous)
4648: GTK2 GUI: improve display of razorback stats (su_blanc)
      added the display of filedonkey.com data
4646: BT: little change to recognise Clients (bogeyman)
4645: Fix donkey total uptime stats order (bogeyman)

2005/11/21
4406: Unicode: Fix filenames in shared_files_new.ini and file rename
      in HTML interface (mld_unicode_patch6.patch) (CML)
4440: New option shutdown_timeout, 3 sec, was hardcoded before (Amorphous)
4644: Update GNU config.guess and config.sub to current versions
4643: HTML: Fix gdstats output when html_use_gzip true
4640: Calendar: view calendar command: vcal
4641: Fix exception in load_web_infos
4642: HTML: Improve preview via webbrowser (pango)

2005/11/19

4563: replace all Printf.printf occurences by Printf2.lprintf (su_blanc)
4479: Callback mechanism for low ID users does not work (miriup)
      Reactivating submission of server IP and port during client
      handshake in edonkey
  "However, sometimes, especially when I have no files to download I do
   not receive callbacks at all. It is suggested to apply this patch in
   a testing mldonkey for a week on a non-low id connection before including
   it in a stable release, ... I can't test high-ID at all."
4574: Friends upload slot (pango)
-------------------------------------------------------------------------------
2005/11/19: version 2.7.0 = tag release-2-7-0
4631: Validate ED2K-client_private_key

2005/11/16
4630: GTK2 GUI - some bug fixes (su_blanc)
* display Razorback graphical stats for currently selected file

2005/11/14
4625: GTK2 GUI - bug fix (su_blanc)
* bug #14865 : availability display "dotty"
  added alpha channel to availability pixbuf.
* bug #14963 : autosize slightly broken
  the tick mark for 'autosize all columns' appears only if all columns are set
  to 'autosize' mode. 'autosize all columns' triggers an 'autosize' mode for
  all columns if at least one has not this mode set. Otherwise all the columns
  are set to 'fixed' mode.
* bug : razorback stats
  display stats on user request.

2005/11/13
4583: Change stats.razorback2.com usage to on-demand (su_blanc)
      to avoid overloading the server (disable_razorback_stats.diff)
4619: Remove duplicate Gc.compact () from EDK mem_stats (pango)

2005/11/12
4617: GUI: send bt subfiles over gui prot (zet)
4587: Buildinfo: Split build-time and run-time information (schlumpf)
4350: Code cleanup : web interface chunks display (pango)
      (web_chunks_using_tables_v2.patch)
4616: Change allow_browse_share, so only friends can see file lists (pango)
4615: Add -g to CFLAGS when --enable-profile (pango)
4605: replace string/bool bit arrays with bit vectors (zet)
4607: remove html output from telnet 'vc all' (zet)
4613: Optimizing Set.cardinal to reduce CPU usage (pango)
4614: Gtk2 mlgui improvements (su_blanc)
* fix bug : close all current searches when one quits mlgui
    otherwise the core continues to search
      to test:
        * open mlgui
        * make a search request
        * close the gui
        * in HTML interface, check "View searches" tab.
* lower CPU usage by delaying heavy computations (use Glib.Idle)
* rework the search tab, just make it more simple,
  limit results to max hits, added min availability criterium
* added Autosize columns. Should fix bug #14868
* change pixmap for availability bars in pixbuf. should fix bug #14865

2005/11/09
4558: further Overnet patches, query_next_peers3.patch (bogeyman)

2005/11/07
4586: cleanup brand stats code (bt/edonkey) (zet)
      updated to coalesce bt software parsing and add some more ids

2005/11/05
4589: CryptoPP doesn't like -fomit-frame-pointer, so remove it (przemoc)
4597: OV/KAD: fix a search reset bug (bogeyman)
4585: Change ED2K_max_sources_per_file from 20000 to 5000
4579: Slackware package (tgz) - basic mlnet support (ratmmmam)

2005/10/31
4583: GTK2 mlgui improvement (su_blanc)
Lablgtk-2.6.0 is needed for GTK2 mlgui, it fixes a mem leak with GdkPixbuf.
added:
* razorback stats: click on a file in the downloads tab to display the stats
  (at startup wait for few seconds, the time to download the png files...).
* proxy options for mlgui
* a graph tab: global downloads, global uploads and a view per file
  (downloads and uploads).
modified:
* fix Tray icon as per task #4694
* reduce mem use
* configuration files locations: mlgui and mlim do not need CommonOptions.
  Should not change anything for the users as we check the $HOME variable.

4558: Overnet: several patches (includes and fixes patch #4551) (bogeyman)
* better detection of dead peers
* so we can ping less often
* and can be sure these peers are alive
* use ip:port from received pakets instead from the peer info
* use a weak Hashtbl for known_peers and remove search_known_peers
* we are removing all dead peers, in buckets and prebuckets,
  (do not wonder, if you get less peers left ;o)
* do not send useless "Connect" pakets, Fillbucket really works
* every 30m file searchs were created twice.
There are really less peers than without this patch, maybe i'll have to tweak
how we fill buckets. But for now this works and produce less traffic.

4581: Fix upload rate for high volume connections (> 1.5Mbit/sec) (pango)
4584: HEAP: use GC.quick_stats for mem_stats level=0 (bogeyman)

2005/10/30
4580: Update .cvsignore files (pango)
4564: HTML: fix vd p/d/queued output (zet)
4576: BT: remove sources when file is cancelled,
      mem_stats: Garbage collector info (zet)
-------------------------------------------------------------------------------
2005/10/28: version 2.6.7 = tag release-2-6-7
4562: removed patch, breaks GUI connect after SIGTERM

2005/10/27
4551: remove patch, breaks Overnet
4562: BasicSocket.ml fix, fix select when fd_tasks is empty
      close all fd on exit (su_blanc)
4561: Options.ml4 proper old directory (su_blanc)
4560: mingw : proper detection of gToolbox.mli (su_blanc)
4559: mingw compilation of Crypto.cpp (su_blanc)
4553: HP-UX: If /dev/urandom is not present print info where to get it
4554: HP-UX: Compile fix for statvfs (disk usage statistics) (Inkus)
4555: EDK: Send emule_version on server login to prevent
      "Your client is too old" message (Knocker)
4556: Fix linking mlnet to X and GTK libs when using --enable-gui (su_blanc)
-------------------------------------------------------------------------------
2005/10/25: version 2.6.6 = tag release-2-6-6
4551: OV/KAD: use kind like eMule does +misc bugfixes (bogeyman)
      "do not wonder, if you get less peers left ;o)", also reduces traffic
4550: Create bitprint for large files (zet)
4549: html_mods: relevant_queues option (zet)
      This patch creates a relevant_queues option which specifies a list of
      queue #'s that should be displayed in the vd # sources table.
      See sources command for the list of queues.
      By default all queues except the DoNotTry queue(7) are displayed.
4548: IPBlock: really don't load descriptions on core restart,
      if set to false (bogeyman)

2005/10/24
4547: Fix dupe sending of motd/nets in gui_initialize (zet)

2005/10/23
4545: make TAGS, creates files for source code navigation in Emacs (pango)
4544: Change internal code for statfs function (pango)
4543: Lower CPU usage, optimize CommonSources.count_file_ready_sources (pango)
4542: Remove Donkey-Fakes support, service is down
4541: New option BT_max_tracker_redirect
      connect to bittorent trackers with http redirect (jhon)

2005/10/19
4535: OV/KAD: Yet another improved logging (bogeyman)
4533: Yet another compile patch for mld_hash,
      remove svg_converter with make clean
4534: Compile fix for make_torrent

2005/10/18
4531: Compile fix for GTK1 oldgui
4530: Compile fix for mldonkeytop (pango)
4525: Always use svg_converter.byte (gildor)
4524: Fix building mld_hash (gildor)
4523: Fix building of svg_converter.byte (gildor)

2005/10/17
4520: Check for /dev/urandom, /dev/null and $TEMP
4521: CryptoPP: Compile patch for gcc-2.96 (sworn)

2005/10/16
4519: Int64ops cleanup (pango)
-------------------------------------------------------------------------------
2005/10/11: version 2.6.5 = tag release-2-6-5
4508: Configure: Print some important build targets
4507: EDK: Print server banners into logfile (pango)
4500: BT: Fix multifile download with zero-byte files (thanks to jave)
4506: replace obsolete longarry and fifo2 code (bogeyman)

2005/10/10
4504: Clean http_server.ml logging
4502: Remove obsolete Weak2 sourcecode (bogeyman)
4503: OV: fill buckets only with peers we send to and heard of (bogeyman)
4499: Check for stalled pid file and remove it if MLDonkey is not running
      (does not work on MinGW due to missing Unix.kill) (pango, spiralvoice)
4501: HTML: Fix chunk wrapping on IE (zet)

2005/10/09
4477: prevented some compiler warnings (Schlumpf)
4496: Nicer summary of configure command

2005/10/06
4337: improved upload scheduler (pango)
4494: fix infinite loop when create_dir_mask on fat32 (zet)
4495: BT: include Wiki link to report unknown clients (bogeyman)
4493: BT: Correctly parse .torrent files with an empty directory (zet)
4487: BT/HTML: Display files inside a multifile torrent (bogeyman, jave)
4458: EDK: add enable_sui toggle option (enabled by default) (zet)
4491: Compilation fix for NetBSD>=2.99 (Thomas Klausner)
4490: memstats for a weakhash and a new OV command dump_bucket (bogeyman)
4473: New command: whoami
4457: BeOS: Compile patch for CryptoPP (Michael Lotz)
4460: Added search for .torrents via IsoHunt (WingMaster)
4456: Fix shrink effect in vd for Opera (Luar Roji)

4452: Clean configure.in, check for c++ compiler
* zlib is not optional anymore
* remove old code (Cryptokit, Broosnet etc.)
* distinguish between Cygwin and MinGW
* print start warning message only for Cygwin
* remove whitespaces

4450: Remove swarmer data when cancelling download (kempston, zet)

2005/09/21
4454: commonSources: add sources from resumed files
      (outside_queue sources) back to the queues (zet)
4453: Telnet: Print reject message for connecting client
      if it is not allowed to connect,
      prepend "dllink" for all commands starting with "http://"
4455: Improve make distclean
4449: New parameter for pid file: -pid <dir>, small improvements for pid files
4451: Correct the help of allowed_ips (gildor)

2005/09/19
4439: Fix for "make mlnet.byte" (zet)
4438: Fix secure-ident related compile bugs in Opennap & Soulseek
4437: BT: show up/down stats for Brand unknown (bogeyman)
4436: EDK: Solve memleak in donkeyChunks (file_md4s_to_register) (bogeyman)
4434: Added button to eMugle in Search (wingmaster)
4432: Add more info to mem_stats (zet)

2005/09/18
4431: Newgui: Compile fix
4419: EDK: Support secure user identification (crypto5, by zet)

2005/09/17
4424: OV: discard peers with ip 1.0.0.0 and random port
4425: EDK: Support server extended getsources2 opcode (zet)
4429: Better error message if MLDonkey lacks network support
      for a file in files.ini
4427: BT: 10 retries / follow 10 redirections in 
      dllink http://server/file.torrent
4423: OV/KAD: Save only active peers to config files/ save max 200 peers
      (bogeyman)

2005/09/14
4420: Remove obsoleted commonSwarming1 code
4418: Re-activate sources_per_chunk option (pango)
4417: BT: Improve BT upload speed (pango)
4374: fix "max_hard_download_rate has to be doubled" (pango)
      This patch changes internal code, no option has to be changed

2005/09/13
4406: Improved Unicode filename support (CML)
4412: OV: Handle OvernetPeerNotFound correctly (bogeyman)
4411: OV/KAD: Some peers are not added to known_peers (bogeyman)
4410: Shorter filesystem name for XFS
4409: Compile fix if Bzip2 is not available
4408: OpenBSD: configure.in fix to find libbz2 and others in /usr/local

2005/09/08
4397: Buildinfo: Run-time check for Windows OS version / Unix uname (zet)
4403: html_mods: mem_stats in a single readable table (zet)
4402: BT: BT-user_agent option (zet)

2005/09/06
4268: Web/Gui: free core's buffer allocated by vd # and gui (bogeyman)
4393: Lower ip blocking memory usage (pango)
      new option ip_blocking_descriptions true|false
4401: BT: Send 'stopped' event to all trackers when exiting (zet)
-------------------------------------------------------------------------------
2005/09/04: version 2.6.4 = tag release-2-6-4
4392: Print "Core started" on stdout even if logging is enabled
      Fixes problems when MLDonkey is spawned by a GUI

2005/09/03
4247: memstats: BT/FT/GNUT/G2: initial memstats, ALL: show nr of old_files,
      BT: nr of torrent files
4390: Mail: Print incoming path if !!url_in_mail is used
4389: BT: Fix core exit if dirs of a shared multifile torrent are not writable
4368: new option: create_file_sparse true|false, this works only for
      files on NTFS drives in MinGW compiled MLDonkey (thanks to zet)

2005/09/01
4385: EDK: Preserve untested servers (pango)
4351: optimize ip blocking lists (pango)
4376: EDK: Re-enable result_done (already downloaded) in search results (zet)
4126: Improved log_file handling

* there is now a default log_file: mlnet.log, old downloads.ini is *not* updated
* its default log_file_size is 2MB, this is checked only on core start,
  if log_file is bigger it will be resetted
* logging will always be appended to log_file
* new command "clear_log" to reset log_file while the core is working
* new command "open_log" to reopen log after close_log
* removed command "log_file", same can be achieved through "set log_file <file>"

4384: HTML: Add "Import Serverlist" in servers,clean third button row (schlumpf)
4365: Disable console "X" close button on MinGW, second version (CML)
4382: Solve libgd configure in mandrake 10.0
4381: better differentiation of eDonkey and BT Stats Table (schlumpf)
4380: some info for SCM Version (CVS co Date/ SVN revision) (schlumpf)
4379: Fix compile error when libgd is not present
4378: Longhelp: Better description for add_user
4377: Better description for shared_directories in downloads.ini
4356: EDK: Improved server.met handling / fix contact.dat loading

* Changed user agent from "MLdonkey" to "MLDonkey", solves problem
  when downloading files from www.gruk.org and www.srv1000.com
* MLDonkey new recognizes links like ed2k://|serverlist|http://server/file.ext|/
* "servers" command now takes URLs
* if period in web_infos is zero the file is only loaded during core start
  (as requested by the owner of www.gruk.org)
* in all places where a filename or URL for a server.met can be used this
  file can also be compressed with gz/bz2/zip
* automatically replace old default server.met in web_infos
("server.met", 24, 
"http://ocbmaurice.dyndns.org/pl/slist.pl/server.met?download/server-best.met");
  with fake servers free list from gruk.org:
        ("server.met", 0, "http://www.gruk.org/server.met.gz");
* fixed bug which prevented loading Overnet contact.dat file in web_infos

2005/08/29
4368: Use sparse files on MinGW/NTFS (zet)
4370: BT/Win32: fix multifile hashing (Amorphous)

2005/08/28
4366: HTML: more maintainable html_mods styles (pango)
4367: Improve logging
4361: New command: uptime

Lots of improvements for MinGW, this platform now supports
files > 2GB, threads and libgd generated statistics.
Here you will find compilation instructions:
http://mldonkey.sourceforge.net/Windows

4342: Large_file support for mld_hash and MinGW MLDonkey core (zet)
4358: Add thread support for MinGW (zet)
4362: configure.in support for libgd on MinGW/FreeBSD
4349: increase filedescriptor limit for mingw (zet)
4365: Disable console "X" close button on MinGW (zet)

2005/08/26
4360: Configure: Test for nl_langinfo(CODESET)
4359: Upload: Give upload slot truely randomly (pango)
4347: Improve exit codes, codes were inspired by sysexits.h
4345: Code clean: Optimize redundant time_to_string functions
4357: Rename ed2k_hash to mld_hash
4344: Improve ./configure checks (bzlib.h, iconv on Windows)
-------------------------------------------------------------------------------
2005/08/21: version 2.6.3 = tag release-2-6-3
4254: Patch reverted, did not work
      "html_mods: Table data is incorrectly centered"
4336: Improve some log file messages
4321: BT: fixed "make_torrent produce corrupted files on Windows" (beedauchon)
4335: Buildinfo: Fix bug if Bzip2 version string is empty (beedauchon)
4329: HTTPClient: Implement retries for failed requests
4319: Fix compile if libbz2 is not available,
      new configure option: --disable-bzip2
4334: BT/FileTP: Some progress on cancel bug (kempston)
4333: send ip blocked addr state to gui, compute_torrent from gui (zet)
4332: Let configure fail if GNU make is not installed

2005/08/18
4323: HTML: Search results: new colums for Bitrate, Codec and length
4324: Log: Improve output for verbosity "hid"
4322: EDK: compatibleclient 40 -> Shareaza
4320: Fix compile on FreeBSD < 5.3

2005/08/15
4317: Updated ./configure for compiling lablgtk2 with --enable-batch
4316: Updated ./distrib/Install.txt for Ocaml 3.08.4 and new GUI options
4292: html_mods: Match styles default frameHeight with the common default
4314: Allow compiling with Ocaml 3.08.4
      Compiling with 3.08.3 still works
4312: BT: Allow seeding (beedauchon)
4311: BT: create_torrent: default_tracker and default_comment (beedauchon)
4309: GUI: send ed2k/bt network u/d totals (zet)
4308: Gnutella/G2: Fix commit if no TigerTree is available
4305: buildinfo: Print some system internals
4304: EDK: Fix disconnect state with verbosity = "hid"
4297: Create ini file backups on shutdown
Note: file_sources.ini is never saved, it makes no sense to keep this file.

New options:

* backup_options_format, default "tar.gz", "zip" can also be used

* backup_options_delay, default 0
How often (in hours) should a backup of the ini files be written into old_config.
A value of zero means that a backup is written only when the core shuts down.

* backup_options_generations, default 10
Define the total number of options archives in old_config.

Command save got two new parameters:
* "save all" saves options, sources and creates a ini file backup
* "save backup" speaks for itself;-)
-------------------------------------------------------------------------------
2005/08/11: version 2.6.2 = tag release-2-6-2
4296: BT: Fix options parsing
-------------------------------------------------------------------------------
2005/08/09: version 2.6.1 = tag release-2-6-1
4291: EDK: Better logging for unknown compatibleclient values
4290: BT: Some small fixes for messages interested and cancel (beedauchon)
4289: LOG: Improve verbosity "hid"
4287: Better clear Fifo buffers (bogeyman)
4268: Web/Gui: free core's buffer allocated by vd # and gui (bogeyman)

2005/08/08
4285: IPBlock: Server support
* display in vm/vma if a server has a blocked IP
* prevent connections to a IP blocked server,
  in EDK case this resulted in a LowID connection 

4284: Remove whitespaces / Some logging changes

2005/08/07
4279: MinGW: HDD statistics support
4281: Remove white spaces / Some logging stuff
4251: HTML: few fixes / new option html_frame_border true|false
4278: Windows: Fix bug creating work dirs in empty dir

2005/08/06
4276: IPBlock: Never block local IPs even if they are in blocklist
4274: Use relative path if downloads.ini is present

2005/08/05
4272: HTML: Cursor focus in input field
4271: GTK2: Fix compile bug in src/gtk2/chat/chat_art.ml
4155: Let MLDonkey create its data in $HOME/.mldonkey

Usage instructions:
* if the core is started in a directory where downloads.ini exists
  this directory will be used, this is the same behaviour as before
* on Windows the current directory will always be used,
  this is consistent with eMule
* on other systems $HOME/.mldonkey will be created and used,
  this is consistent with eDonkey, aMule and Unix standards
* if variable MLDONKEY_DIR is used that directory has priority,
  to simulate the behaviour without this patch use:
    export MLDONKEY_DIR="." && ./mlnet

2005/08/04
4270: Overnet: Convert local IPs sent by OV clients to real IPs
4269: IPBlock: Several fixes, better zip file support
4264: Fasttrack: Force commit of all complete files

4258: BT: Statistics, recognize more clients, min_interval,
      torrents/old and more...
      This patch was done by Beedauchon, it incorporates weeks of work from him.
* move .torrent to torrents/old if the file is not shared anymore
* new command rm_old_torrents: delete all files in torrents/old
* eDonkey like statistics for BT clients (csbt command)
* compute_torrent and make_torrent can put a comment into the .torrent file
* MLdonkey computes a BT-compatible client_uid starting with "-ML"
* parse more fields from .torrent files and display them in HTML interface
* Tracker: replace "/tracker" by "/announce"
* Tracker: add "/scrape"
* Multitracker support for downloading

2005/08/02
4263: Fasttrack: Force bootstrapping nodes

2005/08/01
4261: HTML: Add DL button - opens dialog for entering links (omgwtf2)
4260: IPblock: Enable IP blocking for Overnet and HTTP server
      (=BT Tracker) (beedauchon)
4257: Kick uploaders which send no data for more than 1 minute
4256: Print message if glibc version mismatch
      updates for buildinfo (version of libbz2, libz, libpng)

2005/07/29
4255: HTML: updates for cs command
4254: html_mods: Table data is incorrectly centered
4253: HTML: New style Construction (omgwtf2)
4251: few html fixes (reverted) (beedauchon)

2005/07/28
4250: Remove whitespaces from commonUploads.ml
4249: HTML: Links to fake check services in search results (bogeyman)

2005/07/27
4194: FileTP : Add support for "referer", error messages cleanup (beedauchon)
4245: BT: Remove whitespace (beedauchon)
4244: Change web_infos period to hours (this is a bugfix,
      no need to change ini files)
      new option: enable_mlnet_redirector

2005/07/26
4243: FileTP: Clean lots of whitespaces
4031: HTML: relative refs in HTML output (beedauchon)
4191: Access to disk data (free space, max file name length)
      This is first step implmenting this, checkout the
      disk command for debugging.
4242: IPBlock: Support guarding_full.zip
4241: Fix html_mods_vd_gfx_remove
4240: EDK: New option keep_downloaded_in_old_files

2005/07/23
4184: support guarding.p2p in zip/gz/bz2 format
      bz2 segfaults on OpenBSD, therefore disabled
      see notes in the patch on how to compile with MinGW

2005/07/22
4205: Improve logging with timestamps 2 (incomplete)
4204: Improve logging with timestamps (incomplete)

2005/07/21
4195: GUI: Change configure options

Now "./configure" compiles no GUI, "--disable-gui" is default.
To use a GUI use "--enable-gui", this enables GTK2 GUI.
Other options are:
--enable-gui=newgui2 (use GTK2 GUI)
--enable-gui=newgui1 (use GTK1 newgui)
--enable-gui=oldgui  (use GTK1 oldgui)
Options like "--disable-newgui" or "--enable-gtk2" were removed.

2005/07/20
4193: CommonGraphics : some whitespace cleanups
4190: Gdstats: Fix tag.png/jpg link output
4188: Overnet: Dont put our own ID in the buckets (bogeyman)
-------------------------------------------------------------------------------
2005/07/19: version 2.6.0 = tag release-2-6-0
4175: New option html_mods_use_js_tooltips, default true
      (4175_5.patch)
4187: Update version to 2.6.0
4186: SCM date for Windows / FreeBSD configure enhancement

2005/07/18
4183: HTML: Overnet/Kademlia stats improvements (beedauchon)
4118: Solve memory leak in Overnet/Kademlia
4182: Get CVS date in configure for OpenBSD
4175: HTML: Add Multiline File Information in download table
      (4175_4.patch)

2005/07/17
4181: EDK: Control identified versions
4180: EDK: Files copied to incoming dir for sharing do not
      appear in upstats after hashing
4179: Get CVS date in configure for FreeBSD & Mac OS X
4178: Dont build GUI on "make release.mlnet.static"
4177: Clear logging, first steps toward time stamps
4175: HTML: Add Multiline File Information in search results
4174: EDK: Re-enable source exchange with eMule clients
4163: EDK: Avoid saving sources every save_options_delay

2005/07/14
4173: Clear whitespace from code
4168: HTML: Graphical chunk display in vd <num> (beedauchon)
4167: Gdstats: Fix corrupted pics output/improved output (beedauchon)

2005/07/13
Remove obsolete ./src/gtk/gui2 directory
4165: Clean log file
4164: Gnutella/G2: Update Webcache URLs
4160: resize properly the names in the gtk2 gui (su_blanc)
4158: EDK: Parse and display version numbers, also in GTK2 GUI (su_blanc)
4114: EDK: new command "reset_stats" (Knocker)

2005/07/10
4159: Removed whitespaces (beedauchon)
4156: tray icon in x11 for GTK2 GUI (su_blanc)
4157: fix mlnet.pid checking at start up for GUI

2005/07/07
4153: More infos for mem_stats
4146: Use lprintf_nl instead of "lprint_newline ()" or "\n" (beedauchon)

2005/07/06
4118: Improve Overnet/Kademlia logging and mem_stats output
      (overnet_log,patch)
-------------------------------------------------------------------------------
2005/07/05: version 2.5.30.17 = tag release-2-5-30-17
4142: Remove unneeded code
4141: Cleaned logging
4140: New option: create_dir_mask
      New directories in incoming_directories are created
      with these rights. 
4139: EDK: don't ask clients for non-downloading files

2005/07/04
patch posted in bug 13619:
  Always returns ASCII(C) locale when it use libcharset

2005/06/29
4135: Change emule_version
4134: Clean core startup messages and log output
4130: Print warning message for Windows users
4128: Notification mail: show hash and download time
4127: Add TOS support
4123: First steps toward integrated user-management:
      new commands "remove_user" and "users",
      only "admin" is allowed to kill the core
      HTML interface to setup users (Options, Users)

2005/06/25
4125: Some configure.in fixes if libpng is misssing in libgd

2005/06/23
4122: EDK: "server <met>" command now responds with a clearer answer (Knocker)
4121: EDK: Dont remove prefered server if server_users < min_users_on_server
      (Knocker)
4120: EDK: send emule_version to servers (Knocker)
4083: new build target: release.mlnet.distri
      it contains both the dynamic and the static linked core

2005/06/22
4115: sort output of "links" in alphabetically order (Knocker)

2005/06/20
4109: EDK: Improve update_server_list
4104: Check accessibility of used directories on core startup
4101: Telnet: Show BT hash in vd <num>
4099: Automatically insert version number in Windows ressource file
4093: Add Buildinfo button to HTML, Help+
4092: Add Razorback-Stats and Bitzi links to upstats
4091: EDK: Some progress on the cancel bug
4090: Overnet: Add stats to mem_stats and code cleanup
4089: gdstats: Update second graph correctly
4085: change download priority to keep started download rolling
4071: Code cleanup: Replace lprintf_newline with "\n"
-------------------------------------------------------------------------------
2005/06/06: version 2.5.30.16 = tag release-2-5-30-16
4070: Exit core on startup if a port is already used
4079: mlnet server id fix

2005/06/03
4067: BT: Fix multifile commit
      (updated to create dirs with rights 777)
4063: HTML: Some improvements (beedauchon)

2005/05/30
3984: Make filename_conversions option implementation safe
4042: Avoid sharing temp dir
4046: Hotfix: Circumvent max_hard_download_rate/2 bug
4051: mailer:encode subject and include a time zone
4055: Allow canceling of ed2k downloads if G2 is enabled
4056: Close all files if core receives SIGHUP
4057: Hotfix: Close files if an upload slots gets free
4058: Remove donkey_devel code, it is outdated
4060: Extend core startup message
4061: Block system signals during core startup

2005/05/28
4040: EDK: Do not truncate shared files
4043: Avoid locking shared files
4044: G2: Enable dllink support for servers and friends
4045: Remove command "-daemon", use 'mlnet > /dev/null 2>&1 &' instead
4050: Sync with Amorphous rev325

2005/05/19
4033: Fix "make clean" on MinGW/Cygwin (updated 2005/05/28)
4034: HTML: sources command has HTML output now (from beedauchon)

Replaced docs/http-1.1.txt and docs/uri.txt with links
to the original files.

Remove big, dcgui, giFT, hwd, lopster and small from ./icons
GTK old- and newgui and GTK2 GUI compile without those dirs.

Only these sets are used:
./config/Makefile.in:  ICONS_CHOICE=icons/rsvg
./config/Makefile.in:    ICONS_CHOICE=icons/tux
./config/Makefile.in:    ICONS_CHOICE=icons/kde

2005/05/17
3985: Create pid file
3991: Respect $MLDONKEY_DIR
3993: Enable signal handling on MinGW
3996: EDK: Support auxports
4017: Fix use_tags compile
4018: New EDK clients: Emule Plus + Hydranode
4023: Enhance buildinfo
4025: Enable sha1new on Solaris and Windows
4026: Remove all servers with "rem all" works now
4027: Fix jpg viewing with gdstats
4028: Remove gd generated files (cosmetic code update 2005/05/19)
4029: EDK: Print warning if enable_servers false

2005/05/13
3979: Show CVS date in CURRENT_RELEASE
3971: Send sources availability
3977: html_mods: fix server listing when a net is disabled
3978: properly sort availability in the GTK2 GUI
* Patch from beedauchon adds html support to donkeys
  new_print_mod_stats if emule mods statistics are disabled.
* Patch from beedauchon adds html support to the command gstats.
* Patch from beedauchon adds html support to the command ov/kad_stats.
* Patch from beedauchon adds some fixes to the html output 
  of the networks command.
-------------------------------------------------------------------------------
2005/05/02: version 2.5.30.15 = tag release-2-5-30-15
This version shares the same code as Amorphous revision 304.

3963: Remove Audiogalaxy code
3964: Remove obsolete Cymes entries
3970: Print web_infos (from beedauchon)
3972: bug fixes for the GTK2 GUI
3973: Support for Overnet contact.dat (from beedauchon)
3974: HTML: RSS support (from beedauchon)
3975: EDK: Fix for sending shares to server
3976: Remove obsolete Ares code
-------------------------------------------------------------------------------
2005/05/01
3956: Set utf-8 character encoding in notification mails
3952: Print glibc version in buildinfo
3969: Sync with Amorphous rev293 
from rev290:
* A little cleanup for debug output.
from rev293:
* Patch from beedauchon fixes transparency issues with
graphical stats.
---------------------------------------------------------------------
2005/04/26: spiralvoice (version 2.5.30.14 = tag release-2-5-30-14)

3908: Split patch 3900: Vorbis file support
3949: Some improvements for graphical stats
3950: bug fixes for the gtk2 GUI
3951: servers enhancement
---------------------------------------------------------------------
2005/04/25: spiralvoice (version 2.5.30.13 = tag release-2-5-30-13)
This version shares the same code as Amorphous revision 286.

3947: More build fixes for sha1new on FreeBSD 
---------------------------------------------------------------------
2005/04/24: spiralvoice (version 2.5.30.12 = tag release-2-5-30-12)

3943: Fix building without gd
3944: Sync with Amorphous 284
* lots of whitespace cleanups
* Some cleanups in configure.in .
* Corrected that --enable-gd is the default
---------------------------------------------------------------------
2005/04/24: spiralvoice (version 2.5.30.11 = tag release-2-5-30-11)

3942: Fix for Gnutella/G2/Fasttrack dllink handling
---------------------------------------------------------------------
2005/04/24: spiralvoice (version 2.5.30.10 = tag release-2-5-30-10)

3938: Print cwd on core start to help users finding their ini files
3939: gd generated bandwith-usage graphic in the web-ui
3941: Sync with Amorphous rev280/281
* Little fix for the buildsystem for commonGraphics.
* Fix the sha1new configure-test for FreeBSD.
* I hope, that i fixed problems with linking libiconv for FreeBSD.
* Change the iconv check a bit. Users with unusual locations
should use --with-libiconv-prefix with configure. Still
seems not to work right on FreeBSD.
* Fix sha1new for FreeBSD for sure now.

---------------------------------------------------------------------
2005/04/23: spiralvoice (version 2.5.30.9 = tag release-2-5-30-9)

3919: Move users/passwords from downloads.ini to users.ini which has rights 600
3930: Build fixes for FreeBSD & OpenBSD (some more patches)
3935: Core did not create incoming on first start
3937: Whitespace cleanup of configure --help
---------------------------------------------------------------------
2005/04/23: spiralvoice (version 2.5.30.8 = tag release-2-5-30-8)

Mozilla MLdonkey Protocol Handler updated to version 1.5
3924: More bt peer ids + clean up networks cmd in html (table sorts properly)
3926: mac osx gtk2 gui building
3930: Build fixes for FreeBSD & OpenBSD
3931: Prevent DDOSing fm2.imesh.com
3932: Print warning if core cant do DNS lookups
---------------------------------------------------------------------
2005/04/20: spiralvoice (version 2.5.30.7 = 2.6pre19, tag release-2-5-30-7)

3915: Show only searchable networks in HTML, search
3916: Change Opennap servers_list_url to a working one
3918: HTML: Print network capabilities table
3921: Change Fasttrack temp file names 
3922: Re-enable use of ft:// links to add Fasttrack servers
---------------------------------------------------------------------
2005/04/13: spiralvoice (version 2.5.30.6 = 2.6pre18, tag release-2-5-30-6)

* Add an headder-file to charsetstubs.c so it compiles on
  certain platforms. This fixes savannah bug #12683.

To compile on FreeBSD and OpenBSD link these files:

/usr/local/include/libcharset.h
/usr/local/include/localcharset.h
/usr/local/include/iconv.h

to /usr/include and /usr/local/lib/libcharset* to /usr/lib.
---------------------------------------------------------------------

2005/04/13: spiralvoice (version 2.5.30.5 = 2.6pre17, tag release-2-5-30-5)

3894: New build targets: release.utils.shared & release.utils.static
3895: Amorphous patches from SVN revision 259
* If using iconv in an libiconv, check for libcharset.h and
use it, if it is not present use localcharset.h . This
should fix compiling on some systems.
* Lower AC_PREREQ to 2.53 (debian wood needs that).
* Some whitespace fixing for configure --help .
* Use -mno-cygwin for cc when --enable-mingw is used. But it
seems like it does not prevent the freezing we know from
cygwin compiled cores.
* Use the present fd for getsize64 in unix32. This should
fix multi-files for bt in win32, as win32 only allows one
fd per file because of the default locking behaviour.
* Ignore exceptions from utimes, as in win32 the default
locking behaviour prevents them.

3896: BT support for file_started_cmd
3901: Change HTML headers from iso-8859-1 to UTF-8
3902: Amorphous patches from SVN revision 264
* Add -mno-cygwin to -ccopt for ocaml. Seems not to fix
--enable-mingw either.
* Clean up canonize_basename, now that we have charset
conversion. Now we should be able to have most chars in
filenames if the locale is set right.
* When shorten-ing names, just use Charset.to_utf8 instead
of String.excaped . Now non-ASCII chars should show up
nicely in web-ui and telnet-ui. The conversion should be
done when these strings enter the core, but that would be
quite a task.
* Remove an Charset.to_locale that shouldn't be there.

3903: Remove some log messages
3904: Format "vd <num>" output in telnet to have md4 hashes back
3905: Prevent crash on start when wrong system date is set
3906: Fix GTK1 GUI compile (was broken since patch 3867)
3907: Fix UTF-8 stuff
3909: Some cosmetical stuff from Amorphous rev 266
---------------------------------------------------------------------

2005/04/07: spiralvoice (version 2.5.30-4 = 2.6pre16, tag release-2-5-30-4)

3889: Clean logfile
3887: Syncing Savannah CVS with Amorphous SVN
* Applied savannah patch #3867 with small modifications, so
it builds on systems that don't have libiconv but have
iconv() in libc (i hope it still works on systems with
libiconv :) ) and so that the gui protocol version 30
behaves as before.
- new gui protocol version 31 (see guiProto.ml) fixes
savannah bug #11988 : GUI-Protocol doesn't send hashes
for files not from the donkey-network
- fix for savannah bug #12390 : GTK2 GUI configuration
problem
- bt shares now show up under shares
- gtk2-gui: fix some bugs in text display (while using
Pango markup)
- gtk2-gui: fix upload/download rate of clients
- gtk2-gui: md4 is replaced by uids everywhere (downloads,
uploads, results)
* Patch from beedauchon on irc fixes that gnutella and
gnutella2 options had the same prefix.
* Corrected debug-output in http_client.ml form last commit.
* Little debug-log cleanup.
* Fixed savannah bug #12348 gnutella (and related networks)
accumulated more and more ultrapeers (servers) during
runtime and did not forget them, so memory usage growed
over time.
---------------------------------------------------------------------

2005/04/04: spiralvoice (version 2.5.30-3 = 2.6pre15, tag release-2-5-30-3)

3883: Fix compile errors in GTK1 GUIs due to patch #3867
---------------------------------------------------------------------

2005/04/04: spiralvoice (version 2.5.30-2 = 2.6pre14, tag release-2-5-30-2)

3864: html-interface: slightly easier renaming
3867: bug fixes for the new GTK2 GUI

3873: Syncing Amorphous 2-5-30ac with 2-5-30-1 
* Now really fixed the infinite loop in the sourcemanagement.
* The check for the version of ocaml in the configure file
should be fixed now. Now 3.08.3* and 3.08.2* (for mac only
3.08.2+4 to +8) are recognized. If needed 3.08.3 should be
downloaded correctly.
* Some debug-output cleaning.
* Updated warning message for old mldonkey clients, they
should at least upgrade to 16v.
* Removed option master_server_min_users as it was not used
in the code.

3874: Extend vd command with parameters
* add telnet commands
vd queued
vd downloading
vd paused
shows only chosen downloads
tip: use aliases vdd -> vd downloading
vdq -> vd queued
vdp -> vd paused

3876: Support subrelease in configure.in
3877: Identify more bt peer ids (client software)
3882: Decode http-header-name location case-insensitive
---------------------------------------------------------------------

2005/03/20: spiralvoice (version 2.5.30-1 = 2.6pre13, tag release-2-5-30-1)

This release shares the same code as Amorphous SVN release 2-5-30ab
except the fact is needs Ocaml 3.08.3

3792 : EDK/HTML: More readable uptime in cs
3795 : Updated files for bugs building GTK2 GUI, GTK1 newgui and GTK1 oldgui
* To build GTK1 newgui: ./configure
  To build GTK1 oldgui: ./configure --disable-newgui
  To build GTK2 GUI: ./configure --enable-gtk2
  lablgtk-1.2.7 and lablgtk2-2.4.0 can both be installed at the same time.

3816 : New URLs in FakeCheck. Corrected Bitzi URL
3573 : Allows for aliased commands in driverCommands
3822 : Fix for completed files appear multiple times in upstats
3829 : Options care

3828 : Opennap compiles again
* this does not mean the module actually works;-)

3830 : Review build process
* Ocaml 3.08.3 is now required to build MLDonkey
* Removed config/Makefile.config.i?86.in files. If you want
  to build for an arch that is not the build-machine then
  use for example ./configure --host=i586-pc-linux-gnu .
* Added the opt-binaries from utils to make clean.
* Added configure option --enable-debug .
* Removed the configure options for directconnect and
  audiogalaxy, any developer wo wants to work on them can
  add them again and nobody else should use them.

3791 : Syncing 2.5.30 and Amorphous 2.5.30aa

* Adapted a change to the command "sources" from savannah
  patch #3621 that had a new command "tsources". "sources"
  now prints it's information in a much more compact table.
* Savannah patch #3304 has UTF 8 encoding for strings from
  the core.
* Changed so redirectors (gwebcaches) for gnutella/g2 are
  only contacted once a day. This is no good solution, but
  it should prevent us from harming the network.
* Prevent active_udp_queue in g2 from growing over length
  100 and eating all memory (this is a workaround and
  should be fixed for real someday).
* Now ./configure checks for autoconf259 and autoconf-2.59
  and uses these instead of autoconf. AC_PREREQ in
  configure.in is now set to 2.59 instead of 2.5 .
* The default port for the gift gui is now 0, to disable it,
  because it did not ask for authentication.
---------------------------------------------------------------------

2005/03/02: spiralvoice (version 2.5.30 = 2.6pre12, tag release-2-5-30)

This version solves the serious file corruption bug in version 2-5-29
---------------------------------------------------------------------
These patches were applied to 2-5-29 by b8_bavard without mentioning
in Changelog:

3357: BT: use config option for hardcoded TCP-read-timeout
3326: html_mods: Show sources info in vd # output again
      (bt_vd_soft.diff + html_print_sources.diff)
-------------------------------------------------------------------
This patch was applied to 2-5-28-1 by spiralvoice without mentioning
in Changelog:

3672: Let mldonkey upload (complete files) work with Low ID clients
-------------------------------------------------------------------

These patches are part of release 2.5.30:

3676: BT/fileTP HTTP header check (header_checks-fix.diff)
3551: new gtk2 gui (3551_1_29.patch.gz, rsvg_icons_set.patch.gz)
3308: Optionally skip (queued/paused) files in html vd display
3461: [EDK] Fix some bugs (3461_29.patch, tweak_commonSources.2-5-28-fixed.patch)
3476: Fix bug in friends file list
3481: Let configure fail if Ocaml and wget are not available
3484: Add vd link for nocheckboxes html interface (3484_2.patch)
3490: Some leftovers from patch_pack 2-5-28h
      (lowid_29.patch, cleanups_small-fixes.patch, 3490_2.patch)
3491: Some stuff for config/Makefile.config.i?86.in
3494: BT: tracker interval fixed again (this patch replaces
      patch 3447 from 2-5-28-1, 3494_29.patch)
3522: BT guarding.p2p support
3575: Detect if config/ directory is absent during configure
3603: Error in mldonkey-design.tex
3604: Fix for bug #11394 - HTTP redirection
3608: EDK: Higher default for walker_server_lifetime 
3609: New extensions for video search (extensions28.patch)
3610: Kademlia nodes are collected even if Kademlia is disabled
3615: Small typo, clean logfile
      (log.patch, log.patch (for Overnet messages, new in 2-5-28p,
      typo.patch, 3615_4_29, replaces edkudp_messages.patch,
      3615_5_29, replaces compatableclient.patch)
3616: fix for too much source-queries to servers for 2.5.28i
      (3616_29.patch)
3620: Donkey guarding.p2p support (3620_29.patch)
3621: new command "tsources" prints table of sources
3622: we should only ask for sources if we need_new_sources (3622_29.patch)
3627: Adding EDK servers with edk://server did not work
3631: Solve configure problem on Mac - fixes bug 11365
3634: This patch addes RazorBack's file history link to interface 
3637: Fix for MacOS Orphaned File Descriptor Bug
3648: HTML: Display sharing strategies in Options, Shares
3652: TELNET: Display search result summary
3653: Handle HTML error 304 in http_client.ml (3653_29.patch)
3655: Bugfix for multiple sourceexchanges with the same peer
      (3655_2.patch)
3656: Parse eMules ipfilter.dat for use in IP blocking function
3672: Let mldonkey upload (complete files) work with Low ID clients
3675: EDK: keep_cancelled_in_old_files works again
3677: Fix for bug #11686 - fileTP cancel
3680: get more infos on servers per UDP
3685: fileTP FTP quick fix
3688: Avoid Exception Pervasives.Exit in QueryFileReq
3707: Use Ocaml 3.08.2 instead of 3.08.0 when no Ocaml is installed yet
3715: Some care for options
3719: New command: buildinfo (3719.patch, buildinfo2.patch, 3719_3.patch)
3721: HTML: Remove filewatcher.org from Search function
3725: EDK: 15 new eMule mods
3726: EDK: Better recognition for Shareaza clients
3728: EDK: vd <num> source score display bugfix
3734: Configurable socket option so_keepalive (3734_29.patch)
3737: FT/GT: Canceling download works again (3737_29.patch)
3744: bugfix #11362 and some description cleanup
3754: Bitzi lookup works again in Search results interface (3754_29.patch)
3157: Send core update message to "new mldonkey" (3157_29.patch)
3681: remove guarding block of indirect sources
3717: improvement of patch 3672 (additonally bugfix for wrong Hi/Lo-ID in serverlist)
3773: Solve compile bug in tools (dp500.patch, make_torrent.patch)
3673: do not send the entire list of shadred file to servers every 5 minutes
      (3673_29.patch)
3291: Fix for bug 9996 - Missing Date Header in Emails
      (fixed problems with 3291_29.patch)
3736: Bugfix for Chunks-Randomizing and LowID recognition on inbound connections
3722: Enhancements to the sourceexchange and some minor ED2K bugfixes (3722_29.patch)
3735: Sourcemanagement revisited (3735_29.patch)
3776: Fix for file corruption in CVS 2-5-29
3777: Lots of backported stuff from Amorphous branch 205
      (backport.patch, log.patch)

-------------------------------------------------------------------

UPDATE (2005/02/20): branch 2-5-28 was updated, to check out use "-r release-2-5-28-1"

A SERIOUS bug is in 2.5.29, don't use it, version 2.5.30 will appear soon !
	(if you do a checkout/update , use tag 'release-2-5.28' instead)
	
2004/10/26: Fabrice (version 2.5.29 = 2.6pre11, tag release-2-5-29)
  - Bittorrent: files should be shared even after commit.
  - Removed some options:
       * "incoming_directory", replaced by "shared_directories", with
           strategy "incoming_files" (for downloaded files) and
           "incoming_directories" (for downloaded directories on Bittorrent).
       * For networks, "network_options_prefix" and "commit_in_subdir".

2004/10/22: Fabrice
  - Measure latencies between clients and send them to redirectors:
     * On TCP connections
     * On UDP: 
         * Edonkey Server Ping/Pong
         * Overnet/Kademlia clients Connect/ConnectReply
         * Fasttrack Supernode Ping/Pong

2004/10/18: Fabrice
  - Many changes and patches applied, labeled as UNSTABLE until further
      tested.
  - Applied Savannah patches: #3321 (print_sources), #3338 (BT-quit), 
     #3341 (BT-numwant), #3352 (GUI-GetVersion), #3356 (BT-showfile),
     #3363 (gzip-0len), #3407 (BT-referer), #3408 (complete),
     #3409 (download-sort), #3411 (setoptions), #3412 (BT-delay),
     #3413 (BT-messages), #3414 (BT-latepeerid), #3415 (ED2K-ip),
     #3420 (BT-chooser), #3421 (BT-events), #3422 (BT-reshare),
     #3423 (BT-manualstop), #3425 (BT-latepeerid2), #3427 (logchats),
     #3428 (BT-delay2), #3429 (BT-handler), #3430 (BT-verify),
     #3435 (BT-assert1), #3436 (BT-parsehead), #3438 (ED2K-proto),
     #3439 (swarm2), #3442 (kad-options), #3443 (log)
  - Default is now Swarming2.

2004/10/13: Fabrice
  - Gnutella/Gnutella2: deflate_connections works

2004/10/07: Fabrice
  - CommonUploads: 
      * Description of shared files is saved on disk during execution.
      * Computed UIDs, Md4s and tiger-trees are stored in shared_files.ini
          between executions.
  - Fasttrack:
      * Experimental ultrapeer mode for local experimentations (will not
          work on the Fasttrack network).

2004/10/03: Fabrice
  - Bittorrent:
      * Start download without the torrent, when enough information is known.

2004/09/27: Fabrice
  - Fasttrack:
      * Clean protocol specification
      * Basic ultrapeer

2004/09/21: Fabrice
  - Gnutella/Gnutella2: 
      * Implemented basic ultrapeer (without Bloom filters)
      * Implemented HTTP upload
      * Implemented TigerTree verification

2004/08/31: Fabrice
  - Bug fixes: 
      * chunk*.tmp are always removed
  - Applied patches: #3305 (config gtk), #3306 (mlgui align), #3307 (clean),
      #3313 (ft), #3317 (bt softs), #3319 (floats), 

2004/08/18: Fabrice (version 2.5.28 = 2.6pre10, tag release-2-5-28)
  - Tested CommonSwarming2 with Edonkey and BT (should also work with 
      Fasttrack).
 
2004/08/17: Fabrice
  - Applied patches: #3279 (cygwin), #3288 (aclocal), #3291 (maildate),
      #3292 (no gtk-config), #3554 (sharedbytes), #3561 (htmlpref),
      #3574 (gziphtml)

2004/08/16: Fabrice
  - Bug fixes:
      * CommonSwarming: one bug causing BAD WRITE, and one bug causing bad
          selection of the block to download first.
  - CommmonSwarming2:
      * New "merge f1 f2" command to declare that data from file f2 should be
          saved in file f1. Not that all the data already downloaded to f2 is
          currently lost.

2004/08/12: Fabrice
  - Bug fixes:
      * DriverCommands: add_user shouldn't raise exception anymore (bug #9990) 

2004/08/11: Fabrice
  - Bug fixes:
      * DonkeyOptions: compute_md4_delay forced above 0.1 (bug #8812)
      * CommonNetwork: use Url.decode on urls 
      * Http_client: correct Host header (bug #8705)
  - Applied patch #2974 (wget)
  - CommonSwarming2: new implementation for multi-network swarming (not
      working yet). Not used anyway unless -enable-swarming2 is specified.

2004/08/10: Fabrice (version 2.5.27 = 2.6pre9, tag release-2-5-27)
  - Applied patch #3276 (gui proto 29)
  - Bug fixes:
      * CommonInteractive: Filename conversion of forbidden Windows characters
          before saving files (bug #9213)
      * MlUnix: stdout and stderr are not closed, just redirected to /dev/null
          (bug #8580)
      * DonkeyFiles: limit upload to client to max_msg_size (bug #9818).
      * CommonSources: fixed bug preventing saved sources from being used
          (and thus previously known emule clients from being used).
      * CommonSwarming: save and reload chunks ages
      * FasttrackComplexOptions: sources are correctly loaded
  - Fasttack now uses module CommonHosts

2004/08/09: Fabrice (version 2.5.26 = 2.6pre8, tag release-2-5-26)
  - Bug fixes:
      * GuiDecoding: bug causing deconnection for protocol 28
      * New Fasttrack files from giFT-Fasttrack
      * New option filename_conversions in downloads.ini to translate chars
          in names before saving files.
      * DonkeyClient: fixed QueueRankReq handling

2004/08/09: Fabrice (version 2.5.25 = 2.6pre7, tag release-2-5-25)
  - Bug fixes (to be tested):
      * CommonSwarming: removed downloaded counter, use the file's one.
          Verified files should now be seen correclty after verify_chunks or
          recover_temp.
      * CommonInteractive: modified canonize_basename to replace chars
          outside 32-127 by ?. Should solve saving of CJK files on disk.
      * Unix32: open in read-only if EROFS is raised
      * DonkeyComplexOptions: force use of update_server_list variable, and
          check IP reachability (bug #7200). Should also fix bug #8971.
      * DonkeyClient: Don't ask for slot if no interesting chunk. Use
         good_client_rank option to put clients in "good_sources" queue.
         (bug #9016).
      * DonkeyClient: removed "connection_ok" in query_locations to
         allow servers to become master (bug #7741).
      * DonkeyServer: new command "preferred" to choose preferred servers,
         that will become masters immediatly and with priority if connected
         (which should happen automatically during the walking process).
         (bugs #9247/#9655)
      * GnutellaServers: added gnutella2_needed variable to decide when to
         keep a connection in Gnutella/Gnutella2 (bug #9697).
      * GnutellaRedirector: set delay between reconnections to redirector
         to 1 hour. (bug #9686)
      * CommonHosts: added option to limit the number of known hosts
          in Gnutella "max_known_hosts" (default 1000) (bug #8416)
      * configure.in: changed REQUIRED_OCAML to 3.08 (bug #9939)
      * DonkeyOvernet: searches are removed after 5 minutes.
  - Applied patch #3274 (ocaml3.08)

2004/08/06: Fabrice
  - Applied patches: #3269 (int64), #3266 (mc), #3267 (ocaml3.08)

2004/08/05: Fabrice (version 2.5.24 = 2.6pre6, tag release-2-5-24)
  - Bug fixes:
      * CommonSwarming: remove "double the downloaded size" of downloads.
      * DonkeyComplexOptions: prevents saving options before loading them,
          which used to destroy the file_sources.ini and shared_files_new.ini
          files.
      * CommonSources: check_time discarded the real time.
      * DonkeyOvernet: enabling Overnet at runtime wouldn't start it.
      * DonkeyShare: downloaded files should be shared immediatly.
  - Applied patches: #3264 (emule mods)
  - Overnet/Kademlia: added prebuckets. Number of peers limited to 20 per
      bucket and 100 per prebucket. Boot peers addresses from redirector.

2004/08/04: Fabrice (version 2.5.23 = 2.6pre5, tag release-2-5-23)
  - ocaml-3.08 is required to compile now.
  - Overnet and Emule-Kademlia share the same (partial) implementation:
      * Use global options "enable_overnet", "enable_kademlia" and
          "enable_servers" to choose which modes you want to use.
      * See the options for Kademlia and Overnet in donkey.ini.
      * Use kad_ and ov_ prefixes to call commands for these networks
         ("kad_buckets" gives the current connection status, "kad_boots"
           gives the number of known peers to bootstrap, "kad_stats" gives
           the current status of searches, "kad_store" for what is published
           on the client)
      * Currently working:
         * Search for keywords (normal searches)
         * Search for files (localisation of sources)
         * Replies to external searches

2004/08/01: Fabrice
  - Applied Savannah patches: #3249 (no udp), #3250 (mem_stats), 
     #3251 (verify_chunks)

2004/07/30: Fabrice
  - Applied patches: #3053 (configure), #3064 (bt share), #3146 (ed2k servers),
     #3160 (emule mods), #3183 (config saved), #3235 (zlib), #3242 (Makefile),
     #3245 (bt nuploaders), #3246 (bt cookies)
  - Added src/networks/donkey/donkeyProtoKademlia.ml. Rewritting DonkeyOvernet
     to fix the implementation of Overnet, and to make it usable for Kademlia.

2004/07/29: Fabrice
  - CommonSwarming: re-implemented chunk duplication.

2004/07/29: Fabrice  (version 2.5.22 = 2.6pre4, tag release-2-5-22)
  - Fixed a bug in number of sources computation.

2004/07/28: Fabrice
  - New subtree src/gtk2 to compile the GUI with gtk2. You need lablgtk2
     installed, and use "./configure --enable-gtk2" to enable. Some things
     are broken, such as availability display (but when is that pixmap
     destroyed ???).
  - New message InterestedInSources in the GUI protocol, to save more
     bandwidth by sending sources information only when asked.

2004/07/02: Fabrice
  - Applied Savannah patches: #3165 (ipset), #3166 (mozilla height),
   #3178 (BT compatct). #3184 (hightime)


2004/06/25: Fabrice
  - Applied Savannah patch: #3162
	
2004/06/18: Fabrice
  - GUI protocol:
    * New message InterestedInSources
    * Fields file_all_sources and file_active_sources correct for eDonkey 
       plugin. Should save some bw, mem and cpu in the GUI, when only this
       info needs to be displayed.

2004/06/17: Fabrice
  - Major changes in search results management:
    * New option 'save_results' (default is 0)
        0 : results are not saved between sessions
        1 : results first appearance are saved between sessions
        2 : full results are saved
    * Local search is now always available. A structure to search old
        results (in the same session, and in former sessions if 
        save_results = 2) is built for 5 minutes, so the memory should
        be reclaimed 6 minutes after the last local search.
    * All results for all networks are stored on disk, not in memory.
    * The 's' command output displays a 'N' for new results, i.e. results
        that never appeared before that search.
    * New option 'special_queries' in 'searches.ini' defining 
        abbreviations for search arguments (eg "-movies" means 
         "avi -minsize 650000000 -maxsize 735000000") that can be
        used with 's' and 'ls': "s -movies dvdrip fr"
  - Command 'mem_stats' now takes an argument (0 for normal, 1 for more
       details).
  - Applied patches: #3120 (html), #3124 (ed2khash)
 
2004/06/03: Fabrice
  - Fixed bug adding unwanted friends

2004/05/30: Fabrice
  - Added RSS loading via option web_infos, with command "rss" to print them.
  - Applied patches from Savannah: #3005 (networks), #3007 (printf2),
     #3008, #3016 (solaris), #3017 (log),#3023 (telnet), #3024 (log), 
     #3028 (donkey-ip), #3029 (firewalled), #3030 (log), 
     #3031 (ft users), #3033 (chmod), #3039 (Makefiles), 
     #3046 (telnet), #3065 (misc), #3067 (bsd), #3096 (wincomp),
     #3100 (force dl), #3070 (upload)

2004/05/05: Fabrice (version 2.5.21 = 2.6pre3, tag release-2-5-21)
  - DonkeyClient: re-implemented indirect connections that were lost since
      2.5.17
  - For some reason, download seems to be limited to max_hard_download_rate/2.
      Try to increase this option until a fix is found. 

2004/05/04:
  - Applied patches: disconnect (Spiralvoice)
  - Applied Savannah patches: #3003, #2988
  - Fixed bug preventing connections with Overnet clients.
  - New command 'activity'

2004/05/03: Fabrice (version 2.5.19 = 2.6pre1, tag release-2-5-19)
  - Applied patches from Savannah: #3002 (cs_total), #3001 (newgui_csources),
      #2993 (guiprio), #2988 (cs_html), #2983 (typo18),
      #2978 (shorten results), #2975 (title opfile), #2966 (telnet stats),
      #2965 (min users), #2964 (htmlmod), #2963 (lugdu_share), 
      #2942 (emule mod), #2941 (options)
    * #2952 is postponed until I understand if it is already included in the
       Emule better compatibility work done.
    * #2974 is postponed for verification of compatibility with other platforms

2004/05/02: Fabrice
  - Fixed bug causing lost of partially downloaded chunks.
  - Fixed bug in recover_bytes, and added new Edonkey command 
      'recover_bytes <file_num>' to recover files at a byte
      level (i.e. partially downloaded chunks)

2004/05/01: Fabrice
  - Improved Emule compatibility: 
     * Send 'emule_miscoptions1' on Connect, store emule features
     * Receive EmuleCompressedPart messages (if Zlib)
     * Receive SourceExchanges messages version 2
     * Receive QueryFile messages containing QueryChunksReplyReq
     * Send QueryFile messages containing QueryChunksReplyReq
     * Send EmuleRequestSourcesReq even for small files
     * Send QueryChunksReplyReq only if chunks not known
     * Send JoinSlotReq with md4 

2004/04/29: Fabrice
  - DonkeyPandora: print packets and check encoding/decoding of
      Edonkey packets using traces captured by tcpdump and treated
      with Pandora.

2004/04/25: Fabrice (version 2.5.19, tag release-2-5-19)
  - Hardcoded size packet_frame_size to 1 in tcpBufferSocket.ml, so 
     bw-management should be the same as in 2.5.16

2004/04/22: Fabrice
  - Memory leak bug found in the bandwidth management. Udp packets are not
      sent because all the upload bandwidth is used. Partially fixed by
      limiting the size of the queue of packets.

2004/04/20: Fabrice
  - Applied patches from Habi

2004/04/16: Fabrice (version 2.5.18, tag release-2-5-18)
  - Fixed bug solved by patch #2937
  - DonkeyInteractive: new command 'set_brothers' to associate a list of
      files as probably colocated.
  - CommonSources: everything should work now.
 
2004/04/15: Fabrice
  - CommonSources: the implementation seems correct and enough efficient,
      still missing the limitation on the number of sources.
  - CommonSwarming: better handling of the 'last_seen' field

2004/04/11: Fabrice
  - Applied Savannah patches: #2928 (already downloaded), 
       #2861 (useless options), #2852 (typo), #2915 (avoid getpeername),
       #2911 (bt log), #2907 (html prio), #2896 (autoconf), 
       #2872 (voo html), #2871 (clean servers), #2866 (autorel),

2004/04/07: Fabrice
  - DonkeyNeighbours: try to use semantic links to find new sources for
      files among known sources. Send hit-ratio to redirector to gather
      stats.

2004/04/06: Fabrice
  - CommonGlobals: only execute 'do_at_exit' in the main process, not
      in the forked ones (should solve bug #7738).

2004/03/23: Fabrice
  - CommonSwarming: print an error message instead of pausing a file. Still
      to find the origin of the error message.
  - Bandwidth management has changed a bit, but without great success...

2004/03/22: Fabrice
  - Safer options-saving at exit: close all the sockets to prevent "not
     enough file descriptors" error and remove a file called
    "config_files_space.tmp" to free 'config_files_security_space' megabytes
    created at startup.
  - Applied patches from Savannah: #2844(share), #2846(bt)

2004/03/21: Fabrice
  - Applied patches from Savannah: #2832 (telnet_max_name_len), 
      #2833 (filetp), #2620, #2834 (mingw), #2836 (guardian_p2p url),
      #2837 (html), #2840 (overnet), #2841 (localtime)

2004/03/18: Fabrice
  - Applied patches from Savannah: #2792 (doc), #2805 (comestic)
  - PClink for DP500: better handling of long filenames to prevent
       freezing the player.

2004/03/17: Fabrice
  - Applied some patches for Solaris

2004/03/17: Fabrice (version 2.5.17, tag release-2-5-17)
  - TcpBufferedSocket: new option 'copy_read_buffer', every byte downloaded
     from the network is copied twice, so more CPU used, but maybe better 
     network performances.
  - Donkey plugin: code clean-up to use CommonSwarming. Some features are
     now disabled, such as "reliability" until they are implemented in
     CommonSwarming (and so, shared by other plugins).

2004/03/16: Fabrice
  - New function 'CommonFile.recover_bytes' to recover files using non-zero
     bytes interval written in the file. New associated option
     'max_recover_gap' to indicate how many consecutive zeroes in
     the file between non-zero bytes should still be considered as part of
     a downloaded segment.

2004/03/12: Fabrice
  - IP: fixed option 'allow_local_network' 
  - GUI protocol:
      * New GUI protocol 26 with new format for CoreProtocol adding
          the max known opcodes for to_gui and from_gui messages.
      * The GUI can now receives unknown messages without breaking the
          connection.

2004/03/10: Fabrice
  - Applied patches: #2760, #2766, #2767, #2768, #2773

2004/03/09: Fabrice
  - Applied patch backchanges.patch (HighTime) for BT plugin

2004/03/07: Fabrice (version 2.5.16, tag release-2-5-16)
  - Applied patches:
        #2750 (blocking_updated2), #2753 (bug 2586)
        #2751 (get_range)          #2754 (depend_mingw)
        #2752 (sourcesanitize)

2004/03/07: Fabrice (version 2.5.15, tag release-2-5-15)
  - Applied patches #2755 (joinqueuemd4), #2866 (bttt), #2867 (buf_str)


2004/03/06: Fabrice (version 2.5.14, tag release-2-5-14)
  - Http_server: replies are filled in the handler and sent by the server
      (not by the handler anymore). HEAD/GET requests should be treated
      correctly.
  - New URL "http://http_ip:http_port/preview_download?q=file_num" where
     "file_num" is the download number (in telnet for eg). Can be used to
     preview files with mplayer.

2004/03/05: Fabrice
  - New tool "ocamlpp" used for preprocessing files with .mlt extensions.
  - Applied patches: 
      #2640, #2677 (cosmetic patches),
      #2686 (remove array bound error in guiDecoding),
      #2691 (close splash screen), 
      #2694 (status bar in downloads),
      #2710 (default sharing strategy),
      #2720 (mail),
      #2724 (frame height),
      #2726 (bind BT),
      #2727 (options)
  - GUI Protocol:
     * New message: NetworkMessage (network, message) for network-specific
         GUI messages: opcode 63[2 bytes], len[4 bytes], message[len]
     * get_string and buf_string can store strings greater than 65536 bytes
         (when len = 0xffff, there is another 4-bytes integer giving the full
         len)
  - Fixed bug in commonHasher_c.c for files > 2 GB

2004/02/17: Fabrice (version 2.5.13, tag release-2-5-13)
  - Applied patches #2638, #2639
  - New tool "subconv" to easily modify .sub and .srt subtitles files.
  - FileTP:
     * Files are immediatly added, without checking first their size nor
        their existence.
  - Streaming of files for Kiss DP500 Divx player, including
      files from temp/ and incoming/. See the dp500_ options.

2004/02/16: Fabrice (version 2.5.12, tag release-2-5-12)
  - Applied patches #2616, #2617, #2618, #2625, #2626, #2627, #2631,
      #2634, #2637
  - Telnet: 
      * Now, "cancel" does not cancel files, files are just put in a list,
          and you need to type "confirm yes" to definitively cancel them.

2004/02/10: Fabrice (version 2.5.11, tag release-2-5-11)
  - New GUI protocol 24, all times in relative-time.
  - Re-applied patch #2603
  - ./config/configure.in: select former or new implementation of sha1
      depending on the presence of byteswap.h and endian.h.
  - Applied patches #2611, #2612, #2613, #2614 

2004/02/09: Fabrice (version 2.5.10, tag release-2-5-10)
  * Applied patches sha1, #2597, #2603, #2604
  * New GUI messages: 
      Gui -> Core: GetUploaders, GetPending, 
                   GetSearches, (GetSearch search_id),
                   (ConnectClient cid), (DisconnectClient cid)
      Core -> Gui: (Uploaders num_list), (Pending num_list), 
                   (Search search_request)
     GetSearches and GetSearch allow a GUI to query for former searches and
      to receive the results corresponding to a particular former search.
  * New console command "disconnect <client_id>"
  * FileTP:
     * New option 'remote_shells' to define, for each hostname, which 
         remote shell to use and with which arguments (e.g. if you want
         to use rsh or ssh with username@hostname or a particular port).
         still no password allowed...
     * New version of 'get_range' that accepts a 'rangex' argument to
         send the data without base64 encoding (works for me, but I don't 
         know for other shells). Set the 'get_range' option to set the
         path of the remote get_range command, and 'range_arg' to use
         either 'range' or 'rangex'.

2004/02/07: Fabrice (version 2.5.9, tag release-2-5-9)
  * Applied patches #2428, #2595, #2596
  * TcpBufferedSocket: 'exec_command' only creates one TcpBufferedSocket.t
     both for reading and writing.
  * FileTP:
     * Basic "remote shell" protocol (using ssh):
        use 'http <ssh://hostname/relative-filename>' to download the file
        hostname:~/relative-filename. ssh must be able to connect to the
        host without password exchange. The remote host must have the
        'get_range' utility in the PATH of ssh (use "make utils" to
        have 'get_range' compiled with in mldonkey). The transfer rate is
        not very good (30 KB/s, either because of too small 
        tcpBufferedSocket buffers, or because of the base64 encoding).

2004/02/06: Fabrice (version 2.5.8, tag release-2-5-8)
  * FileTP:
     * Basic FTP protocol: 
        use 'http <ftp://url>' and 'mirror <ftp://url>'
     * Option 'mirrors': list of list of interchangeable url prefixes.

2004/02/06: Fabrice (version 2.5.7, tag release-2-5-7)
  * New network 'FileTP' for simple file transfer protocols:
     * Basic HTTP protocol: 
        use 'http <http://url>' to start a download.
        use 'mirror <file_num> <http://url>' to add a mirror.
  * TcpBufferedSocket: initial size of buffer now depends on the last
        read input. might cause problems in memory until a better cache of
        buffers is implemented

2004/02/06: Fabrice (version 2.5.6, tag release-2-5-6)
  * CommonInteractive:
     * file_cancel: removes the file itself
  * Unix32:
     * new function 'destroy' to completely destroy a FD, so that it cannot
        be used afterwards (but it does not remove the file). Used
        in CommonInteractive.file_commit and CommonInteractive.file_cancel.
  * DonkeyInteractive: clients might get stucked if they tried to
      upload a file that has just been commited, since the name is not
      updated anymore in Unix32.rename. We need to remove the former 'file' 
      structure and then add a new one for the shared file, thus disconnecting
      all the former uploaders (knowing them, they will reconnect asap :)).
      To be done.
  * Applied patches #2586, #2587, #2588

2004/02/05: Fabrice (version 2.5.5, tag release-2-5-5)
  * Change in the version numbers, keep only 3 digits :)

2004/02/04: Fabrice (version 2.5.4+8, tag release-2-5-4-8)
  * Bittorrent:
     * New version of uploaders choice.
  * Applied patches #2571, #2579, #2580 (is patch #2578 reversed ?)

2004/02/04: Fabrice (version 2.5.4+7)
  * Bittorent:
     * Fixed upload for seeded files, and probably some other bugs.
  * Telnet interface:
     * ?? display commands per category

2004/02/03: Fabrice (version 2.5.4+6)
  * Applied patches #2556, #2558, #2559, #2561, #2568, #2569, #2571, 
       #2572, #2574
  * TcpBufferedSocket: event CONNECTED is sent the first time a socket
      is available for writting.
  * Newgui:
     * Gui_cdget: Updated some regexps to correctly query IMDB.
  * Bittorrent:
     * BTTracker: the tracker should work. 
     * New internal command "torrents" to list URLs of files in
        torrents/tracked/

2004/02/02: Fabrice (version 2.5.4+5)
  * New Internationnalisation format: short strings are stored for translation
      in ~/.mldonkey/mlnet_strings.$LANG. The new scheme allows easy 
      translation of options descriptions and all other strings used
      after CommonOption. Can also be used to translate the interfaces.
      Unfortunately, this new scheme makes most of the former translations
      obsolete, but most of them have been approximately changed to the
      new format (see distrib/i18n/mlnet_strings.*, copy yours in
      ~/.mldonkey/ to check)

2004/02/01/ Fabrice (version 2.5.4+4)
  * Applied patches #2532 (new-gui), #2535 (INSTALL.txt), #2549 (vers mesg), 
       #2550 (minsize shared)

2004/01/28: Fabrice (version 2.5.4+3)
  * CommonShared:
     Strategies of sharing can be defined in "searches.ini" (recursive or not,
      min file size, extensions). 
     * Predefined strategies:
         [all_files]: recursively all files > 10 KB
         [mp3s]: recursively .mp3 < 10 MB
         [avis]: recursively .avi > 500 MB
         [only_directory]: not recursive, all files > 10 KB
     * Strategy for incoming/ is now [only_directory].
     * Format of "shared_directories" option changed accordingly: new default
        directory shared/ with strategy [all_files].
  * CommonComplexOptions:
     file_state, file_age and file_size are saved for all networks in options.
  * CommonSwarming:
     functions to save and load chunks and present_chunks from options.

2004/01/27: Fabrice
  * TcpBufferedSocket: 
    * Weak form of connection_manager, that should progressively be used to
        better distribute connections among networks.
    * Zlib Compression of connection is now done transparently.
  * Int32ops: removed Int32 operations. int32 should be removed as many times
      as possible to avoid limitations at 4GB. Bittorrent protocol does not
      support files > 4 GB (check new version ?)

2004/01/26: Fabrice
  * CommonSwarming: completely rewritten. No partition anymore. Better
      block choice strategy. More efficient strutures.
  * BTTracker: 
      * new directories in "torrents/":
        * downloads/: .torrent of files being currently downloaded
        * tracked/: .torrent of files being currently tracked (maybe seeded)
        * seeded/: .torrent of files being currently seeded
      * mldonkey command 'compute_torrent' computes a .torrent file for a
        filename and put it in torrents/tracked/. The file is immediatly
        tracked.
      * mldonkey tracker can be accessed:
          http://ip:6881/tracker?info_hash=.... -> for the tracker
          http://ip:6881/filename.torrent -> to download 'filename.torrent'

2004/01/23: Fabrice
  * ed2k_hash: new option -check <size> to compute different hashes on
      a generated file of size <size> KB, to test DiskFile, SparseFile and
      MultiFile implementations. 
  * Unix32:
     * Open ALL files in RW mode by default, and fall back in RO mode in
        case of error. 
     * New format SparseFile completely implemented. 
     * Unix32.rename makes the Unix32.t invalid. Might cause some bugs
        when sharing just commited files (TO CHECK).
  * Options:
     * New EXPERIMENTAL option 'emulate_sparsefiles' in downloads.ini,
        to emulate sparse files on non-sparse filesystems (e.g. FAT).
        Currently only works for Edonkey files, and <preview> and
        <recover_file> won't work for them.

2004/01/16: Fabrice
  * Fixed problem with files.ini when downloading BitTorrent files

2004/01/15: Fabrice
  * Applied Savannah patches #2480, #2481 (emule), #2482 (old GUI)

2004/01/14: Fabrice
  * Applied Savannah patches:
     #2475, #2474 (bin modes), #2479 (BT), #2473 (negative time),
     #2437 (force-download typo), #2423 ("links" command), #2421 (connecttime),
     #2417 (message 21), #2415 (LSD not banned), #2414 (old GUI),
     #2413 (emule tags), #2411 (emule stats), #2473 (telnet)
  * Applied Pango's patch: common_recover_temp

2003/12/22: Fabrice
  * make_torrent: 
     * .torrent filename is specified by -torrent
     * New option "-split <filename>" that will split <filename> in smaller
         files according to a .torrent file.
  * Applied pause.patch 

2003/12/17: Fabrice
  * Applied upload_slots patch again

2003/12/16: Dek
  * mldonkey CVS moved to berlios until savannah is back again.
     see https://developer.berlios.de/cvs/?group_id=610 
     for server-details, web-CVS etc.
  
2003/12/16: Fabrice
  * Applied patches from spiralvoice page: prevent_interface_close, xmule,
     emule_tags, upload_cnum, suxx_wap, mld_cb10, remove_challenge,
     upload_slots, html_gnutella2, amule
     
2003/12/15: Fabrice
  * Modified "forget" command
  * Bittorrent: crash when commiting directories fixed

2003/12/09: Fabrice
  * Opennap: removed redondant client_port option
  * Gnutella2: removed options with same values as for Gnutella

2003/12/08: Fabrice
  * New option 'allow_local_network' to allow connections on the local
     network for debugging purpose.
  * Bittorrent:
      * If 'tracker_port' is not nul, a WEB server is started inside mldonkey
         that is used as a tracker, with url:
                 http://YOUR-IP:<tracker_port>/tracker
      * New option 'shared_torrent_files', a list of pairs:
          torrent_files = [
               ("/test_bt.torrent", "../../one_torrent_file.torrent");
          ]
        where the first string in the pair is the relative url on the 
        tracker web-server http://YOUR-IP:<tracker_port>/test_bt.torrent
        and the second is the filename .torrent on the disk to be served.
      * New option 'tracked_files': a list of the filenames of the .torrent
          files that should be tracked.
      * New option 'shared_files': a list of pairs (path to .torrent file, 
          path to corresponding shared file).

2003/12/06: Fabrice
  * New option file_started_cmd (by default "mlprogress") used when a
     new download is started to display a progress popup. Set to "" to
     disable.
  * Improved progress popup.

2003/12/06: Fabrice
  * Added 'mlprogress <num>' program that popup a window to display the
     download of file <num> (thx to b8_zoggy). Not tested yet.

2003/12/06: Fabrice
  * Applied Spiralvoice patches ban.clients, win.patch, patch_pack2c
  * Added option 'allow_any_command' to use ! instead of !! for 
     arbitrary commands (false by default for security reasons)
  
2003/12/05: Fabrice
  * Merged devel/ and stable/ branches for Gnutella2

2003/12/04: Fabrice
  * Added module CommonBitzi (merge with devel version)

2003/12/03: Fabrice
  * Updated ed2k_hash to compute Sig2dat and Bitprints. For Mac users, you can
     check whether bitprints with tiger-trees are correctly computed:
       ./ed2k_hash.byte -hash bp COPYING 
     gives:
      urn:bitprint:QI3PHA4WVH75CAL72NCNTXZE3SNHU6K3.5URJJG7REVGICNBK5UQBPFGIEO234ZJ3MX2T54I
      Partial   0 : 5URJJG7REVGICNBK5UQBPFGIEO234ZJ3MX2T54I

2003/12/02: Fabrice
  * Applied patch #2399 (anti-thieves v2)
  * Splitted Gnutella and Gnutella2 plugins

2003/12/02: Fabrice
  * gui_messages.ini.dutch added
  * Suppressed UDP frames sent by a firewalled client, causing it to be
      black-listed.

2003/12/01: Fabrice
  * Applied patch #2390
  * Added Autoconf.windows boolean
  * New tool 'make_torrent' generated by 'make make_torrent', that can be
      used to generate, print, verify and modify .torrent files.

2003/11/29: Fabrice
  * Applied patch #2382 (mingw), #2380 (anti-thieves),
     #2384 (gui), #2386 (gui)
  * Removed client addr as string in GUI protocol 20

2003/11/29: Fabrice
  * Unix32: create_ro = create_rw
  * New module BTTracker, to implement a tracker for BitTorrent.
      Command "compute_torrent <filename>" in console to generate
      the torrent file associated with filename. Not working yet.

2003/11/29: Fabrice
  * Removed patch #1261 
  * Applied patch #2243 (bind sockets), #2377 (mlnet.static),
      #2378 (ocaml url)
  * Fixed compilation problem in oldgui
  * ED2K: send compressed ShareReq message to zlib-enabled servers.

2003/11/29: Fabrice
  * Unix32: fixed a bug preventing the creation of a correct directory in BT

2003/11/28: Fabrice
  * Unix32: some bug fixes which may have caused bad Sha1 computation in BT at 
      inner file borders.

2003/11/28: Fabrice
  * Applied GUI patches #2372 (renamefile), #2373 (newgui), 
       #2374 (configwin), #2375 (im), #2376 (configure)
  * Applied HTML patches #2151, #2264


2003/11/27: Fabrice
  * Removed patch #2341 (for fun :) )
  * Applied patch #2139 (html mod), #2371 (telnet)
  * Compressed connections to servers work, multiple replies to a search
      in one UDP packet works too.

2003/11/27: Fabrice
  * Unix32: and yet another bug fixed in MultiFile: no more 
      Invalid_argument("Unix.write") error

2003/11/27: Fabrice
   * Applied patches #2341 (BT), #2354 (BT with MultiFile), 
       #2339 (improved telnet), #2311 (Overnet [EXPERIMENTAL])
    BUT: is there a bug on Savannah, or is it my browser that incorrectly
     download patches with &quot;, &gt;, etc... inside ?
  * Fixed ed2k_hash compile error
  * Hardcoded emule protocol version set to 0x30, connect to Razorblack
  * Unix32: another bug fixed causing "really_write 0 BYTES" errors.

2003/11/27: Fabrice
   * Bug with Unix32.read fixed (no flush).
   * New file type MultiFile in Unix32, created with create_multifile, to
       be used by BT. 

2003/11/24: Fabrice
   * New UDP protocol implemented:
	* Understand servers flags in UDP pongs
	* Query for and understand multiple replies in one packet
	* Query sources for multiple files, and understand multiple files sources 
	     in one packet
   * server_last_message updated correctly.

2003/11/24: Fabrice
   * Suppressed option client_server_md4 (to correcly connect to all servers)
   * Copy Emule behavior for client-client connection
   * Send ET_COMPATIBLE flag in EmuleClientInfo with number 10
   * Send EmuleClientInfo as soon as Emule client is identified
   * Set verbose = "unk" to save unknown packets in /tmp/ directory
	
2003/11/21: Fabrice
   * Applied patches: #2097, #2099, #2110 (mingw), 
       #2111, #2193 (telnet), #2248, #2255 (XSS bug), 
       #2268 (server zlib), #2269 (opennap napigator)

2003/11/21: Fabrice
   * Applied patches on BT: #2135, #2158, #2247, #2254, #2256
   * Applied patch #2299 (files > 2 GB), #2263 (don't ban uploaders),
       #2202 (gnutella2 DDOS)
   * Gnutella/gnutella2 plugin compiled again

2003/11/20: Fabrice
   * Modified to compile with ocaml-3.07
   * Started merging -devel and -stable versions
      * Gnutella and Gnutella2 plugins disabled
      * Should fix GUI protocol problems with G2GUI

2003/11/17: Fabrice
   * Applied patches
      - GUI: #2080-#2087
        + By default, the new gui is built. To build the former one, run
            ./configure -disable-newgui
        + When switching from one gui to another one, the .mldonkey_gui* files
            may be incorrect, so you are advised to save them or delete them
            before switching.
      - #2067 ("nu" for bittorrent), 
        #2070 (new option "all_sources_on_telnet"),
        #2094 (sort files by priority for each downloader)
   * Some modifications for soulseek:
      * Retry connect only after 300 seconds.
      * Don't retry connect after INVALIDPASS unless login or password is
          changed

2003/10/12: Simon (release-2-5-4)
   * Applied patches #2033 (hide-dirs), #2038 (ocaml-3.07), 
      #2039 (mlsubmit.reg), #2041 (hide-psswd)

2003/10/10: Simon
   * Removed patch #1765
	
2003/10/09: Simon
   * Applied patches #1608 (anti-thieves), #1669 (anti-spam), 
	#1692 (min-users-per-server), #1695 (html-mods),
	#1710 (regexp in voo), #1711 (sorted voo), 
	#1714 (gui priority bug fix), #1715 (fasttrack),
	#1732 (mldonkey_submit), #1733 (viewfiles 6 hours),
	#1734 (browse-friends), #1743 (bittorrent compliance),
	#1748 (emule-bugfix), #1753 (max-conn-servers),
	#1765 (limit-reqs DANGER), #1801 (http-proxy),
	#1843 (message-file), #1862 (download-amount),
	#2024 (filenames), #2025 (friends-slots),
	suxx-lugdunum-fix-v2
	
	DELAYED: #1911 (hidden-chunks)

	
2003/06/07: Simon (release-2-5-3)
   * Applied patches #1582, #1594, #1598

2003/06/06: 
  - CVS Modifications: Branches:
    * new branch release-2-5-devel for development version
    * default branch is STABLE now
    * branch release-2-5-1-patches is obsolete and should not be used anymore
         The last tag in this branch release-2-5-3 is still the most STABLE
         version here.

2003/06/05: Simon  (release-2-5-3)(branch: release-2-5-1-patches)
  - Fixed ENORMOUS bug in donkey that could cause corruption on other clients
     All the md4s will be recomputed for all shared files at next startup.

2003/05/28: Simon (release-2-5-2)
  *
  *   Completely unstable. For development only. This version may corrupt
  *   all your downloads, destroy your config files, and so on...
  *
  - Common:
      * CommonHosts: use the same system to manage hosts in Gnutella and
          Fasttrack (later in eDonkey and Overnet ?)
      * CommonUploads: save all UIDs (Sha1...) in shared_files.ini
      * CommonDownloads: 
         * A file can be downloaded together from FT, Gnutella and BitTorrent
	     Downloads are displayed as on the "MultiNet" network.
         * The 'add_uid' command can be used to extend the knowledge on a file
             so that it can be downloaded from other networks.
  - Gnutella:
      * Discard results without UIDs
  - New plugin 'donkey_devel' not working yet, enabled with option
	-enable-open_donkey, replace the other one, and should be able
	in the future to share downloads with other networks.
	
2003/06/02: Simon  (release-2-5-1)
  - BitTorrent: bug fix when reconnecting to tracker (remove empty event field)
  - DriverMain: remove use of "cp" command
  - Applied patches #1530, #1531, #1543, #1548 and #1563
	
2003/05/27: Simon
  - Applied patches #1530, #1531

2003/05/26: Simon
  - Fixed 'install' target of Makefile

2003/05/26: Fabrice  (release-2-5)
  Stable release 2.5

2003/05/26: Simon  (release-2-5-rc3)
  - Fasttrack:
      * Reduce client_name to 32 characters
      * Stop computing useless SHA1 hashes (inherited from Gnutella copy/paste)

2003/05/26: Simon  (release-2-5-rc2)
  - GUI:
      * Plugins sorted in config panel
  - Fixed bug adding one file several times in 'old_files'

2003/05/25: Simon  (release-2-5-rc1)
  - Applied patch #1523, #1527
  - Fasttrack:
      * Limitation on the number of simultaneous sources for a file
  - Fixed major file corruption bug when using 'buffer_writes' in bittorrent,
      fasttrack and gnutella.

2003/05/24: Simon  (release-2-4-6)
  - Mac OS X:
      * Fixed a compilation problem
  - GUI:
      * Fixed the problem with servers appearing as New Hosts
  - Plugins initialized in the correct order (no downloads restarted at 0%)

2003/05/23: Simon  (release-2-4-5)
  - Fasttrack:
      * Ask for a range only after the connection has succeeded
      * Support for Complex queries
      * Works on PPC now
  - Bittorrent:
      * Force flush with "buffer_writes" option before Sha1 computation
  - Applied patches #1512, #1513

2003/05/21: Simon
  - Applied patch #1510
  - "set enable_... true/false" should now immediatly trigger the network 
      (before that, a restart was necessary)

2003/05/20: Simon (release-2-4-4)
  - Bug fix: the bug causing too many open file descriptors and pausing
      recovered files maybe fixed.
  - Gnutella:
     * Fixed problem with \r in GWebCache
  - Fasttrack:
     * sig2dat:// links added
     * Automatically replace spaces in client name by _
  - Searches can be limited to particular network (bug fix in GUI)

2003/05/19: Simon (release-2-4-3)
  - Applied patch #1503
  - Fasttrack: working good now :)
     * Use HTTP/1.0 (really necessary ? probably not)
     * Recover sources for files
     * Reconnect to good sources immediatly
     * Ask longer ranges
  - Gnutella2:
     * Added number of leaves per ultrapeer

2003/05/18: Simon (release-2-4-2)
  - Applied patches #1476, #1477, #1479 and #1481
  - FastTrack:
     * Can look for new sources
  - Added mldonkey/tools/pandora/ to help understand protocols

2003/05/14: Simon (release-2-4-1)
  - FastTrack: first try, far from complete, only for x86 !!!
     * Copy of gnutella/ plugin architecture to fasttrack/
     * Cipher C stubs available from Ocaml
     * Connection to main server: OK
     * Connections to ultrapeers: OK
     * Simple Searches sent: OK
     * Results received: OK
     * Downloads: OK, no recover yet
  - Config: copy old downloads.ini to downloads_expert.ini and
      donkey.ini if the latter ones are absent
 
2003/05/10: Simon (release-2.4-0)
  - BitTorrent:
     * Fixed a bug making mldonkey use 100% of CPU when misbehaving clients
        send thousands of Have messages
     * New option 'delete_original' to get rid of the old file when splitting
        is successful
  - Gnutella2: 
     * Enabled by default when Gnutella is enabled
     * XML tags correctly added to results
  - GUI:
     * Added 'New Server' button
  - Searches:
     * Added the ability to choose the network for each search
  - Options:
     * Fixed bug with options that couldn't be changed anymore in WEB interface
  - Update ed2k_mozilla/mldonkey_protocol_handler.xpi to version 1.2

2003/05/09: Simon (release-2-4-rc12)
  - ed2k_hash: computation false for multichunks files, fixed.
  - Gnutella2:
     * Reply to QKR
     * Reply to Q2 for URN requests
     * Limit downloads to 5 slots (max_available_slots option in gnutella.ini)
     * Support HTTP/1.1 upload, and /uri-res/N2R?urn:sha1: queries
  - Options: options have been splitted in different files:
     'downloads.ini' : most simple options
     'downloads_expert.ini' : options for experts
     'donkey.ini' :  simple options for edonkey
     'donkey_expert.ini' : edonkey options for experts

2003/05/08: Simon (release-2-4-rc11)
  - RPM: new Makefile rule 'rpm' to build rpms for mldonkey
  - Gnutella: 
     * Use both keyword and uid searches to recover files
     * Make a recover search at download startup (next one every hour)
     * Compiled only if Zlib is available
     * Gnutella2 support working (no upload yet... for sunday). To try,
        set enable_gnutella first to true, then set enable_gnutella2 to true
        in the gnutella plugin (and maybe enable_gnutella1 to false...)
     * Remove hosts older than 3 hours
  - Donkey:
     * Keeps pending messages to clients
  - ftruncate64 implementation rewritten
  - GUI:  
     * options panels are not options anymore
     * Protocol version 15:
       * ForgetSearch is replaced by CloseSearch which takes 2 args and 
          opcode 53

2003/05/07: Simon (release-2-4-rc10)
  - Applied patches #1459, #1460 and #1462
  - Soulseek: 
     * New option 'servers', with mail.slsk.org:2240 by default
  - GUI:
     * Only send modified options

2003/05/05: Simon (release-2-4-rc9)
  - eDonkey:
     * Added ed2k_hash to the distribution (use 'make ed2k_hash' to compile)
  - Options:
     * List parsing should be tail recursive now
  - Gnutella1/Gnutella2:
     * Better management of hosts
     * More aggressive with QKR queries
  - DNS: correctly handle names starting with numbers (bittorrent URLs for
      example)

2003/05/02: Simon
  - Gnutella2:
     * Fixed defragmentation
     * Fixed QH2_H_DN message

2003/05/01: Simon (v release-2-4-rc9)
  - Gnutella:
     * Added GGEP extensions to PONG messages
     * Added Bye-Packet support

2003/04/30: Simon (v release-2-4-rc8)
  - Applied patch #1432
  - Gnutella:
     * COBS implemented and incoming GGEP
     * Some Vendor-Messages
     * More headers understood
  - BitTorrent:
     * Better control of max_opened_connections
     * More Aggressive lifetime for connections (10 minutes without downloads)
 
2003/04/26: Simon
  - Applied patches #1427, #1428

2003/04/24: Simon
  - Applied patch #1424
  - Changes in 64bits system calls
  - Gnutella:
     * Bug fixes: HTTP return code is correctly tested

2003/04/23: Simon (v release-2-4-rc6)
  - Applied patch #1402
  - Prevent exceptions from raising from calls to lprintf
  - Fixed bug in Unix32 causing error with file descriptors
     (and maybe file corruption)
  - BitTorrent:
     * Commit directories in multiple files

2003/04/22: Simon (v release-2-4-rc5)
  - Gnutella:
     * Old host discovery system doesnot work anymore. Implemented
         GWebCache system
     * Option prefix set to GNUT
  - Updated to use ocaml-3.06+27 which should support all Mac OS X versions
  - Applied pango's patches:
       88_login_missing_in_gui, 89_better_xs_messages, 90_limit_indirects
  - Applied patch #1397 (upload priority)
  - Bittorrent:
     * Fixed problem with never finishing downloads
  - Driver:
     * Fixed problem with availability display
  - Gnutella:
     * Don't use 'Accept:' header for gnutella1 hosts, since most of them
         refuse the connection
 
2003/04/20: Simon
  - Complete reorganization of source tree
  - GUI: exit uses CTRL-q instead of CTRL-e

2003/04/19: Simon (v release-2-4-rc4)
  - Applied patch #1393, #1395
  - Gnutella2 (not yet working):
     * Encoder/Decoder tested successfully on real shareaza recorded stream
     * Some handlers

2003/04/18: Simon
  - Applied patches #1389, #1391

2003/04/17: Simon
  - Changes in Makefile:
        * Compile only mlnet and mlnet+gui
        * mldonkey_gui is renamed in mlgui
        * mldonkey_gui2 is renamed in mlgui2, and not compiled by default
        * Added target 'install' (use --prefix configure option). 
             * Create mldonkey, mlslsk,... as links to mlnet
             * Create mldonkey_gui as a link to mlgui
  - Fixed generated mlsubmit.reg
  - Donkey: 
     * last_high_id is only changed if option use_server_id is set

2003/04/16: Simon
  - Changed version number to 2.4-rc4
  - Bittorrent:
     * More aggressive reask delay of 2 minutes
     * Improve detection of end of download
  - Removed Sha1 and Tiger assertions in md4.ml, but set a flag when
      computation failed.

2003/04/15: Simon (v 2.04rc3)
  - CommonUploads: changed a bad comparison in download_engine
  - Applied patch #1385, #1387
  - Bittorrent: 
     * Fixed a bug that prevented the download from starting in some cases
     * Any client from which some bytes were downloaded obtains immediatly 
        an upload slot
     * Can send several requests at once when enough bw is available

2003/04/14: Simon (v 2.04rc2)
  - Donkey: more accurate when asking for slots

2003/04/13: Simon
  - Applied patches #1377, #1379 and #1382 
  - BitTorrent:
     * File Pause/Resume
     * More checks to detect download termination
  - Limewire plugin renamed to Gnutella

2003/04/08: Simon  (v 2.04rc1-15)
  - Applied patch #1372 (= #1373 I hope)
  - Tiger: try to prevent Bus Error bugs on Solaris by aligning the buffer
  - BitTorrent: 
      * Verify file before commiting
      * Properly cancel files
  - Unix32: flush buffers before closing files
  - Donkey: connections have now a lifetime of 20 minutes at the 
     beginning, increased when receiving important messages (upload, download).
     Connections above max_opened_connections have only 1 minute 30 to life.
     Might improve the limit on the number of connections.

2003/04/07: Simon  (v 2.04rc1-14)
  - Fixed bug with client_uid option in mlnet.
  - Applied patch #1370
  - BitTorrent: 
      * fixed problems in URLs when contacting tracker '+' -> '%20'
      * Update Downloaded chunks in interface
      * Resent chunks queries on Unchoke (correct ?)
  - Gnutella: Send urn:sha1: when available in QueryReplies

2003/04/06: Simon
  - Applied pango's patch 87_preview_from_all_interfaces
  - Remove Queries page from GUI menu
  - Applied patch #1366

2003/04/06: Simon  (v 2.04rc1-13)
  - BitTorrent: almost complete implementation, still to test
      Current Restrictions:
        * No support for multiple files in one file (open files.ini, 
          you will find the positions of the sub-files there)
        * No support for releasing files
      But upload WORKS correctly
  - Lot of code has moved, need some more testing before stable 2.04

2003/04/04: Simon
  - LimeWire Plugin:
     * GUID fixed
  - Some C warnings removed
  - Moved donkey/ upload code to common/commonUploads.ml to be used by other
      plugins
  - Fixed Tiger Tree function on BigEndian platforms

2003/04/03: Simon 
  - Fixed bugs #3079 and #3080 :)
  - New common/commonSwarming.ml module to handle swarming for all networks
      that support it.
  - LimeWire Plugin:
     * Swarming possible, not completely tested
     * More headers understood: 
       X-Gnutella-Alternate-Location, X-Gnutella-Content-URN,
         Remote-IP

2003/04/01: Simon  (v 2.04rc1-12)
  - Fixed per user Column Sorting in HTTP interface
  - Fixed bug #3003 :)
  - Fixed Filepath.path_to_string so that "" becomes [], and not [""] that
      makes mldonkey shares its own directory.
  - Implementation of Tiger trees correct for files < 1 MB
  - Lots of changes in Unix32
  - Applied patch #1340
  - Limewire Plugin: probably lots of bugs, many changes
     * Gnutella2 support started:
        * Handshakes
        * Protocol Encoding/Decoding not tested
        * UDP socket
     * Support for Magnets and HUGE
     * Different results if different UIDs, requests for files by UID
  - Applied pango's patches: 85_ip_from_highids, 86_priority_patch

2003/03/26: Simon
  - CommonHasher: implemented asynchronous hashing of files using sha1.
  - Applied patch #1324

2003/03/24: Simon (v 2.04rc1-11)
  - Fixed compilation problem of md4_c.c and md5_c.c

2003/03/23: Simon (v 2.04rc1-10)
  - Gnutella/Limewire:
    * Upload tested successfully with gtk-gnutella
    * Push message understood (danger: unlimited number of connections)
    * Added computation of sha1 digests in Md4 module, digests of shared
         files are not yet computed.
  - Bug fixes:
    * Bandwidth should be displayed correctly in WEB interface: the
       control_ bandwidth should be displayed instead of tcp_ which includes
       interfaces.
    * Filename: assert failure removed
  - Applied patch #1320

2003/03/22: Simon (v 2.04rc1-9)
  - Bug fixes:
    * log_file with -daemon option
    * pending slots should only contain connected clients
  - Applied patches:
    * pango:
       71_upload_slots_dynamic_allocation
       81_implicit_dllink_ovlink_commands
       83_hide_upload_slots_round_robin
    * Savannah: #1315, #1319

2003/03/21: Simon (v 2.04rc1-8)
  - Fixed config/Makefile.in to compile static binaries
  - Bug fix: don't close stdout when a log_file is provided

2003/03/20: Simon (v 2.04rc1-7)
  - Build libraries before building executables
  - Applied patch #1300, #1302, #1303, #1307
  - Use file_add_downloaded in all plugins: display correct download rate

2003/03/19: Simon (v 2.04rc1-6)
  - Applied patch #1297, #1298
  - New command 'rename'
  - New option 'minimal_packet_size' 
  - TcpBufferSocket: use 'minimal_packet_size' instead of 'ip_packet_size'
  - Modifications in Unix32 to abstract operations on big files. Next step:
     filesystems that don't support sparse-files (Windows)
  - 'auto_commit' is not done immediatly, but tested every minute
  - Bug fix: Paused files were caused by Printf.printf and print_newline
      with stdout closed (or terminal killed). Replaced by lprintf and
      lprint_newline.

2003/03/19: Simon
  - MinGW port:
        * Unix.write limited to 16 kB.

2003/03/19: Simon (v 2.04rc1-5)
  - MinGW port:
	* Support for non-blocking sockets
         * New file .depend.mingw for dependencies under MinGW
         * If an error appears compiling mlnet, try "make mldonkey"
  - Applied patch #1294 

2003/03/18: Simon (v 2.04rc1-4)
  - Applied patches #1271, #1272
  - New experimental options 'buffer_writes', 'buffer_writes_delay' and
       'buffer_writes_threshold' to buffer writes to decrease HD usage.
  - Applied pango's patches:
      * pango, don't forget that you should modify config/Makefile.in and
         not only Makefile.
      51_new_chunks_scheduling
      62_wait_for_id_before_publishing
      77_reliable_sources
      80_file_received_file_downloaded

2003/03/15: Simon
  - New command 'calendar_add' to add a command to the calendar
  - Remove dependency to Zlib in LimeWire/eDonkey

2003/03/14: Simon
  - Applied patch #1266
  - Fixed Challenge, so that it does not depend on Ocaml version

2003/03/13: Simon (v 2.04rc1-3)
  - Applied patch #1263, #1264
  - Fixed bug with allowed_commands option

2003/03/12: Simon (v 2.04rc1-2)
  - Applied patch #1259, #1261,
    + pango: 01_more_blocreq_checks, 08_better_default_parameters,
             60_no_emule_quota, 78_lugdunum_pings_fix, 79_auto_commit

2003/03/11: Simon (v 2.04rc1-1)
  - New changes for Emule compatibility.
  - Added option 'log_file' in downloads.ini

2003/03/10: Simon (release-2-04rc1)
  - Changes in replies to Emule AvailableSlot
  - Applied patches #1250, #1251
  - Terminal mode: recognize Window size when possible (rfc 1073)
  - Upload queue has been cleaned. Doesn't work as a fifo anymore.

2003/03/10: Release 2.03, 

  We are forced to release a new stable version a bit earlier than expected,
due to problems with old clients accessing savannah at startup.
  Compared to the 2.02 release, this new release provides:
   * Better Emule compatibility
   * New improved sources management (fewer sources, but better sources)
   * Improved interfaces: 
       * new WEB interface (use html_mods option to use the old one)
       * some colors in terminal (use term_ansi option to disable)
       * new external searches in the GUI

2003/03/10: Simon
  - Fixed 0 upload bug :)

2003/03/06: Simon
  - Debug: new commands 'debug_client <nums>' to see messages exchanged with
      those clients, and 'clear_debug' to clear the debug table.
  - New option '-daemon' and new command 'daemon' to run mldonkey in
      daemon mode.
  - New commands 'log_file <file>' and 'close_log' to log output to a file.
  - New command '! <cmd>' to execute a system command from the interface.
      The <cmd> command must have been defined in the option
      'allowed_commands' as the symbolic name for another command.
      You cannot pass arguments, only those associated with the command
      in 'allowed_commands' are used (default example: df)
  - New multi-user system:
     * Options 'password', 'http_login' and 'http_password' have been
       replaced by one option 'users', that should not be edited manually
       (to reset, remove it completely), since the passwords are encrypted
       in config files.
     * The default user is 'admin'. He should not be removed. He is the
       only one who has the right to add new users. Default password is
       "" (empty)
     * 'auth <user> <password>' is used to change the user in a 
         console/GUI session
     * 'add_user <user> <password>' is used to add a user, or change the
         password associated with it. Only 'admin' is allowed to use this
         command.
     * Searches are now displayed per user. All other views are shared 
         between users.
  - Bug fixes:
     * Bug in GUI proto 7..13, where force param of Download_query was
        sent with bad opcode.
  - Links to the WEB server of savannah have been banned: in web_infos and
      network_update_url. The redirector is temporarily used to provide this
      information.
  - Telnet interface: 
     * ANSI escape sequences: option "term_ansi", command "ansi true/false",
        to activate/disactivate colors on terminal
     * Command "term <width> <height>" for prompt on last line, until I 
        remember how to detect terminal size automatically.
  - New option 'max_concurrent_downloads', and new state Queued for files
      being downloaded. Only the 'max_concurrent_downloads' files with
      highest priority are really being downloaded, other files with
      lower priority are waiting.
  - Limewire/Gnutella:
     * Correctly send the QRT table to ultrapeers
     * Almost able to reply to searches
  - GUI:
     * Upload tab: new button "Add Shared Directory"
  - Applied patches #1247, #1228, #1235, #1242, #1248, #1232
  - Bug fixes in eDonkey:
     * 'peer_ip' is only called if reliable_sources is activated
     * A client cannot appear twice in the pending slots queue 

2003/03/05: Simon (v 2.02-29 next release: monday)
  - IMPORTANT Bug fixes (thx pango):
     * Corrupted blocks are removed
     * Re-order arguments when computing md4 with threads
       -> all your shared files hashes will be recomputed :(

2003/03/05: Simon (v 2.02-28)
  - Bug Fixes:
     * 'vr' should not raise Exception in String.sub, fix in
         result_format_of_name
  - Direct-Connect: use async DNS by threads when available
  - Applied patches #1226, #1227 from Savannah
  - Options: some memory improvements (clear unused initial options,
      avoid building intermediate data structures)

2003/03/04: Simon (v 2.02-27)
  - Bug fixes: 
     * 'log' command correctly set the size of the log (otherwise, an 
      exception is raised... and no GUI can connect for eg)

2003/03/04: Simon (v 2.02-26)
  - Applied patches #1219, #1220, #1221, #1222
  - Redirection of output to a log:
     * Only startup messages are sent to stdout
     * New argument -stdout for all messages to be sent to stdout
     * New commands: 'log' to see the last non-printed messages,
       'stdout <true|false>' to enable/disable messages to stdout again.

2003/03/03: Simon (v 2.02-25)
  - Source Management:
       * Query files every min_reask_delay even when already connected
       * Removed the 2 queues for really bad files
  - Emule compatibility: on disconnect, file queries are stored if 
     a JoinSlot message was sent, and reused if an unrequested AvailableSlot
     message is received (to be tested).
  - Duplication of similar chunks between files (the next step should be
      to only download one of these chunks) tested every 5 minutes
  - Applied patches #1203, #1204, #1210 and #1215
  - Applied patch 77_trusted_sources, activated by option 'trusted_sources'
  - New option 'max_indirect_connections' to limit the number of incoming
      connections.
  - New command 'options' to print options by section

2003/03/02: Simon (v 2.02-24)
  - New commands 'share <dir>' and 'unshare <dir>' to manipulate
      shared_directories
  - Applied pango's patch 71_upload_slots_dynamic_allocation, controlled
      by option 'dynamic_slots' (false by default)
  - Applied patch #1199
  - Bug Fixes:
       * Computation of guptime
       * Dropping all sources of files when too many sources
       * Mailer that don't accept the <..> addresses (new option
          'add_mail_brackets')
  - Added detection of similar chunks between files, not used yet
  - Applied patch #1200, with option 'filename_in_subject'
  - Source Management:
       * Changed default for min_reask_delay to 600 seconds
       * Two new queues, one for good clients (every 10 minutes), one for
           bad clients (every 6 hours)

2003/03/01: Simon (v 2.02-23)
  - Bug fixes:
    * stats should be correctly saved
    * sources above max_sources_per_file should be correctly removed
    * IMPORTANT: JoinSlot message should be sent correctly again at 
       each connection
  - Gui: added a "Scan Ports" command to autodetect core port. Be careful, it
    can trigger intrusion detection softwares ! It is partially asynchronous,
    so that the replies may appear several seconds after the function returned.
 
2003/02/28: Simon (v 2.02-22)
  - eDonkey: respect max_sources_per_file
  - Applied patch #1198, stats saved as options in 'stats.ini'
  - Added link to French forum on main WEB page

2003/02/26: Simon (v 2.02-21)
  - eDonkey: 
      * Save hashes of commited files in shared_files.ini to remove
        rehashing commited files on startup
      * Remove / after the md4 in ed2k links      
      * Full-Chunks SUPPORTED
  - Applied patch #1185
  - Applied pango's patches:
       63_revert_optimize_chunks_display
       65_fix_file_unbound_argument, 
       66_fix_ocl_parsing,
       67_can_download_from_uploaders,
       70_fix_duplicates_in_pending_slots_fifo
       74_emule_protocol_version
     Comments on patches not applied: 
      * 73: should not use Weak.t but remove the client when disconnected.
      * 58: not sure what it does exactly
      * 60: emule quotas remain until full-chunk is fixed
      * 69: no full-chunk until we and edonkey can support it
      * other ones (51, 68, 71, 72): touch the internals of the sensible
         upload/download engine. need more time to check
  - Fix: correctly cache IPs in Ip.async_ip

2003/02/25: Simon (v 2.02-20)
  - Applied patch #1174, #1177, #1178
  - With threads, asynchronous DNS resolution of urls
  - GUI: ed2k links directly saved to selection, but doesnot work yet
  - eDonkey: 
     * Try to work around the incoming Emule connections sending
        an immediate AvailableSlot
     * Inverted 2 shared/commit lines in CommonComplexOptions.file_commit to
        prevent rehashing of downloaded files
  - ./configure: Improved pthread support

2003/02/25: Simon (v 2.02-19)
  - Fixed Makefile for pthread library

2003/02/24: Simon (v 2.02-18)
  - eDonkey: 
     * Fixes: good sources dropped
  - Limewire:
     * Implementation of Query Routing 0.1
  - Applied patches #1169, #1173
  - ./configure: use option -enable-pthread-lib=pthread, or whatever, to enable
       use of threads

2003/02/22: Simon (v 2.02-17)
  - GUI: new application mldonkey_installer'. Guess its goal. Need
      -enable-devel in ./configure . Not working yet.
  - Applied patch #1165, #1164, #1161

2003/02/21: Simon
  - eDonkey: 
     * Removed slot reserved for mldonkey2
     * Added some UDP messages for Emule (not yet used)
  - Applied patch toggle_browse_share by Martin
  - Applied patch #1151, #1152 and #1156
     pango's ones: 
        59_fix_gui2_compile_warning
        61_remove_zone_present_field,
        62_telnet_use_interface_buffer
        63_optimize_html_mods_chunks
        64_html_mods_upstats_links
  - Fix: 'uploaders' command only prints connected clients.
  - ./configure: new option -enable-pthread, if you want to compute some
      md4s in another thread. 

2003/02/20: Simon (v 2.02-16) tag unstable-2-02-16
  - Applied patch #1137: new html_mods
  - Added some options in 'vo':
       client_name,allowed_ips,client_ip, force_client_ip
  - ./configure:
       * If no native code compiler is available, compile in bytecode (HPPA)
       * New option -disable-gui
  - Protocols: 
       * Overnet: Fixed message 27, removed message 33
       * eDonkey: added message 92
       * Try to print the IP:port for unknown packets
  - Net: mtu changed to 1500

2003/02/19: Simon (v 2.02-15)
  - Applied patch #1136: better mail output
  - Applied patch adding "rem" command
  - Applied patch #1128: Adding chunk_width edit option
  - Applied patch #890: FakeCheck link
  - Donkey:
     * Try to recover direct address from connecting client
     * Try to ask good connecting clients to reconnect (either by tcp or udp)

2003/02/19: Simon (v 2.02-14)
  - Bug fix: vd <num> (patch #1135)

2003/02/18: Simon (v 2.02-13)
  - Upgraded to lattest html_mods
  - GUI: 
       * You can now pass the full path to a file filled with urls (ed2k://) in 
         the ed2k:// entry

2003/02/18: Simon (v 2.02-12)
  - fixed bug exiting on set_request_result not found.

2003/02/18: Simon  (release unstable-2-02-11)
  - DonkeyServers: fixed a bug with socket Lifetimes
  - Fixed bugs in gpattern and vm commands

2003/02/17: Simon (release unstable-2-02-10)
  - DonkeySources3: new source management (use 'sources' command for info)
      * Increased default max_clients_per_second to 30
      * Removed ban on rank > 500
  - Applied last html_mods patch. Does not work well on my Mozilla version.
     So, disabled by default (activate with html_mods = true). WEB Messages
     have been changed, so that foreign translations are not ok anymore.
  - DonkeyServers: query more files before deconnection from clients.

2003/02/15: Simon
  - GUI:
      * Added small icons (used by default)
  - Core:
      * better chroot support
         * set shell variable MLDONKEY_CHROOT=/dir if you want mldonkey to
            chroot itself in /dir. mldonkey must be started as root (or setuid)
            and should drop its priviledges using run_as_user/run_as_useruid.
         * added option 'run_as_useruid'. The directory where mldonkey
            will save its files must be writtable by this user, and
            the incoming directory too (recall: options can be set on the
            command line: #root> /usr/local/bin/mldonkey -run_as_useruid 502).

2003/02/09: Simon
  - GUI:
      * New query tabs: "ShareReactor Search" and "Jigle Search"
      * More options in "FreeDB Search" tab
  - Ip: DNS queries are now always cached.

2003/02/07: Simon
  - Applied patch #1079 (fragmentation)
  - DonkeyOvernet:
      * Keyword store completely rewritten
      * Remove keywords older than 1 hour 

2003/02/06: Simon
  - GUI:
      * New query tab "IMDB Search"

2003/02/05: Simon
  - Applied html_mods patch 2 from Mike Jones
  - GUI:
      * New query tab "FreeDB Search"

2003/02/04: Simon
  - Ported to Ocaml CVS version: 3.06+21 is required on Mac OS X. Downloads
      are done from Savannah for 3.06 and 3.06+21
  - GUI: 
      * New message CleanTables sent every 30 minutes to the GUI to clean
          source tables.
  - DonkeyProto: closer to Overnet 0.44, still some information missing
      A client browse trace is available in DonkeyProtoClient.ml

2003/02/03: Simon
  - WEB interface: applied patch html_mods
  - Applied patch 1053 (separated blocks in GUI)
  - GUI: 
    * moved column popup on right button

2003/02/01: Simon
  - GUI: display rank when possible

2003/01/30: Simon (tag unstable-2-02-9, and good week-end)
  - Net: attempt to take into account TCP/IP packets size in bandwidth control.
      Seems to work better
  - GUI: 
       * Change file priority in GUI
       * New option 'downloads_up' to permute downloads/downloaded
       * Click on column titles to sort/add/remove them
  - Donkey: 
       * Ask files from server in decreasing priorities order
       * Should be able to import Emule .part.met files
  - Mailer: patch from <moumar@netcourrier.com> applied

2003/01/30: Zoggy
  - Changed The License of okey, configwin, mp3tag and mlchat to GPL
  - one tab per list in the column configuration tab (gui/settings)

2003/01/28: Simon 
  - GUI: 
       * new protocol 12
       * New state "Queued out" for sources
       * New state "Aborted <reason>" for files
       * Some items copied from the "downloaded" contextual menu to the
           "Downloading" contextual menu
  - Donkey:
       * Sources Management a la 2-02-5 updated (next time, choose your
           source management depending on an option ?)
  - Overnet:
       * New option "enable_overnet" (true by default), accessible from
          GUI Settings

2003/01/26: Simon (tag unstable-2-02-8) 
  - Added bundle binaries (core + gui with communication via FIFO) to
      ease use of alternative networks (mldc+gui, mlslsk+gui, etc).
  - Donkey:
       * FIX: connections to Overnet
       * Updated 'cs' command
       * FIX: seens in stats replaced by successful connections
  - Console:
       * 'mem_stats' prints a bit more info (not yet enough)

2003/01/25: Simon
  - Direct-Connect:
       * FIX: Active searches don't work, go back to passive

2003/01/25: Simon (tag unstable-2-02-7) 
  - Direct-Connect:
       * Better management of users in servers/rooms
       * Servers headers displayed in GUI console
       * Active Searches enabled if not "firewalled"
           (don't forget to set the 'firewalled' option if needed, or
           to set 'force_client_ip' since IP detection does not work
          as in edonkey) 
  - GUI:
       * Queries moved to server tab
       * FIX: rooms work correctly
       * Console:
          - limited to 500 lines
          - FIX: Font "fixed" is not required anymore 
          - Combo/history of commands
  - Donkey:
       * New option 'log_clients_on_console' to log client disconnections
          on GUI console
  - Emule Support:
       * Propagate max 20 direct sources, not older than 10 minutes, verified.

2003/01/24: Simon
  - Emule Support: 
       * Compressed packets are accepted (not yet requested)
       * Second Sources packet format accepted
  - Direct-Connect:
       * Respect the timeout between searches
       * Take file state into account
  - FIX: 
       * don't touch client_ip if not changed
       * correctly remove "Bad clients"
  - DonkeySources1: 
       * remove sources not connected since
                max_source_age * 12 h (half-days instead of days). 
       * correctly save source_age
       * take priority and popularity into account for score

2003/01/23: Simon
  - FIX:
       * Opennap plugin should compile again
       * Last chunk always downloaded first
  - Patch applied: new_client_stats (cs command)
  - DonkeySources:
       * Improved 'sources' command stats
       * Scores of sources are saved
       * File state is taken into account for the score
       * Sources with rank > 300 are not kept in good clients
  - Direct-Connect: no leeching anymore !
       * mldc replies correctly to passive searches (ie on the same hub)
       
2003/01/22: Simon (tag unstable-2-02-6)
  * Mainly a bug-fix release for 2-02-5. Lots of features still missing
     (sources' scores are not saved, lastreqs,cancelled files sources not
      immediatly removed,...)

  - Fix: problem with downloads never starting
  - Fix: problem with partial chunks not saved
  - Added www.mldonkey.org in the HTTP interface
  - Better information on request results for each client
  - New option 'verbosity' to choose which warnings to display. 

2003/01/19: Simon
  - Replaced date using floats by ints (lots of new bugs...)
      Please, signal any incompatibility with guis (mldonkeywatch...)

2003/01/17: Simon
  - Started implementing new source management system

2003/01/16: Simon
  - Global change to use int64 instead of int32 everywhere. I hope I didnot
      forget places, otherwise big bugs.

2003/01/16: Fabrice
  - Added doc/overnet.txt

2003/01/15: Simon
  - DonkeySources1: 
    * Old sources are stored in two queues to always start by the best ones
    * FIX: Connected sources are also saved
    * FIX: Connected sources are also printed

2003/01/14: Simon
  - DonkeyInteractive: FIX: "out-of-bound" error
  - DriverControlers: shorter help
  - DonkeyProtoClient: 
      * FIX: for cDonkey, send both QueryChunksReq and QueryFileReq
  - DonkeyOneFile: fixed non-shared partial downloads at startup
  - Options: values can be aliases to reduce space usage (
     used in file_sources.ini)
  - DonkeySources1: 
      * FIX: sources are sorted to avoid recently-connected sources in 
     front of the queue.
      * clients ranking > 1000 put in concurrent_sources, not good sources
  - DonkeyClient: 
      * connection lifetime of connection set to 1 minute, and prolounged
            if either peer uploads or downloads
      * FIX: challenge is also send for incomning connection
      * ban clients with queue ranking > 1000 and send them a message
      * send a bad QueueRanking  to banned clients asking to enter
          the queue.
  - CommonOption: save_options_delay default set to 15 minutes
  - config/Makefile.in: IRC compiled by default

2003/01/13: Simon (tag unstable-2-02-5)
  - DonkeyClients: add md4s of connected clients to a hashtbl to prevent
      accepting two connections from the same client.
  - DonkeySources1: 
     * new sources are queued LIFO.
     * old sources are immediatly stored in old_sources.
     * fixed adding several times the same file to one source
  - DonkeyOptions: md4 now identifies mldonkey as emule.
  - Gui_downloads: expose events redraw the color bar 
  - DonkeyServers: black-list servers on port 4662

2003/01/12: Simon
  - DonkeyGlobals: remove 1 from size to compute nchunks in new_file
  - DonkeyTypes: removed field file_all_chunks, recomputed
  - DonkeyComplexOptions: save mtime and chunk states. mldonkey should not
      compute the md4 at each startup anymore.

2003/01/11: Simon
  - Source Management: ask for new sources only if we have fewer than
      600 * max_clients_per_second new/good sources.
  - IRC: completely working ?
      * Connect to server and login
      * General channels (right-menu on IRC account) such as '#mldonkey' :)
      * In channels: receive messages, receive users, send messages, close chat
      * Private channels with users (double-click on user)

2003/01/10: Simon (tag unstable-2-02-4)
  - Gui: display chunks availability when selecting a source
  - DonkeyComplexOptions: saved some space in file_sources.ini
  - DonkeyClient: 
     * JoinQueue are not forgotten when the queue is full.
  - DonkeyGlobals: Use Weak Hashtbl for udp_clients. Should save memory.
  - New command 'sources' to print the state of the different source queues.
  - DonkeySources2: Always use the same client_num for the same source
      (to avoid flooding the GUI with new clients)
  - Pango's patches: 39_readable_server_banners, 40_boot_time_is_redundant, 
     43_waiting_queries_late_filtering, 46_overnet_fix_errormsg, 
     50_tight_file_commit, 52_self_create_mldonkey_gui_ini ,
     53_dont_propagate_overnet_sources, 55_overnet_send_appropriate_infos
     57_optional_servers_walking

2003/01/10: Simon (tag unstable-2-02-3)
  - DonkeySources2: fixes from 2003/01/08 had been reverted by CVS. 
      Sources were dropped under heavy usage

2003/01/09: Simon (tag unstable-2-02-2)
  - DonkeyClient/DonkeyProtoClient: complete implementation of Emule 
      client-to-client source propagation.
  - DonkeyClient: limitation of file groups to 1000 files
      (should save memory)
  - DonkeyGlobals: removed the mldonkey letters in md4
  - Makefile: 'mlim' is compiled only if mldonkey_gui is compiled
  - DonkeyOptions: removed options are back in downloads.ini  

2003/01/08: Simon (tag unstable-2-02-1)
  - Fixed some bugs in new sources management. Seems to works pretty well.
  - For fun: new mldonkey authentification, just to see how long it will take
     to emule devels to break it :)

2003/01/07: Simon
  - ./configure:
     * called automatically by make when needed
     * -enable-im has been removed
     * -enable-devel has been added for development things
  - IM: 
     * Friends, accounts and rooms are packed inside a notebook
     * IRC connects and join channels, but the channel widget is not done
     * The IM widget is available from mldonkey_gui IM menu
     * 'mlim' is mldonkey IM-specific program
  - Donkey:
     * New source management seems to work, not complete yet
     * Upload: fill client buffers depending on the upload rate

2003/01/02: Simon
  - Makefile: simplification and regeneration from config/Makefile.in

2002/12/29: Simon
  - Gui: fixed the display of the number of shared files

2002/12/28: Simon
  - DonkeyServers: 
    * New option 'keep_best_server' (default true) to automatically change
       the server mldonkey remains connected when it finds a better server
    * walker: does not reconnect if already connected to more than
       the maximal number of servers (option 'max_walker_servers' (default 1)).

2002/12/27: Simon
  - Opennap: send shared files to server after connection.

2002/12/26: Simon
  - Options: 
    * new options file 'edonkey.ini' for options specific to eDonkey/Overnet
    * eDonkey specific options moved from 'downloads.ini' to 'edonkey.ini'
  - Direct-Connect: upload works correctly. Need more tests. Maybe add
     different mailing-lists for (mldonkey-dc@, mldonkey-nap@,...)

2002/12/25: Simon
  - New argument -find_port, to search other ports when the ones specified are
      already used. The options are modified accordingly.
  - Option 'allowed_ips': changed are immediatly taken into account for
      the HTTP interface.
  - Major Bug: fixed bug of 100% CPU usage when timeout < 0.0001 and poll used.
  - Direct-Connect: upload of shared list works
  - Makefile: different executables for each network. 
     'mldonkey' -> eDonkey2000 + Overnet
     'mldc' -> Direct-Connect
     'mlgnut' -> Gnutella
     'mlslsk' -> SoulSeek
     'mlnap' -> Open Napster
    and 'mlnet' for all networks

2002/12/24: Simon
  - Test for existence of the GUI before asking or trying to start it

2002/12/23: Simon (tag release-2-02)
  MAJOR BUG FIX:
  - DonkeyClient: fixed a bug preventing download from indirect clients.

2002/12/21: Simon (tag release-2-01-4) 
  - DonkeyOvernet: updated TCP protocol to overnet 0.42
  - Bug fixes:
   * DonkeyOneFile: removed a bug disconnecting from time to time an uploader.
   * DonkeyClient: 
     * verify that clients have received a slot before uploading
     * remove client from upload queue when reconnecting

2002/12/20: Simon
  - Applied patch #812 (KDE Icon set). The old icons can still be used by
     changing the Makefile line : ICONS_CHOICE=big
  - Applied patch #852 (wildcards in black-list)
  - Applied patch #855: correctly sort servers before remove_old_servers
  - Removed some options for Overnet: publish and search for sources
      is now automatic
  - DonkeyOptions: new options:
     ban_queue_jumper (true): if you want to ban clients reasking files too fast
     ban_period (6): how long are they banned
     send_warning_messages (false): send a message when a client is banned
     max_emule_slots (33): percent of upload slots that emule clients can use
       (cannot be set under 25%)


2002/12/19: Simon
  - DonkeyClient: quota limitations:
     * Emule clients can not get more than 1/3 of the upload slots
     * at least one mldonkey client can always enter the queue
  - DonkeyClient: banning mechanism for clients that connect too often
     (don't prevent downloading from them)
  - Gui: 
     * Remove duplicates at end of list

2002/12/18: Simon
  - Multi-column sort should work again.
  - Reverted again the query for all files to a query for one file.

2002/12/18: Simon (tag release-2-01-3)
  - Removed the Credit System. The world is already unfair enough, no need
      to bring a monetary system here. Moreover, it prevents correct downloads
      from other mldonkey clients !
  - Overnet: Applied Norbert Lataille's patch 3.0

2002/12/18: Simon (tag release-2-01-2)
  - MinGW port: should compile and seems to run. Not yet tested enough.
  - DonkeyServers: 
    * Better way to choose the master servers: if a new
      server has 5 times more users or at least 1000 more users than a master
      server, it replaces the master server.
    * Don't remove old servers if we are connected to them !

2002/12/17: Simon
  - Prevent downloading the entire file list at every connection to a friend
  - Added Ip.reachable to remove local network addresses
  - Started port to native Windows via MinGW

2002/12/16: Simon
  - Applied Martin's patch on WEB Realm
  - Added option 'run_as_user' that can be used to change (setuid) the
      priviledges of mldonkey after ports binding.
  - Started implementing upload in Direct-Connect
  - New command 'friends' to print a list of all friends

2002/12/15: Simon
  - Applied Norbert Lataille's patch 2.5 on Overnet publish
  - Applied Andre Hinrichs's patch for better help
  - Applied Pango's patches (20021213b):
     05_save_client_last_filereqs: applied
     07_keep_user_filenames: applied
     20_vd_sharp_urls: applied
     21_queue_new_sources
     24_unbroke_random_order: applied
     25_bolder_remove_old_sources
     29_mrvn_eta: applied
     32_xou_web_interface: applied
     34_suxxx_display_chunks_in_telnet: applied
     35_fix_console: applied

2002/12/12: Simon
  - Rewritten remove_old_servers, scheduled every 15 min
     * CommonComplexOptions.servers is an intmap, not a list anymore
     * Delays are printed
     * Black-listed servers are removed immediatly
     * Last Connection is extracted immediatly

2002/12/09: Simon (tag release-2-01)
  - Fabrice should compile and release binaries for 2.01
  - Fixed problem with stats
  - Overnet: added an option for publish (false by default since still in dev)
  - IM: Only Yahoo works
  - A message is sent to old clients only randomly. 

2002/12/08: Simon
  - Applied Overnet publish patch from Norbert LATAILLE
  - The Overnet patch is too aggressive (about 5 kB/s). It really needs to
     be tune.

2002/12/07: Simon
  - Fixed bug in "nu" command (thanks Rudolf Polzer)
  - "reshare" now add new files to upload.

2002/12/06: Simon
  - Applying Pango's patch: 
       01_display_server_banners: banners already appear in GUI console
       02_force_high_id: applied
       03_overnet_boot_dns_resolution: already done
       05_network_signature_change: applied
       06_wrong_lowid_display: already done
       07_keep_user_filenames: applied
       08_better_default_parameters: partially applied
       09_md4_speedup.patch: already done
       10_port_blacklist: applied
       11_max_connected_servers_offbyone: already done
       12_files_md4_corruption: already done
       13_revert_iptos: applied, but why in and out ?
       14_get_chunks_in_random_order: applied, but with an option to disable it
       15_fix_ovweb_default_site: applied, but an option would be better
       16_sources_per_chunk: applied
       18_remove_cancelled_downloads: applied
       20_vd_sharp_urls: applied
       24_check_for_x: applied
       22_connect_on_server_urls: applied
       26_old_file_on_cancel: applied, but option, disabled by default
       23_uploaders_command: applied
       27_selective_hide_files: applied

   NOT APPLIED, need some discussion:
       17_hide_chunks_being_uploaded: 
       21_fifo_new_sources:
       25_bolder_remove_old_sources:

2002/12/04: Simon
  - Gpattern: fixed bugs introduced by mldonkey :)
  - Gui_servers, Gui_friends: server users list and file sources list are only
      update 1/10 second after selection to avoid flickering.

2002/12/02: Simon
  - Moved some code in the GUI driver to avoid sending many messages when
      GUI use the POLL extension.

2002/12/01: Simon
  - Applets: new directory applets/, containing 3 sub-directories:
     * api: a common C api used by applets to chat with mldonkey on its GUI port
     * kde: a KDE panel applet
     * gnome: a GNOME panel applet
    A lot to be done. I know a bit GTK, not QT ...
    The Client_stats message is not yet completely filled with useful data
    by the core. 

2002/11/20: Simon
  - IM: 
      * Accounts Window, and Toplevel menu to access it
      * Contacts Window works
      * Dialog Window

2002/11/18: Simon
  - Gui_rooms: each opened room has its own users/messages widgets, to avoid
	reprinting all messages when changing of room. Maxence, could you
	look at that and explain me how to destroy a widget when room is
	closed
  - CommonInteractive: raise Not_found when the option doesnot exists
	(no more "option NAME value changed" for non-existing options :)
  - Instant Messaging: Started implementing the interface for instant 
	messaging.

2002/11/17: Simon
  - CommonClient: check MD4 replies from client (inspired from patch #662)
  - DriverMain: track options_version, to be able to update the options
	when a new version of mldonkey is used.

2002/11/16: Simon
  - CommonOptions: added the redirector-generated server list to web_infos,
	and an option to change the redirector. Now, we should probably
	disable auto_update_server by default, since the relocator gives
	a nice server list. Or we should give more weight to new servers
	when trying to connect.

2002/11/15: Simon
  - DonkeyServer: added sending of UDP pings. Check that pings have been
	replied before sending extended search/locate requests.
  - DonkeyClient: changed mldonkey-specific protocol to recognize old
	clients, and send a warning.

2002/11/14: Simon
  - Fixed bug #1701 ?: read at least 1000 bytes before writing stream
	in a file from Limewire. Gnutella clients problem, or is_http_ok is
	not strict enough.
  - Fixed bug #1708 ?: rewritten get_page and wget in net/http_client.ml
	to avoid fd leak.
  - Support #101511: in the Upload panel of the GUI, the contextual menu
	offers to print ed2k links in the Console panel.
  - GuiTypes: new event Server_message_event to send server messages to
	the GUI console.
  - GuiEncoding/GuiDeconding: now, protocol versions will only change when
	the encoding of some old messages changes, not when new messages
	are added, so that new messages can be handled even if an old
	format is used for other messages (old GUIs can benefit from new
	messages)
  - DonkeyOvernet: change the URL in 'ovweb'
  - DonkeyProtoCom: sending much more information to the redirector, so that:
	- we can generate our own server list
	- we can generate an overnet peer list
	- we can gather some statistics on node bandwidth usage to decide
	    when to create supernodes.
  - Observer: now generates a 'servers.met' file every 5 minutes, which is
	sent to savannah, if I find the command :), but the dest is:
	"http://savannah.nongnu.org/download/mldonkey/network/servers.met"
	if you want to add to your web_infos.
	Servers inside are guaranteed alive in the last 5 hours (well,
	unless the redirector is down which is often true :( )

2002/11/13: Simon
  - common/commonOptions.ml: new option "network_update_url" to
	download files "motd.html" and "motd.conf" used to update some
	parameters in all clients. "motd.conf" is displayed in the
	HTML and telnet interfaces, and at startup. Why not in the GUI :) ?
	These URLs are downloaded every day, and can change the configuration
	of the client remotely. This will be used later to test different
	parameters to activate/desactivate ultrapeers behaviors.
  - donkey/donkeyServer.ml: new implementation of remove_old_servers. The
	new implementation sorts the servers, and remove all those that
	exceed their age, but guaranty to let at least "min_left_servers" in
	the list.
  - donkey/donkeySupernode.ml: started implementation of supernodes.
	Supernodes are mldonkey clients, that act as pseudo-servers:
	- they accept queries from mldonkey clients
	- they index files from all clients
  - donkey/donkeyOvernet.ml: fixed bug preventing removal of old
	connected peers.
  - config/configure.in: REQUIRED_LABLGTK=1.2.4 (please, dont force
	people to upgrade if it is not REQUIRED). Use the configure
	script to detect the version and to generate stubs for simple
	modifications (lib/gAutoconf.ml.new.in). Only upgrade for
	major reasons (ocaml release eg).

2002/11/11: Simon
  - config/configure.in: detection of lablgtk version to be able to compile
	without lablgtk-20021031 (must find mouse position, zoggy ??). 
	GToolbox.popup_menu is generated by ./configure from 
	lib/gAutoconf.ml.new.in
  - gpattern/gpattern.ml: using arrays instead of lists. filters directly 
	integrated. Forces many changes in gui/gui*.ml, but should be much
	faster.
  - gui/gui_downloads.ml: Call to remove_client removed until a new message
	is added	for that in the protocol
  - net/udpSocket.ml: implementation of SOCKS 5 support for UDP. Must 
         check that bytes are correctly ordered.

2002/11/10: Simon
  - Fabrice has to move, and his new employer does not allow him to
	program in other open-source projects (for Intellectual Property 
	problems). So he will keep administrating the project (web site, 
	forums, releases), while I'm integrated in the developper team
	as main developper... As a start, I have some bugs to fix, and
	I would like to create a parallel network over edonkey2000 using
	mldonkey supernodes.

2002/11/06: zoggy
  - changes to use lablgtk-20021031 (@#!:@* Why the fuck did you do that ? 
	you are the only developper to use it, nobody can compile now :(
	
2002/11/04: mldonkey
  - Applied patch #634 (increase buffer size for md4 comp.)
            patch #631 (max_connected_servers off by one)
            patch #630 (low id display)
            patch #632 (use DNS in "boot")

2002/10/23: Simon
  - New implementation of 'remove_old_clients'

2002/10/22: mldonkey
  - Patch #576 applied.
  - i18n: 
      * Message files changed: ~/.mldonkey_gui_messages.ini for GUI and
          ~/.mldonkey_messages.ini for core
      * Some messages customizable in core
      * web_common_header, html_header and download_html_header moved
          to ~/.mldonkey_messages.ini
      * ~/.mldonkey_messages.ini can be overwritten MLDONKEY_MESSAGES

2002/10/21: mldonkey
  - lib/options.ml: always close open files. "Too Many Open File" bug again.

2002/10/20: mldonkey
  - New default options for 'web_common_header' and 'html_header' by Xou.
  - Patches #572, #573 and #574 applied.

2002/10/16: mldonkey
  - release 2.00
  - fix: uploaded files do not appear twice in panel
  - fix: empty results are not accepted anymore (Overnet ?)
  - fix: "ovweb" accepts URLs since default site is down

2002/10/15: mldonkey
  - fix: files should not appear twice anymore in upload panel (files whose
      md4s have been computed replace [are not added anymore to] their
      corresponding temporary shared file).
  - fix: added must_write in udpSocket.ml when bandwidth controler is used
      (UDP packets were not sent anymore...)
  - fix: upload not more than the bandwidth each second

2002/10/14: mldonkey
  - add: internationalisation
      * envirronment variable MLDONKEY_GUI_MESSAGES
  - fix: rewritten upload in edonkey. Old mode can be restaured with option
     'new_upload_system' set to false

2002/10/13: mldonkey
  - add: internationalisation
      * new module lib/gettext.ml for format options
      * new GUI config file gui_messages.ini
      * new directory i18n to store gui_messages.ini.?? files for
         contributed languages

2002/10/12: mldonkey
  - fix: support for several GUIs at the same time
      * Changes in how objects updates are monitored
      * Lots of changes in DriverInterface        

2002/10/11: mldonkey
  - add: 'close_all_sockets' command to close all connection sockets.
      Added to the SIGHUP signal handler.
  - fix: SIGHUP doesn't call network_enable/disable anymore. Bug about
      automatic disabling of edonkey plugin ?
  - fix: new udp bandwidth management
  - add: starting reimplementing multi-gui

2002/10/09: mldonkey
  - add: catch SIGTERM and save the config before exiting
  - add: publication on Overnet has been implemented, but not tested yet.
  - fix: "ovstats" displays more information on current searches

2002/10/08: mldonkey
  - fix: bug in indexer2.ml that prevented complex searches in local history
      and in filters.
  - patch #556 and debian/ from #553 from Goswin von Brederlow. Some problems
      with the end of the patch #553.
      * Availability seen in % of missing chunks, and height in color bar.
      * New "last-seen" and "Age" columns in GUI
      * No segfault on division by zero when size=0
      * No queries for paused files.
      * New debian/ directory
  - GUI protocol 9
  - add: gui open a message box when password is not valid.

2002/10/07: mldonkey
  - fix: "forget_search" should work correctly now
  - fix: use Unix.LargeFile.stat instead of Unix.stat to avoid 
      exception when sharing files greater than 1.7 Go
  - add: filters. Need to enable 'filter_search' option, and to 
      change 'filter_search_delay' (results are gathered during this delay,
      and all filtered together and displayed, so results are displayed
      with this period, and no results are displayed before the delay).

2002/10/06: mldonkey
  - fix: split add_interesting_client in two different functions:
      force_fast_connect_client (connect immediatly, regardless of
       min_reask_delay) and connect_as_soon_as_possible.
  - fix bug #1291: vma does now display all servers
  - add: new command "version"
  - fix: "nu" can take negative arguments to decrease the no-upload period
  - fix: stop adding MD4 to proposed names

2002/10/05: mldonkey
  - fix: clients_lists are now stored in a 5 buckets array, one per minute.
      Strange behavior: the list is almost always full, and the number of fds
      increases dangerously. set client_timeout to 30 or smaller to
      improve that ? Must check that this timeout is changed when the client
      becomes interesting (queued for upload or download). Also set
      max_clients_per_second to more than 5...
  - fix: prefered files are not queried twice anymore, nor client repeatedly 
     queried after connection, to avoid Emule Black-list stupid mechanism.
  - fix: unknown commands should print an error now
  - add: new command "priority" that can be used to change the priority of
      a file. Such files will get priority times more bandwidth than
      normal connections.
  - fix: 
     * new command "use_poll" to switch between poll and select.
     * Fixed bug in poll making huge CPU usage
  - add: new messages for publishing files on Overnet.

2002/10/04: mldonkey
  - fix: file_best_name should be used more often
  - fix: recover_temp should use the best available name
  - fix: the number of overnet peers saved in servers.ini is now limited
      by overnet_max_known_peers

2002/10/03: mldonkey
  - add: new files for IP multicast, not used, probably never
  - add: overnet URLs in "ovlink", statistics "ovstats"
  - add: overnet new options to reduce memory usage "overnet_max_search_hits"
      and "overnet_max_waiting_peers"

2002/10/02: mldonkey
  - add: priority of files
     * read power added to TcpBufferedSocket.t for priviledged connections
     * DonkeyTypes.file_priority for priviledged files
     * DonkeyTypes.client_power for priviledged clients

2002/10/01: mldonkey
  - add: more debug output for 'dump_heap'
  - donkeyClients.ml: SourceReq clients are not immediatly added to
     clients_list

2002/09/29: mldonkey
  - fix: bug #1252: servers were added several times in Opennap/DC to each user.
  - fix: ed2k link should appear again in 'download' mail

2002/09/28: mldonkey
  - fix: sources are correctly removed from the GUI locations panel
  - fix: Makefile should correctly compile targets 'static' and 'byte'
  - fix: Add command
       MORECFLAGS="-I patches/ocaml-3.06/ -DHEAP_DUMP" make cdk/heap_c.o
      to compile with "dump_head" command.

2002/09/28: mldonkey
  - fix: incoming connections timeout are now correctly set, and
      connections should be correctly initialized.
  - fix: 
     * With select, you cannot use more than 1024 file descriptors
       (otherwise, it segfaults)
     * Added poll support, that allows to use more than 1024 fds and
        is used by default.
  - fix: better control of the number of used fds
  - add: message in GUI starter about the 'ask_for_gui' option
  - fix: faster sharing of downloaded files (probably present chunks are
     checked first)
  - fix: Ip.valid check for class D addresses
  - add: new option 'verbose_overnet'
  - fix: a file name is changed only if it was the MD4 before.
  - fix: don't query blocks for Paused files

2002/09/27: mldonkey
  - fix: upload improvements
     * names are correctly chosen, and sent to the server
     * all BUFFER_OVERFLOW due to long file lists have been removed
     * after restart, non commited files are still shared.
     * bug fixed when shared file list is too long (shortened message)
     * the size of the ShareReq message directly depends on the space
        available in the server buffer.
     * md4s for downloaded files are never recomputed after commit
  - fix: force download:
     * new contectual menu item "Force Download" in GUI result panel
     * "force_download" should now work well
  - add: core errors are displayed in the GUI console (maybe the last line
     of the console should be displayed in the status bar ?)
  - GUI protocol 7 for "force" argument to Download_query

2002/09/27: zoggy
   - add : web directory to manage source files of generated mldonkey pages
   - change : chat protocol version (-> 1.1) to be able to communicate with
	mlchat from Cameleon

2002/09/25: mldonkey
  - add: new module common/commonDownloads.ml to share the functions used
      in all network where downloads are in one piece.
  - fix: mail, chat and file_completed_cmd are used for all finished downloads
       not only eDonkey (CommonInteractive.file_complete)
  - fix: file_commit now moves the file to incoming/. All networks must now
       use the "commit" function, not only edonkey.
  - fix: try to save the md4 of each file before sharing it.

2002/09/24: mldonkey
  - fix: renewed my passport (6 hours)
  - fix: prevent "BAD BAD BAD" lines from removing good sources. Very Important
     Bug for your downloads.

2002/09/23: mldonkey
  - fix: mldonkey_gui prints a better error message when the hostname couldn't 
      be resolved.
  - fix: the configure script allows ocaml versions with +n extensions.
  - add: new program mldonkey_guistarter to start the GUI immediatly at
      mldonkey startup
    * New options 'ask_for_gui', 'start_gui', 'mldonkey_bin' and 'mldonkey_gui'
    * New option panel 'Startup'
  - fix: get_int64 works correctly (no more negative upload counters)

2002/09/22: mldonkey
  - fix: udp packets added to bandwidth computation
  - GUI:
     - add: new option panel for plugins
     - add: each plugin defines its own option for the GUI panel
     - fix: when gui_poll, don't send options values
  - Overnet: 
     * No need for servers anymore :), searches and downloads are OK
        (but no filter on search results)
  - add: lots of debug messages for bandwidth control. 
     * I should probably remove from remaining_bytes the size of the
        TCP packet header, each time the write/read is OK.
     * I should optionnally include the GUIs in the control !

2002/09/21: mldonkey
  - fix: removal of out-of-bounds accesses, not supported by Ocaml on 
        OSX Jaguar
     * added check in ./configure for MacOsX 6.0 to enable CheckBounds
     * added -inline 10 for checkbounds to be removed for other archs (5
        would be enough)
     * added Autoconf.check_string calls in littleEndian.ml and bigEndian.ml
  - add: Overnet works for simple queries and sources
     * two options disabled by default: overnet_search_keyword and
           overnet_search_sources

2002/09/20: mldonkey
  - add: OverNet should now be able to add sources to eDonkey downloads
     (it is triggered using the "overnet" command). You need peers to
     access OverNet: see the end of the distrib/servers.ini file.
  - fix: started debugging mldonkey on Mac OS X 10.2
     - fix : SIGBUS in telnet "q" command.
     - need to check all possible array/string out-of-bounds accesses.

2002/09/19: mldonkey
  - add: OverNet support started in donkey/donkeyProtoOvernet.ml and
      donkey/donkeyOvernet.ml. Can connect to OverNet peers and learn 
      more peers.
  - add: new donkey command "import_temp <dir>" to import old files
     currently downloaded by edonkey in mldonkey.
  - fix: Bug #1052 (buffer overflow warnings when MLdonkey is reading 
      my shared files)

2002/09/18: mldonkey
  - fix: Bug #420 (Wrong permission on imported files)
  - fix: Bugs #421 and #591 (vd: meta refresh use external ip)
  - fix: Bug #842 (mldonkey overwrites the modified download.ini)
  - fix: Bug #878 (Hidden files are shared)
  - fix: Bug #1053 (no warning when overwriting files)
      Note: / and \ in names are also replaced by _
       Duplicated files get a .2 , .3, etc

2002/09/16: mldonkey
  - fix: Bug #432 (same packet is send with the same data)

2002/09/15: mldonkey
  - add: GUI
      * Display the current upload/download rate in bytes.

2002/09/14: mldonkey
  - add: New options in downloads.ini:
      * [gui_options_panel] to configure the options that are configurable in
       the GUI without modifying the GUI. Fix for Bug #844
      * [debug_net] to display more information about low-level network layer
  - add: GUI
      * New protocol 5 for message [Add_section_option]
      * Boolean and filename options have special entries
      * More client options in the GUI option panel
  - fix: LimeWire
      * Correctly display file sources
      * No more Unix.write errors due to early disconnections
      * More ultra-peers agent types allowed

2002/09/11: mldonkey
  - add: CyMeS server directory

2002/09/08: mldonkey
  - fix: prevent connecting several times to the same server
  - fix: remove_old_servers should work again
  - fix: 'vo' command only display one-line options

2002/09/07: mldonkey
  - Fix: Removed mldonkey_ suffix from names.
  - Add: option 'files_queries_per_minute' and 'files_queries_initial_delay'
      in downloads.ini to meet lugdunum master and Smurk UK requests.
  - Fix: edonkey private messages should work again.

2002/09/05: mldonkey
  - fix: upload tab should work

2002/09/04: zoggy
  - add : upstats in the uploads tab
	
2002/09/04: mldonkey
  - fix: shared files are not shared between all networks anymore (each 
     network has its own shared file type).
  - add: edonkey protocol files are not hidden anymore
  - add: upload per shared file.
  - add: new upload messages in GUI protocol 4

2002/09/03: mldonkey
  - Soulseek:
      * Browse friend and simple downloads should work.

2002/08/30: zoggy
  - add : download a whole directory from a friend
  - fix : the 'goto <page>' actions, because of the new rooms and uploads tabs
  - add : an option to specify if we display sizes with G,M, and k suffixes
  - code : moved the servers, downloads and uploads status label to
    Gui_servers.pane_servers, Gui_downloads.pane_downloads and
    Gui_uploads.box_upstats so they can be updated more accurately,
    and not each time a message comes.
	
2002/08/29: zoggy
  - add :Now display the tree of files instead of just the list of files
    for the selected friend (with a new option files_auto_expand_depth)
  - add : new added chat room automatically selected
	
2002/08/29: mldonkey
  - CVS commit on Savannah:
      * Ocaml 3.06 is now used to compile.
      * donkey/donkey.lam is not distributed anymore with mldonkey.
          It should be downloaded as:
           http://pauillac.inria.fr/~lefessan/src/edonkey/donkey.lam.SOME_MD5
          and copied in the donkey/ directory.

          where SOME_MD5 is the contents of the file donkey/donkey.lam.md5

          This can be automated by the configure script.
  - GUI protocol version 4:
      * new message Room_remove_user
  - Updates to be sent to the GUI are now stored in common/commonEvent.ml
  - Only one GUI can be connected to mldonkey at any given time.
  - Soulseek: 
      * Join/Leave room works with dialog and user updates.

2002/08/23: mldonkey
  - update: ocaml 3.06 should now be used to compile mldonkey without secret/.
  - add: GUI protocol version 3 should work for poll.
  - Private messages are now received in a special (hidden) chat room,
     which is used to send messages to the GUI.
  - fix: Gui_columns has been rewritten with functors
  - fix: commonChatRoom.ml renamed in commonRoom.ml
  - add: room panel now displays both active and inactive rooms.
  - add: better SoulSeek support:
     * Searches work (no download yet :(
     * Join/Leave room works (no dialog yet)

2002/08/23: zoggy
  - add : an uploads tab (modules Gui_uploads and Gui_uploads_base)
	  only the tab for this evening, gotta go sleeeeeeep
	
2002/08/22: mldonkey
  - gui_proto.ml has been cut in guiTypes.ml (types), guiProto.ml (protocols)
     and guiEncoding.ml and guiDecoding.ml.
  - Better soulseek support

2002/08/21: zoggy
  - fix : memorize the size of the vpane in the friends tab, 
	  for the chat notebook.
	  BTW, mldonkey compiled like a breeze will ocaml 3.06 
	  without patch :-) I let mldonkey change the configure 
	  script, don't want to disturb ;-)
	
2002/08/19: zoggy
  - fix : a bug closing two chat boxes instead of one
  - add : in chat rooms, try to get the user name and give him
	  its own color to display his name in the messages
  - add : file sizes in downloads and result boxes now displayed
	  with G(iga), M(ega) or k(ilo) suffixes
  - fix : scrollbar added to the chat room boxes, and the text
	  with the messages is not editable any more. 
	  Chat rooms on direct connect work, except that kicked
	  people are not removed from the list.
	
2002/08/18: zoggy
  - add: chat integrated in the gui; pb with the Gtk Main loop:
	 the chat window receive no event; will investigate,
	 or add the chat boxes in a notebook of the friends tab ?
	 Ok, done. I had to find my way through the not really clear
	 code of the Gui_proto module. And surprise, the code
	 indent is really, really bad, making it still more difficult 
	 to understand...
	 Yet to do : change and memorize the size of the chat notebook,
	 but now i gotta go while it is not raining.
	
2002/08/16: mldonkey
  - add: New command "dd <size> <md4>" originally used by mldonkey_submit.
     mldonkey now generates a mlsubmit.reg file that can be used under Windows
     to submit ed2k urls to mldonkey (thanks to equinox), and the 
     mldonkey_submit file.
  - fix: Client files are now stored in a tree in the GUIs.
  - fix: Config/config.guess and .sub updated.

2002/08/15: mldonkey
  - fix: "set" and "vo" should work on simple options of all networks.
  - add: New option "calendar" to execute commands at different hours of day.

2002/08/14: mldonkey
  - add: The ./configure script is now able to download, compile and install
      locally (not as root) ocaml and lablgtk to be able to compile mldonkey.
  - fix: The ocaml-3.05.patch file contains the fix for the memory bug.

2002/08/12: mldonkey
  - Olivier and Manu now work on another branch for servers rings

2002/08/10: mldonkey
  - Move bigEndian.ml to littleEndian.ml to be correct :)
  - Started implementing the OpenFT plugin, using LimeWire plugin code.

2002/08/09: mldonkey
  - Client_ip is now always recomputed to avoid keeping an old IP address after
   the IP changed (unless force_client_ip is true)
  - The md4 is only used to save a file if no other name is available
  - Files of new friends are correctly displayed (the client structure in the
     friend list was not the canonized one).
  - When sighup is sent, all networks are reset (disable/enable). Can be used
     after a reset of the DSL connection.
  - Removed friends are not kept as Contact any more.

2002/08/08: mldonkey 
  - Fixed bug in mldonkey_gui2 preventing removal of downloaded files.
  - Number of downloaded files is now displayed in mldonkey_gui. I still
     don't understand why so many features of the first GUI have been
     removed from the new GUI. Moreover, the object-oriented style makes
     it hard to understand and uggly to program. PLEASE, never put objects
     in the core.

2002/08/08: zoggy
  - fix : extended search button now does not appear any more in the friends tab
  - add : the user must confirm before cancelling a download
  - fix : window and global variables cleared when disconnected
  - fix : Detect disconnection to client in the GUI
	
2002/08/07: mldonkey
  - Upload statistics are correctly displayed by GUIs
  - Upload is now computed in bytes
  - Server_state and Client_state messages are used again.
  - Fixed bug in TcpBufferedSocket preventing UDP packets from being sent when
       bandwidth control is disabled (prevent Extended Searches).
  - Fixed bug in Options causing Stack Overflow in convert_list
  - Implemented simple form of subscription in server
  - Predicate should now work completely in server
  - Number of replies to a query limited to 1000
  - Fixed bug in mldonkey_gui2 forcing GUI protocol 0

2002/08/06: mldonkey
  - Rewritten server code to recognize mldonkey clients
  - New GUI protocol 2
  - Local search works again
  - New subscribe button

2002/08/05: mldonkey
  - The eDonkey server now shares the list of servers with the eDonkey client
  - An error in the ocaml-3.05 patch has been fixed.

2002/08/02: mldonkey
  - Fixed a bug in eDonkey saving sources for files in files.ini
  - Fixed a bug in the parsing of server.met files downloaded from the WEB
     (there was a "made by ..." at the end !!)
  - load_url now supports HTTP 302 redirections
  - Fixed a bug to connect to friends at startup

2002/08/01: mldonkey
  - Fixed a bug in the GUI protocol version 0
  - More fields in commonFile.file_impl. Download rate is computed the same
      way for all networks.
  - LimeWire download bug fixed (3 mp3s loaded for test)

2002/08/01: mldonkey
  - Fixed bug with multiple files displayed in the GUI
  - New GUI protocol 1 containing Client_stats

2002/07/31: mldonkey
  - Old gui2 compiles normally and works.
  - SendMessage (-1, PrivateMessage (num, string)) is used to send a private
     message outside any room.

2002/07/30: mldonkey
  ********* Ocaml 3.05 should now be used to compile mldonkey ********
  - The patch to the ocamlopt compiler is not required anymore.

2002/07/29: mldonkey
 - Re-included old gui as gui2/ and mldonkey_gui2. Not yet working. 
     Let the user choose until mldonkey_gui is working properly.

2002/07/27: mldonkey
 - GUI: 
    o Only connected servers are normally displayed.
    o New button to display all servers.

2002/07/26: zoggy
 - GUI: Extended search button only available in the result box of the 
	last query
 - GUI : fixed font for the console
	
2002/07/24: mldonkey
 - Added GUI counter for better protocol compression.
 - Removed user_remove function

2002/07/23: mldonkey
 - Bug fix in Ocaml weak hash tables
 - First file downloaded on DC (yeah !!)

2002/07/21: mldonkey
 - Fixed a bug in the GUI protocol
 - Improve timers behaviors

2002/07/16: mldonkey
 - Upload should be OK in Direct-Connect
 - CDDB: research is possible in index. building the index takes at least 
     600 Mo of RAM ... maybe some work to compress it.

2002/07/15: mldonkey
 - New structure network_info
 - Direct-Connect: allow other clients to browse our client
 - CDDB: use_tags is able to index a freedb database. take about 300 Mo for
    the full indexed database. need to build a server now.
 - Donkey: fixed a buf in the protocol that removed shared files from shared
     list.

2002/07/14: mldonkey
 - New env variable MLDONKEY_DIR

2002/07/13: mldonkey
 - More options in alternative networks.
 - ./configure script accepts a --disable-multinet option.
 - New option -check_impl to display unimplemented methods.
 - New behavior for computing the downloaded size in donkey.

2002/07/11: mldonkey
 - Upload on edonkey is priviledged, thanks to the upload_power option.
    Done by giving more upload to some connections in TcpBufferedSocket.

2002/07/10: mldonkey
 - Protocol between GUI and Core completely rewritten. No more Ocaml specific.
     Other GUIs are encouraged to move to this new protocol.
 - network-specific URLs are supported:
     ed2k://|file|...
     ed2k://|server|ip|port|
     ed2k://|friend|ip|port|
     dc://|server|ip:port|
     dc://|friend|ip:port|
 - Client browsing in Opennap.

2002/07/04: mldonkey
 - Better types for result, client, user and file in LimeWire

2002/07/03: mldonkey
 - Better Opennap support
    - Should no more be 'too many pending searches'.
    - Better types for result, client, user and file.

2002/07/02: mldonkey
 - Per network options better supported (use "set" command with a prefix).
 - One step towards soulseek implementation.
 - Started implementing 'disable' methods.
 - Using Weak hash tables for all common modules.

*** 2002/07/01: in holidays :) no network access for two weeks ...

2002/06/30: mldonkey
 - HE3 compress/decompress code completely working for DirectConnect
 - Can download file list in DirectConnect (not display it)
 - Client IP correctly detected.

2002/06/29: mldonkey
 - Added columns configuration for users in GUI.
 - Added message BrowseUser from GUI to Core and user_ops.op_user_browse_files.
 - Communication between clients in Direct Connect started.
 - User information from Direct Connect displayed in GUI (admin/link/bytes)

2002/06/28: mldonkey
 - Fixed several problems in WEB/telnet interface
 - Added enable(disable) networks menu in GUI (disable not implemented):
     networks can be started from GUI. New message EnableNetwork from GUI.
 - Added display networks menu in GUI: servers and results from a network
     can be hidden.

2002/06/27: mldonkey
 - Started using Weak Hashtbl in common/ structures to avoid memory leaks.
 - The GUI displays correctly eDonkey, Open-Napster, LimeWire and DirectConnect.
 - Lots of debbugging messages have been removed.

Pre-Release 1.99:
  Complete change of the architecture. mldonkey should now support multiple
   peer-to-peer networks. Currently, download is possible from:

    * Audiogalaxy support: works great (oups, not useful anymore :(
     1) Must set 'enable_audiogalaxy' to true in downloads.ini 
     2) Start mldonkey. It should create 'audiogal.ini'. If you don't have any
        audiogalaxy account, create an account: go on http://localhost:4081/
        (if you are running mldonkey on localhost), and create it.
     3) Stop mldonkey. Edit audiogal.ini. Set the 'login' and 'password' 
         options from your account.
     4) Restart mldonkey. Go on http://localhost:4081/ to choose files to
         download. 

   * LimeWire bridge. works great.
     1) Must set 'enable_limewire' to true in downloads.ini
     2) It should automatically connect to several ultra peers.
     - Recover downloads works

   * Open Napster support. Seems to work.
     1) Must set 'enable_opennap' to true in downloads.ini

   * Direct Connect support. Not working  yet.
     1) Must set 'enable_directconnect' to true in downloads.ini
     2) You can connect to some hubs and search for files. Download
      is not yet working, nor sharing, so that you will probably be
      kicked fast.

  IMPORTANT:
   If you want to test some of these networks, edit the downloads.ini to
   enable them. There are a lot of debugging messages (pipe to /dev/null,
   don't kill the terminal). Most telnet commmands should work, but it is
   not sure. In the GUI, use the File->Settings->GUI->Columns panel and,
   for each type of structure, add the Network column to see in which 
   network a server or a file is located.

  * Improved server implementation (enable_server option). Not working yet.
  * Started implementing freedb bridge. Not working yet.
  * replace Sys.rename with Unix2.rename (to allow cross-device moves)
  * brand new GUI : choice of columns, icons, external chat utility, support
	for custom searches. See file ~/.mldonkey_gui.ini for changing icons
	and keyboard shortcuts. Searches skeletons are defined in the
	searches.ini file in the directory where you launched the mldonkey core.


Release 1.16:
  * Compaction forced every 'compaction_delay' hours (default is 2).
  * File age computed for files smaller than one chunk. Better downloads for
      these files.
  * Servers sending extended search results are remembered, and immediatly
     asked if their files are downloaded.
  * Predicates in Indexer should work in most cases.
  * Fixed #100833: new options 'http_bind_addr', 'gui_bind_addr', 
     'telnet_bind_addr' and 'telnet_bind_addr'.
  * Started implementing 'use_tags', a program to rename mp3s from tags (and
      maybe from freedb, someone interested ?)
  * New option 'propagate_sources' to allow mldonkey to propagate sources
     to other peers. When enabled, send far fewer messages than in 1.15.
  * Fixed #100870: WEB interface can be configured through 'html_header', 
     'web_common_header' and 'vd_reload_delay'
  * GUI buffer size increased. Can be set by 'interface_buffer' in 
     ~/.mldonkey_gui.ini
  * Fixed bug making mldonkey use 100% CPU for long periods.
  * Fixed option name for 'update_server_list'
  * New options 'max_sources_per_file' to limit the number of sources for
    a given file. One source is removed each time a new source is added 
    above this number.
  * New command 'id' to display ID numbers for connected servers.
  * 'client_buffer_size' set to 500000 by default.
  * Fixed bug in ocaml patch that made open_mldonkey never finish downloads.

Release 1.15:
  * Started implementing mldonkey_s (eDonkey compatible server)
  * GUI:
    - Should fit in 640x480 screens.
    - Server can be specified by ip:port in Add Server entry.
    - Removed some non-tailrecursive functions.
  * Core acts now with all (direct) clients as a server to diffuse sources
     for files. Indirect mldonkey clients can also receive information.
  * WEB interface:
    - New option 'customized_searches' that can be used to add new
       queries in the WEB interface (see new option file searches.ini
       for examples).
    - Improved searches (work also in the GTK GUI): 
       * In the keyword/artist/title/album fields, a '-' in front of
        a word means 'without'. Words separated by
        spaces must appear in the reply. 
       * In the format field: you can specify several formats, separated by
        spaces. A '-' in front of a format means you don't want that format.
    - New options 'web_header' and 'web_header_frame' to customize the header
       displayed by the Web interface.
    - Generate correct HTML with HEAD and TITLE :)
    - Downloads can be sorted by name/percent/downloaded/size/rate.
    - Paused downloads are correctly displayed.
    - Use tables instead of spaces (for non-fixed fonts).
    - Added option 'use_html_frames'. When frames are enabled, clicking
       on a result to download will only modify the second frame.
    - Checklist of downloads and results can be activated/desactivated with
      the option 'html_checkbox_file_list'.
    - The number of days since the file was last seen complete is now displayed
  * Core:
    - New option 'file_completed_cmd' for a command which is called when 
     a file download is completed with as arguments: 
     <filename on disk> <md4> <size> <names on the edonkey networks>*
    - Started moving local indexation from mldonkey to an auxiliary program,
     controled by options 'local_index_find_cmd' and 'local_index_add_cmd'.
     See the 'Using auxiliary programs for local indexation' section in
     the help (in progress, doesn't work).
    - New command line option -client_ip that can be used to force the
     IP used by mldonkey (if you have a firewall). Be careful with
     dynamic IPs.
    - Delay between md4 computation can be set by 'compute_md4_delay' option.
     Chunks downloaded improve to reduce long md4 computations.
  * Most problems with ed2k:// links should be fixed (/ at the end, and
     spaces in the middle). MLdonkeySubmit is distributed for Konqueror users.
  * Improved implementation of indexation. Documents description are
     stored on disk. Different choices of indexation.
  * Server black list: 'bs <ip1> <ip2> ...' in console to add IPs to the
    server blacklist. Servers on this black list are eventually removed,
    and will never be added again.
  * New option 'master_server_min_users' that prevent mldonkey from remaining
     connected to a server with too few users.
  * New option 'dont_update_server_list' to disable automatic update of
     server lists.
  * Telnet interface: 
     - New command 'remove_old_servers'
  * New (less-aggressive) management of sources:
     - New option 'max_source_age' (in days) to remove old sources.
     - New option 'max_clients_per_second' to prevent bursts of connections.
  * Faster computation of md4s for i486/i586/i686 Linux systems.
  * Fixed bugs:  
   - #100662: only valid server IPs are accepted.
   - Use IP returned by getsockname instead of the one from gethostbyname.
   - #100761: new option 'update_server_list' to choose whether you want 
     mldonkey to automatically add new servers to your server list.
   - Fixed bug preventing sharing of in-download files after restart.
   - Fixed bug making history.met always increase.

Release 1.14:
  * Bandwidth is now controled by the 'max_hard_download_rate' and
      'max_hard_upload_rate' options. Old rate options are obsolete.
  * All simple options can now be set by arguments on the command line (use 
     -help to show arguments).
  * Bug fixes:
    - Removed non-tailrecursive function in options.ml causing segfault when
       loading files.ini.
    - Connected clients without names in GUI should not appear anymore.
    - Remove 2 minutes timeout for queued clients.

Release 1.13:
  * Annotations on files in file 'comments.met'. Commands 'comments <filename>'
    to load a file, and 'comment <md4> <comment>' to add a new comment.
    Such comments could be downloaded from web sites (sharereactor.com).
  * New option 'web_infos' and new command 'add_url' on console: allow
    to download a file from the WEB automatically everyday (or less 
    frequently). Currently, only server.met and comments.met files are
    supported.
  * GUI:
     - New config file in $HOME/.mldonkey_gui.ini with GUI options
     - colors added in lists (see .mldonkey_gui.ini)
     - Layout is saved.
     - File locations are updated.
     - Improved protocol to decrease bandwidth
     - Comments are displayed in searches, and can be added in contextual menu.
     - Shortcuts can be configured by options.
  * Mailer accept non-canonnical addresses.
  * Option 'verbose': '#' for download, 'U' for upload, and other messages.
  * When possible, find extra names for files in history.
  * Console:
      - New command 'close_fds' to close all open files, to free space on disk 
        after remove.
      - New command 'pause' and 'resume' to pause and resume downloads (use
         arg 'all' to apply to all files).
  * Some control on how many connections can be opened per minute.
  * Better scheduling of compaction (new option 'compaction_overhead')
     in both core and GUI that caused delay when exiting.
  * Bug fixes:
    - Remove block change causing many 'exceeding block boundaries'
    - history.dat changed to history.met, using more secure marshaling.
    - OVERFLOW with GUI should not appear anymore.
    - Compaction makes GUI memory usage better.

Release 1.12:
  * Bug fixes:
    - Remove error 'bad file descriptor' when saving files.
    - Remove possible infinite loop in upload function.

Release 1.11:
  * Option 'shared_directories' to specify other directories where files to
   share can be found.
  * Setting 'telnet_port', 'http_port' or 'gui_port' to 0 disables the
      corresponding access.
  * Console: 
   - Sort results by size in vr.
   - When 'd' fails with Already_done, you can use 'force_download' to force
      an already downloaded file to be restarted.
   - New command 'dllink' taking an ed2k URL to download as argument.
   - Command 'set' can be used to set the allowed_ips option:
       set allowed_ips '127.0.0.1 128.91.255.255' 
     255 is for networks.
   - shorten names in 'vd' output (see 'max_name_len' option). 
  * WEB:
   - New Cancel links in 'vd' output.
   - New 'Complex Search' link in interface.
   - 'View Options' output can be edited to modify options.
  * GUI:
   - The GUI tries to connect to the core every second until it succeeds.
   - Corrected MD4 columns
   - In search panel, 'Max hits' combo set the maximal number of replies
      per server.
  * Bug fixes:
   - Don't add twice the incoming dir to shared file names.
   - Cross-partition moves fail, but filename is renamed in temp dir.
   - Limited open fds for files to 50 (doesn't limit shared files
       and downloaded files).
   - Execute entry on WEB interface always displayed.
   - Removed a timeout closing all client connection after 2 minutes.
   - Shared files are opened in read-only mode.

Release 1.10:
  * Default timeout for server connection set to 5 for faster connection.
  * Options are now divided into four configuration files: downloads.ini,
      servers.ini, friends.ini and files.ini.
  * Console: better display of downloads.
  * Verification of IP addresses for admin ('allowed_ips' option).
  * WEB interface: added pragma no-cache. 
  * Keep checking servers in the background.
  * GUI: Auto-resize is now delayed. Default selection
     mode is EXTENDED. Contextual menu items to switch between
    auto-resize/manual resize and EXTENDED/MULTIPLE selection.
  * Send a mail when download is finished. You must complete the
    'smtp_server', 'smtp_port' and 'mail' options.
  * Bug fixes: partial page in WEB interface fixed (often with vr).
      Removed two minutes timeout on good client connections.
      NoSpaceLeft causes pause in download.

Release 1.09:
  * Bug fixes: fixed bad md4 computation of the first chunk, preventing
     completion of downloads.
  * New command 'recover_temp' to recover all lost files from the temp
     directory.
  * See  http://www.freesoftware.fsf.org/mldonkey/ for porting mldonkey on new OSes.

Release 1.08:
  * Remove use of the 'mmap' system call.
  * Better management of delays between connection attempts.
  * Local searches use minsize/maxsize information.
  * More information on availability on WEB/console interface.
  * Small improvement in MD4 computation. Shared files MD4s are saved in
     a 'shared_files.ini' file to avoid computating them again.
  * Filters on replies: set the 'filters' option to a string containing
     sub-words you want to remove, separated by spaces.
  * Maximal download rate can be specified in 'max_download_rate' option.
   (need probably to be rewritten more carefully).
  * Bug fixes: files greater than 9mb in incoming/ can now be shared,
      ftruncate replaced by lseek (for vfat FS), multiple connections to
      the same client fixed.

Release 1.07:
  * Exchange of sets of sources between mldonkey clients.
  * Started implementing chat between friends.
  * GUI allows adding friends by specifying IP and port. New 
     'Connect friend' menu. Better properties of files.
  * New menu item 'preview' in GUI, associated with option 'previewer'.
  * New menu 'Select All' in lists.
  * Bug fixes: in mp3 tags edition, in connected servers count, in
    displaying friends files, in passive connections.

Release 1.06:
  * History of seen files. New commands: 'ls' for local search on the history,
    of search on servers, 'clh' for clear local history. New options: 
    'use_file_history' to allow history on files, 'save_file_history' to
    save the history on disk. For now, search only by words (not size).
  * Authentification by the 'auth' command on the telnet client.
  * Bug fixes: servers disconnected viewed as connected.

Release 1.05:
 * UDP protocol implemented: extended searches to all servers.
 * Improved HTTP interface (port 4080).
 * Limitation on minimal upload dropped to 1 kB/s.
 * Fixed bug preventing queries on multiple words.

Release 1.04:
  * Improved WEB interface (download files by clicking).
  * Stats on upload.

Release 1.03:
  * Upload can be disabled temporarily, if your client has been running long
   enough.

Release 1.02:
  * max_upload_rate is not modified automically anymore.
  * command-line client available from the GUI.

Release 1.01:
  * New command 'set' in command-line client to change options values
  * Command-line client accessible from the GUI or any 
   WEB browser (at http://localhost:4080/)

Release 1.00:
  * Upload/download works
  * Friends works
  * Complex queries works
  * Command-line interface works
  * Graphical interface works
  * Import old config works