Codebase list apt-cacher-ng / HEAD ChangeLog
HEAD

Tree @HEAD (Download .tar.gz)

ChangeLog @HEADraw · history · blame

   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
apt-cacher-ng (3.7.4) NANOTUBES-ARE-FOREVER; urgency=low

  [ BUGFIXES]

  * Fixing garbled Last-Modified header in certain responses

  [ MISCELLANEOUS]

  * Database update

 -- Eduard Bloch <blade@debian.org>  Sat, 09 Oct 2021 12:39:30 +0200

apt-cacher-ng (3.7.3) THERE-IS-NO-KNIVE; urgency=low

  [ IMPROVEMENTS ]

  * Maintenance tasks report HTTP errors with status code
  * Earlier aborting of maintenance tasks when continuation would be not
    permitted in the end anyway
  * More aggresive default strategy for expiration of index files where the
    remote resource disappeared (FollowIndexFileRemoval option)
  * Add .sig suffix support for Arch Linux (Debian bug #989347)
  * Cleanup of old empty directories

  [ BUGFIXES]

  * Fix premature exit of connection invocation if the first attempt happened
    to quick, therefore leaving client thread eventually in blocked state
    (thread leak, regression since 3.7)
  * Fix crash in case of missing DNS data
  * GCC 11 compilation fix (error: template-id not allowed for destructor)
  * More smart (and partly more strict) parsing of various IPv6 IP formats in
    URL parsing (Debian bug #994778)
  * Fixed access URL rendering on information page (potential format errors,
    regression since 3.7.2 due to network port type change). Also simplified
    the format helper for better optimization by older C++ compilers.
  * Fixed acngtool "maint" function over UNIX domain socket (more fallout from
    port type change), also added a global timeout of 10 minutes to mitigate
    side effects from such hangups in cron jobs.

  [ MISCELLANEOUS]

  * Database update

 -- Eduard Bloch <blade@debian.org>  Sat, 09 Oct 2021 12:39:30 +0200

apt-cacher-ng (3.7.2) SHIFT_HAPPENZ; urgency=high

  [ BUGFIXES]

  * DNS: fix potential memory corruption if the count of reported SRV hosts
    exceeds the regular limit
  * DNS: considers the requested name as the last target candidate if the name
    is not among the candidates suggested by SRV record
  * Minor portability issues (32bit and older GCC) resolved

  [ IMPROVEMENTS ]

  * Memory saving by using trivial data type for port specification

 -- Eduard Bloch <blade@debian.org>  Sun, 30 May 2021 20:28:21 +0200

apt-cacher-ng (3.7.1) 2-WINDY-OUTSIDE; urgency=low

  [ NEW FEATURES AND IMPROVEMENTS ]

  * Support SRV DNS records - if they deliver alternative hostnames for the
    initial _http._tcp.* request, consider up to five hosts specified there
    instead of regular A/AAAA/CNAME on the hostname itself. The priorities and
    weights are respected but the precision might vary, depending on the
    scale of the weights. Balancing happens with random factors, and the
    calculation results are cached for the configured DNS caching time. Also,
    while there is fallback to normal resolution in case where SRV records
    don't resolve in anything, there is no fallback handling when connection
    problems are found later.
  * Adding cdn-fastly.deb.debian.org as regular or backup mirror

  [ INTERNAL REDESIGN ]

  * Extracting thread pool into reusable class
  * All source/header relocation to src folder

  [ FIXING POTENTIAL 3.7 REGRESSIONS ]

  * Fix linking with -DDEBUG and common code built as shared lib
  * Fix build with -Werror (forgotten but irrelevant virtual destructor)
  * Fix potentially incorrect behavior on shutdown while DNS resolution is
    ongoing

  [ BUGFIXES]

  * Fix bad requests in case RequestAppendix contain invisible characters or
    other garbage
  * Drop documentation references to distkill.pl and expire-caller.pl script

 -- Eduard Bloch <blade@debian.org>  Tue, 25 May 2021 19:37:17 +0200

apt-cacher-ng (3.7) AND-SOMETIMES-THE-BEAR-EATS-YOU; urgency=medium

  * This is an EXPERIMENTAL version. Certain features and code changes should
    not be consider mature. This version might make some things better than
    3.6.x series, and some things worse, including damaging existing caches.

    USE AT YOUR OWN RISK!
    YOU HAVE BEEN WARNED!

  [ BREAKING CHANGES ]

  * "just cleanup" parameter -e was removed. This has been troublesome to
    implement long time ago and is most likely not used in the wild. This
    can be replaced easily and with better privilege separation using a
    shell script which starts apt-cacher-ng in foreground and calls acngtool.
  * cache processor is now more stric with regards to file metadata. Manually
    imported files (without use of the official Import function) will no
    longer be considered valid without at least a timestamp check on the
    server.
  * acngfs does not support setting of proxy server and (optional) local extra
    folder as plain argument, instead those need to be specified as proxy=...
    and cachedir=... .

  [ BUGFIXES ]

  * Fixes for potential bugfixes with error checking for corner cases all over
    the place
  * Cleans up with potential bug sources for incorrect transmission to the
    client while the item content was sent to cache and to caller
    simultaneously
  * Fix potentially incorrect over-insisting file descriptor closing which
    might have impacted libevent descriptors (Debian bugs #954904, #986356)
  * Fix potentially incorrect error reporting for IPv6/IPv4 switching
    connection attempts which eventually ended in failure (timeout, rejected)
  * Fix missing newline when RequestAppendix header, which caused it's merging
    with some prepending header line
  * Better reproducible runs of DB generations (Debian bug #988976)

  [ INTERNAL REFACTORING ]

  * Overhauling many core components, especially download, delivery and cache
    management code; probably the heaviest change since 2014:

    a) supposedly using less CPU cycles and fewer critical sections
    b) supposedly using less memory for regular data serving
    c) never truncating package files, only appending
    d) more consistent error codes
    e) separate debug logging into apt-cacher.dbg file
    f) precise separation into type classes of the active cache items,
       therefore better efficiency in case of volatile/non-volatile mixup,
       also preparing to support cached requests with protected access and
       individual credentials (Salsa feature requests)
    g) simplified head file storage for delivery task
    h) adding dedicated log/err/dbg files for acngfs

  * New switches to disable optional components: ENABLE_TOOLS, ENABLE_TESTS
  * Direct linking to libfuse for acngfs is mandatory now, the dlopen path was
    removed since libfuse2 is in wide use nowadays anyway

  [ NEW FEATURES AND IMPROVEMENTS ]

  * Limited support of Cache-Control header from clients (no-cache, no-store)
    for LP: #1915713
  * Support for open-end range requests
  * Support regular variable assignments (like in acngtool) in acngfs command
    line syntax, although the meanings might be slightly different (CacheDir
    means local fallback folder)
  * Better error messages stored in apt-cacher.err, helping to track down
    filesystem issues
  * Considering more than two IPs simultaneously when initiating connection,
    and running this task on IO thread, reducing number of select() calls
  * When recreating by-hash siblings in the archive, try to restore the
    modification date where possible, therefore probably avoid redownloading
    them for (rare) clients which don't follow the by-hash scheme

  [ MISCELLANEOUS]

  * Database update

 -- Eduard Bloch <blade@debian.org>  Sat, 22 May 2021 14:34:51 +0200

apt-cacher-ng (3.6.4) 11TH-HOUR-RELEASE; urgency=low

  * Fix the premature and unsafe closing of file descriptors:
     - registration in the graceful termination handling was not thread-safe
     - conn objects did close the handles immediately due to incorrect use
       of RAII helper, leading to the exact opposite of what the graceful
       shutdown code was made for (therefore, sometimes suddenly closing
       sockets without returning all data)
     - even worse, the graceful shutdown code was able to randomly steal
       data from unrelated sockets (causing data corruption even in incoming
       data) or shutdown their stream
     - the timeout description map was not cleaned properly, therefore
       causing a (minor) memory leak. This is now dropped completely because
       the timeout/event data is carried around in own metadata objects.
  * Minor stability tweaks:
     - drop obsolete forceclose() function which would make a pointless
       (although harmless) close(-1) call upon EINTR result
     - explicit checks for -1 results of open() result instead of < 0

 -- Eduard Bloch <blade@debian.org>  Sun, 30 May 2021 10:32:44 +0200

apt-cacher-ng (3.6.3) SOHMIETNG-T0-REBMEMER; urgency=medium

  * Amend the file creation scheme for cache files which are rewritten from
    the beginning, avoiding need for truncation of open files while
    downloading, therefore avoiding potential termination from mmap triggered
    SIGBUS (for example in case of maintenance job processing)

 -- Eduard Bloch <blade@debian.org>  Mon, 08 Mar 2021 22:15:48 +0100

apt-cacher-ng (3.6.2) THIS-ONE-WILL-FLY; urgency=medium

  * Dynamic detection of changes of resolv.conf file (again for Debian
    bug #951005)
  * Make sure to send event_base_loopbreak in the context of the libevent
    thread (closes hanging of acngtool on exit, Debian bug #977611)

 -- Eduard Bloch <blade@debian.org>  Wed, 03 Mar 2021 21:32:18 +0100

apt-cacher-ng (3.6.1) THERE-IS-NO-FREE-BRUNCH; urgency=low

  * Minor bugfix and update verion
  * Avoid potential file descriptor leak in download item collision handling,
    also various improvements around stale handle detection and resolution of
    this situation
  * Extended mirror scan to guess {ftp2, ftp3}.XY.debian.org address aliases
    (Debian bug #951005)
  * Extended security.debian.org rewriting to also include deb.debian.org
    requests and change default mirror for them all to deb.debian.org (Debian
    bugs #932093, previously #884881)
  * Fixes potential hanging at the end of download job execution in acngtool
    (possibly responsible for various Debian bugs)
  * Workaround for libevent issue with systems having local nameserver and not
    having nameserver entries in resolv.conf, also adding a couple of
    "undocumented" Debug options for further investigation (EvDnsResolvConf,
    EvDnsOpts). For debian bug #982984.
  * More ACID-like handling of metadata storing when a download starts
  * Now not destroying the fileitem when aborting on late errors (where risk
    is compensated by the new metadata behavior) but letting the user know that
    something is wrong with the filesystem (Salsa issue #9); also dropped the
    fstat check (triggering "Inconsistent file state" message) because it's
    intended task is taken over by the subsequent lseek check with SEEK_END,
    this also should reveal faulty filesystem behavior.

 -- Eduard Bloch <blade@debian.org>  Thu, 25 Feb 2021 22:50:41 +0100

apt-cacher-ng (3.6) SOMETIMES-YOU-EAT-THE-BEAR; urgency=low

  * Allowed specification of different/multiple endpoints to bind with
    arbitrary ports, i.e. binding with non-default port on specific network interfaces
  * Admin pages refer to the locally served location of the manual (via
    built-in webserver)
  * Fixing construction of request specific X-Forwarded-For headers. This
    matters only for proxy cascades and only when ExposeOrigin option is set.
  * Potential hanging of acngtool/acngfs on termination
  * Fixed potential deadlock in index file processing in maintenance job (only
    when checksumming was enabled)
  * Minor speedup in acngfs with reused download agent
  * Using asynchronous libevent DNS resolver instead of getaddrinfo from OS,
    since the later turned out to be unreliable in stress tests
  * Safely ignore the HTTP 102 Processing status code and similar hints 
  * In case of stuck/creeping download of volatile files, move them out of the
    way faster and easier (replacing file entry) instead of moving them to a
    side cache
  * Fixed error message selection for early fatal SSL errors
  * Fixed pdiff algorithm to use now available combined patches directly
  * Vastly improved the CPU consumption of pdiff patching code in acngtool
  * Database update

 -- Eduard Bloch <blade@debian.org>  Sun, 07 Feb 2021 22:30:55 +0100

apt-cacher-ng (3.5) CLOUDY-WITH-A-CHANCE-OF-VEGGIE-BURGERS; urgency=medium

  * Faster stop of progress observers on maintenance tasks
  * Avoid earlier stop on download errors in expirations, so all files for
    expired distros can be easily cleaned manually in one or two runs instead
    of multiple runs
  * Automatic blocking of IPv6 connection attempts in case of too many failed
    attempts (where IPv4 was still working) and vice versa

  [ Various bugfixes]
  * Data race in DNS result caching, sometimes resulting incorrect resolution
    error reports and/or marking backends bad temporarily
  * Added little progress hints in expiration job, so that browsers don't
    close the connection due to suspected timeout

 -- Eduard Bloch <blade@debian.org>  Mon, 20 Apr 2020 23:33:27 +0200

apt-cacher-ng (3.4) ALTERED-HYDROGEN; urgency=low

  [ Various bugfixes]

  * potential fix for a programming bug where a bad redirection was reported
    although the source was rewritten correctly (Debian bug 952811)
  * potential fix for SHA512 related problems (the considered string length
    was too short which might break comparisons on file import and validation)
  * Fix bug of the incoming connection thread pool, sometimes not starting IO
    processing immediately due to miscalculation of required worker thread
    count. Apparently a regression since version 3.3.

  [ For single request Pass-Through mode (DontCache rule) ]

  * Fix response body corruption in pass-through items
  * Partial support for directory listing (PT, no caching yet)
  * Permit non-categorized file extensions when PT rule is active
  * Permit encoding negotiation on PT items (gzip deflated), previously there
    was a bug where deflated contents could be delivered although not declared
    as such, now it's explicitly allowed (where it fits into the flow) or not
    avoided
  * Fix potential thread leak

  [ Miscellaneous]

  * Database update
  * Added CID-Index files to Debian's DEP11 file filter
  * Internal refactoring, better debug logging

 -- Eduard Bloch <blade@debian.org>  Sun, 05 Apr 2020 18:22:54 +0200

apt-cacher-ng (3.3.1) A-LITTLE-BUGFIX-FOR-A-MAN; urgency=medium

  * POTENTIAL SECURITY ISSUE (CVE-2020-5202):
    - in certain situations, the maint job run by acngtool could leak the
      administrator credentials from apt-cacher-ng configuration. This is only
      likely if the attacker is able to impersonate the daemon with an own
      server listening on the same port.
    - The mitigation path for this is:
      - SocketPath option is configured by default
      - By default, acngtool only attempts to run the maint job through the
        Unix Domain Socket. If SocketPath is not set but admin credentials are
        configured, the operation is denied.
      - For non-standard cases where acngtool is used to run special arbitrary
        commands (ACNG_REQ variable) and the operation through SocketPath is not
        possible (i.e. missing permissions or the tool is run on a different
        host), the operation through TCP can be enforced with ACNG_INSECURE
        environment variable
  * Support .zst compressed packages (reference:
    https://www.archlinux.org/news/now-using-zstandard-instead-of-xz-for-package-compression/ )
  * Added global cancelation points for the daemon shutdown phase, now
    terminating sooner especially when a maintenance jobs runs in background

 -- Eduard Bloch <blade@debian.org>  Wed, 08 Jan 2020 20:47:37 +0100

apt-cacher-ng (3.3) THE-CLAMPS-ARE-MARCHING; urgency=low

  [ POSSIBLY BREAKING CHANGES ]
  * the setting of cachedir and logdir in the built-in defaults is now
    configurable at build time (-DACNG_CACHE_DIR=... -DACNG_LOG_DIR=...)
    and this settings are also propagated into generated configuration examples
  * Dropping support for CMake prior to v3.1, dropped most custom variables
    for target locations, now relying on public CMake variables from
    GNUInstallDirs module; for details, see
    https://cmake.org/cmake/help/v3.2/module/GNUInstallDirs.html
  * Dropping support for OpenSSL before 1.0.2

  [ FEATURES AND IMPROVEMENTS ]
  * Change of default network timeout to 40 seconds
  * Reduced automatic retries on remote disconnects to two
  * Alternative fallback scheme for non-primary target connection attempts
    (with default timeout value of 4s, see FastTimeout setting). By default,
    this should help with unstable (blocking) IPv6 routing where IPv4 is still
    operational (Debian bug #942122)
  * Refactored DNS resolution&caching code, potential fix of rate connection
    problems
  * RequiresMountsFor directive in systemd service file example with
    additional remarks on keeping this in sync with the config (as in Debian
    bug #929035 and partly suggested in #942355)
  * PFilePattern extensions for Fedora 29 and 30, by Alan Jenkins, Debian
    bug #928270 (thanks!)
  * VFilePattern extension for Centos8, by Andy Lowther, Debian bug #944143
    (thanks!)
  * added very explicit explanation on what "default value" means in the
    acng.conf example (Debian bug #855995) and also how to print it
    (with acngtool, Debian bug #914746)
  * Mirror database update
  * Configurable timeout for forced client disconnect on the last portion of
    data

  [ BUGFIXES ]
  * increased size of the decompression line buffer for config file reading
    (Debian bug #942634)
  * fixes potential data race in DNS resolution
  * Typo in INSTALL file (Debian bug #913593)
  * In Arch Linux database mirror list, rewrite https URLs to http since the
    official JSON query only returns https versions, also add a different
    source (from Debian bug #942844)
  * Generation of Sourceforge mirror redirectors list is fixed
  * Fixed an ancient bug where there last answered request might have been
    delayed in processing due to incorrect selection of MSG_MORE flag
  * Potential crash on shutdown prevented (misordered destructor sequence,
    insufficient tracking of remaining active tasks)
  * Correct shutdown of blocked incoming connection on daemon shutdown
  * Limit of simultaneous DNS resolver requests to 8 due to observed
    instability of glibc (probably
    https://sourceware.org/ml/libc-alpha/2015-10/msg00865.html )

  [ INTERNAL REFACTORING ]
  * Overhauling code deployment, using a shared library (reducing installed
    file size by up to 20%)
  * dropped rfc2553emu code from old APT, using the platform abstraction from
    libevent instead
  * partial redesign for more singlethreaded IO operation
  * Disabled LTO by default, still crashing gold linker with certain option
    combinations
  * Moved lingering on CLOSE_WAIT sockets to the single main thread

 -- Eduard Bloch <blade@debian.org>  Sun, 10 Nov 2019 18:59:08 +0100

apt-cacher-ng (3.2) MY-NAME-IS-ANYBODY; urgency=medium

  * Maintenance release
  * Basic support for FlatPak repositories
  * Added flat by-hash structure to file patterns
  * Allowing some Debian and Ubuntu services in default PassThroughPattern
  * Various fixes in manpage and configuration examples
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Fri, 07 Sep 2018 12:55:46 +0200

apt-cacher-ng (3.1) SPACE-COWBOYS-FOREVER; urgency=low

  * Hide credentials in acngtool in some corner cases (by astian)
  * Dropped references to distkill.pl script which was superseeded by acngtool
  * Made default PassThroughPattern setting (bugs.d.o) stricter
  * Mirror database update

  [ Carlos Maddela ]
  * Avoid expiration failure when some index files are missing

 -- Eduard Bloch <blade@debian.org>  Sun, 05 Nov 2017 20:28:09 +0100

apt-cacher-ng (3) THIS-IS-NOT-THE-END; urgency=medium

  * NOTE: this release tackles multiple issues that might be considered
    security related in certain environments.
  * FIX: Making sure to truncate the file in case its download is aborted.
    This is needed in order to avoid hidden filesystem space allocation
    (Debian bug #856635). Also more delicate use of fallocate calls on Linux
    due to the potentially syscall execution delay. By default, limit the
    requested size to the first megabyte of a file.
  * FIX: detection of incorrectly allocated files and automated trimming in
    expiration run
  * FIX: acngtool shrink function now uses allocated space for calculation,
    not the visible size. Also more user friendly verbose output and little
    performance optimization.
  * FIX: acngtool shrink function now also considers unknown files as junk
  * FIX: compilation with GCC7, also warning fixes with Clang4
  * FIX: better checking of possibly invalid remote certificate configuration
    in SSL client code
  * FIX: added workaround code for OpenSSL certificate validation even with
    ancient SSL versions like the one found in Ubuntu 14 LTS; borrowed from
    libevent examples (originally from ssl-conservatory and cURL)
  * FIX: no printing of requested file name in the 403 HTTP status line
  * FIX: typo/wording in manual, iptables examples
  * FIX: in file truncation wizard (cleanup task), don't truncate the
    associated .head files (because they might contain the best download
    source information)
  * NEW: better index deletion wizard, offering to remove all related files in
    the same run. This can help to avoid accidental recreation of "incomplete"
    files later.
  * Database update

 -- Eduard Bloch <blade@debian.org>  Tue, 14 Mar 2017 16:23:20 +0100

apt-cacher-ng (2) THE-LAST-JOB-FILMS-LTD; urgency=medium

  * Minor refactoring (DNS cache with fewer mutexes)
  * FIX: communication for maint jobs now properly considers possible
    addresses from daemon's configuration. Communication via UDS remains
    broken which is subject to repairs in the next update of core code
  * FIX: Correct parsing of unix suffixes for ExStartTradeOff option
  * FIX: fixes for compilation errors with GCC 5.4 (by Bob Ham)
  * FIX: try to link with libatomic, some architectures require it

 -- Eduard Bloch <blade@debian.org>  Tue, 22 Nov 2016 21:29:54 +0100

apt-cacher-ng (1) LOGAN-VS-BLADE-RUNNER-3D; urgency=low

  * The version numbers change to plain integer. The minor numbers were
    already hardly used for differentiation between bugfix and feature
    releases. If this becomes ever needed, the version might be extended to
    x.y scheme.
  * FIX: typo in option name ExThreshold, and also hiding obsolete options
    in configuration dump
  * FIX: correct display of errors in acngtool curl operation
  * FIX: strict SSL hostname validation even with peers not supporting SNI
    (Debian bug #839751)
  * NEW: simple "live" download statistics display on the maintenance page
  * NEW: storage of simple download statistics across service restart (until
    the expiration run)
  * NEW: default method to abort expiration runs if not much data has been
    downloaded though the proxy since the last expiration run.
  * NEW: special command in acngtool ("shrink") to files until
    the wanted size of the cache directory is reached (considering file type
    and creation dates). The default strategy is keeping least recently
    downloaded files in cache.
  * NEW: optional tagging of used package files which can influence the
    "shrink" command operation to keep least recently USED files instead of
    least recently downloaded files.
  * CHANGE: remote errors now printed as E states in the logging code
  * Database update

 -- Eduard Bloch <blade@debian.org>  Wed, 19 Oct 2016 22:07:06 +0200

apt-cacher-ng (0.9.3.2) PAINT-IT-AEROGLAZE-Z306; urgency=low

  * FIX: avoid endless looping on startup when a new (not existing) directory
    was specified as CacheDir
  * FIX: build failure on non-Linux POSIX systems (Debian bug #830736, now
    moved namespace tag to general scope)
  * FIX: Stop printing bogus "error" summary on the end of every maintenance
    task execution
  * NEW: allow for omission of CacheDir setting; continues operation in
    degraded mode with only harmless features which are not needing local
    storage (HTTPS pass-through, local web server)
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Tue, 12 Jul 2016 21:56:15 +0200

apt-cacher-ng (0.9.3.1) KLENDATHU-AIRLINES-FLIGHT-931; urgency=low

  * This is a minor bugfix release, there are more changes to expect soon
  * FIX: attaching to monitor the output of background maintenance task in the
    browser working properly
  * Extended workaround for the fake Content-Location "redirect", setting
    "Accept: octet/stream" header which seems to be the only way to tell
    Apache and nginx that we really want THAT data and not some compressed
    version (no matter whether it's gzip or xz or cewwlCrzyCompression3000 or
    whatever their authors consider suitable for everybody by default)
  * Better handling of error situations in expiration task, printing a summary
    at the bottom.
  * extended metadata (changelogs) download filters for Tanglu
  * Added documentation on how to use multilines with RequestAppendix option

 -- Eduard Bloch <blade@debian.org>  Wed, 08 Jun 2016 23:07:52 +0200

apt-cacher-ng (0.9.3) HAVE-SOME-LIGHT-BALLS; urgency=medium

  * FIX: Cope with removal of SHA1 checksums from Debian/Ubuntu (In)Release files
  * FIX: Overhaul of pdiff based update code, actually repairing pdiff code in
    some environments which has been silently broken for about 2-3 months.  The
    old code was designed for the situation a half decade ago when
    information like compressed version's checksum was not available in the
    patch index.
  * FIX: reduction of volatile data whitelist - now expiring deprecated
    Translations*/* data
  * Small review of expiration (index file updating) code, replaced some
    cruft to make analysis with less syscalls and attempt to get more likely
    available of remote files in some cases.
  * Better handling of by-hash type files:
    + Moved internal storage of Release files' tracking snapshots to a private
      namespace of the cache
    + Proper detection of caches where by-hash data has been downloaded by
      previous versions without tracking snapshots and work around this
      situation
    + in case that by-hash directory has a better version of the reference
      file (matching the latest InRelease's signature), the reference file
      contents is replaced with that correct version
    + correct handling for expiration with or without strict path checking
  * WORKAROUND:
    + detecting a situation when remote attempts to foist uncompressed version
      on the proxy and returning a 500 code to user instead; otherwise that data
      would be handled incorrectly and eventually poison the cache

 -- Eduard Bloch <blade@debian.org>  Sun, 29 May 2016 18:34:45 +0200

apt-cacher-ng (0.9.2) HERE-COMES-JASON; urgency=medium

  * Added regexps for Debian, by-hash index files and changelog data on
    ftp-master.debian.org
  * FIX: expiration of orphaned Packages.bz2 (and similar) files in
    Debian/Ubuntu repositories
  * Added deb.debian.conf to Debian mirror list (Debian bug #820813)
  * Database update
  * Enabling LTO on GCC 5+ as default (working around suspected pthread issues
    by switching to std classes instead of custom pthread access), also fixing
    some GCC 6 specific warnings
  * FIX: default regex for .asc suffix, for Debian's new source files' PGP
    signatures, since dpkg-dev 1.18.5
  * FIX: parse option suffixes with hypens (like Remap-x-y) correctly
  * FIX: on systems where volatile files are accessed ONLY through files named
    by hash value (actually only Ubuntu Xenial),
    attempt to extract the original file names from seen InRelease files and
    restore tracking of original files.
    This is a stop-gap solution (and there will better integration of
    Acquire-By-Hash feature in future releases) but it's needed to be
    deployed ASAP to avoid cache damages on existing systems.

 -- Eduard Bloch <blade@debian.org>  Fri, 13 May 2016 19:37:53 +0200

apt-cacher-ng (0.9.1) THE-DARK-NIGHT; urgency=low

  * FIX: correct human error message printing with recent glibc
  * FIX: corrected linking on systems that need additional libraries to be
    linked manually for socket IO while libwrap was not available
  * More file pattern changes for Ubuntu's do-release-upgrade tool
  * Better processing of filename sets in the "deletion" wizard (compressed
    parameter exchange for longer lists)
  * Database update

 -- Eduard Bloch <blade@debian.org>  Sun, 28 Feb 2016 17:17:43 +0100

apt-cacher-ng (0.9.0) MAXIMUM-OVERDRIVE; urgency=low

  * FIX: Ubuntu Installer's ReleaseNotes fetching was interpreted incorrectly
    forced redirection of ISP to its auth page. Now keeping the target page
    in doubt, just making sure it's reloaded next time.
  * More volatile regexp's to cover requests from Ubuntu Installer, including
    the link that it uses to examine state of the network connection
  * FIX: Replaced "unofficial" uint type with unsigned (should resolve build
    problems under FreeBSDs)

 -- Eduard Bloch <blade@debian.org>  Mon, 01 Feb 2016 19:48:10 +0100

apt-cacher-ng (0.8.9) VOID-WHICH-BINDS; urgency=high

  * FIX: acngtool shall not use proxy in the maint job
  * Minor tweaks for reproducible builds (file order, permissions in tarball)
  * Removed debian-volatile archives from the DB generator
  * Database update

  [ Eric Vander Weele ]
  * Fix for Alioth issue #315276 (explicit return type declaration in a
    lambda, for a build failure with clang 3.5)

 -- Eduard Bloch <blade@debian.org>  Thu, 21 Jan 2016 20:21:59 +0100

apt-cacher-ng (0.8.8) CTHULHU-IS-CALLING; urgency=medium

  * Added support for AppStream metadata in Debian
  * Added filename regexps for FreeBSD files (no expiration code yet)
  * Updated documentation to refer to acngtool instead of expire-caller.pl
  * FIX: check-all checkbox in cleanup assistant functionality, and minor HTML
    format fixes
  * Refactored setting of complex option, added their printing with acngtool

 -- Eduard Bloch <blade@debian.org>  Sun, 20 Dec 2015 14:21:58 +0100

apt-cacher-ng (0.8.7) GIANT-LEAP-FOR-THE-FROGKIND; urgency=low

  * Added more user hints about config files in acng.conf
  * DB generator improvements (parallelization or mirror probing using xargs)
  * added Ubuntu distupgrader release notes to volatile files pattern until
    better information is available
  * Database update
  * More useful reporting of outgoing connection mode on debug verbosity level
  * On GNU toolchain, reduce the size of acngtool and acngfs binaries with
    *sections* options set
  * Option to detect (and turn off) an unreachable upstream proxy through a
    custom shell command
  * Build system changes to really check linker flags in linker calls (fixing
    build on OS-X) and to build faster (just share code between build targets)
  * Option to build without LibTomCrypt (with reduced functionality) or with
    statically linked LibTomCrypt without having to install it first
  * More usefull error messages from acngtool's HTTP downloader
  [ Christoph Biedl <debian.axhn@manchmal.in-ulm.de> ]
  * Fix computation of download limit

 -- Eduard Bloch <blade@debian.org>  Thu, 03 Dec 2015 20:22:52 +0100

apt-cacher-ng (0.8.6) LITTLE-STEP-FOR-A-BIT; urgency=low

  * Build system overhaul, splitted CMakeLists.txt per target, added install
    rules, updated build documentation
  * FIX: enabled SNI feature (TLS Server Name Indication)
  * If OpenSSL is not available, use LibTomCrypt for hash algorithms. Dropped
    included sha1/sha2/md5 implementations.
  * FIX: smarter switching between InRelease and Release file versions in
    expiration runs, triggered by a 404
  * FIX: added auto-skipping of failing proxy to also for tunnel construction
    (https proxying, bugs.debian.org SOAP, etc.)
  * FIX: disabled LTO again, sometimes runtime errors with GCC5
  * NEW: moved the expiration caller script functionality to acngtool and made
    it less verbose for better use in cron jobs
  * FIX: code mistake in Darwin specific parts. Plus, the new LD flags checks
    should also cover the wrong --as-needed check (Alioth task #315130)
  * FIX: in expiration, force blacklisting of .head files without related
    content, even for index files like deprecated Packages.bz2/Sources.bz2
  * More automatic index file replacements (Sources/Packages gz to xz,
    InRelease to Release and vice versa)
  * Removed timestamps from generated gzip files
  * Added Ubuntu's mirror.txt to whitelist (no point in removing it)
  * Database update (and fixed update of gentoo_mirrors.gz)

 -- Eduard Bloch <blade@debian.org>  Mon, 21 Sep 2015 21:32:11 +0200

apt-cacher-ng (0.8.5) WHERE-NO-VERSION-HAS-GONE-BEFORE; urgency=low

  * FIX: smart reconnection code (for sudden remote disconnects) was not
    working as intended since at least version 0.7.4 (however, this was
    covered by other issues and became visible after recent changes related to
    connection forwarding)
  * FIX: Changed default pipeline depth to 10 for better compatibility with
    stupid middleboxes
  * NEW: Added SHA2 support and for non OpenSSL usage: implementations from
    http://www.ouah.org/ogay/sha2/
  * FIX: expiration code for Cygwin data
    + file entry parsing with SHA512 variants
    + correct resolution of base path, fixing path and checksum verification
    + added setup.bz2 to whitelist
  * FIX: in maintenance task downloads, strip double slashes from remote URLs
    which were added on repo-mapped paths (Debian bug #793356)
  * CHANGE: in configuration parsing (adding contents from linked files), a
    <something>.default file was not considered if <something> file was found
    (even if <something> was unreadable or didn't have useful contents)
  * Database update
  * Added a helper to remove deprecated bz2 versions of index files ASAP

 -- Eduard Bloch <blade@debian.org>  Thu, 30 Jul 2015 23:28:51 +0200

apt-cacher-ng (0.8.4) REVENGE-OF-THE-KLUDGE; urgency=low

  * Code refactoring, little memory consumption improvements
  * FIX: creation of the PID file even in non-forking mode (Debian bug #784752)
  * Moving some functionality not relevant for server operation to a dedicated
    tool called "acngtool"
  * VFilePattern extension, [#314924] Allow access to CentOS images
  * LTO is default option again, removed NOLTO hack (use CMAKEOPTS to disable)
  * Compilation fixes for the MUSL C library (by Felix Janda
    <felix.janda@posteo.de>)
  * Redirection of plain http POSTs to bugs.debian.org is now always
    redirected to https style URL.
  * FIX: HTTP header parser supports multilines, also solved potentialy
    incorrect parsing in some cases (identical prefix of header name)
  * Added recent Ubuntu release names (vivid, wily) to mirror checker
  * NEW: when uncached operation is active (DontCache* options), most custom
    headers are passed to the remote servers (Alioth task 314773)
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Thu, 18 Jun 2015 21:59:04 +0200

apt-cacher-ng (0.8.3) TECHNICAL-DEBT-STRIKES-BACK; urgency=medium

  * FIX: semi-smart replacement of .bz2 files with their .xz variants if the
    .bz2 version is no longer available (current mess with the Debian archive)
  * Code refactoring
  * Semi-automated getting of Sourceforge mirror network URLs, list update

 -- Eduard Bloch <blade@debian.org>  Sat, 02 May 2015 16:22:45 +0200

apt-cacher-ng (0.8.2) FOR-A-FEW-BYTES-MORE; urgency=low

  * CHANGE: by default, bugs.debian.org:443 is permitted for CONNECT requests
    if an extra proxy is configured
  * FIX: correct detection and blacklisting of broken (permanently
    disconnecting) hosts
  * NEW: options to run a command upon SIGBUS and disable SSL checks
  * Creating fresh connection for each bugs.d.o operation (attempt to fix
    Debian bug #775126)
  * Various fixes and workarounds for pass-through operations in proxy
    cascades, for direct connects (HTTPS tunnels) and bugs.debian.org SOAP
    activities
  * Various bugfixes of program option parsing and return codes

 -- Eduard Bloch <blade@debian.org>  Wed, 29 Apr 2015 11:30:01 +0200

apt-cacher-ng (0.8.1) JUST-A-LITTLE-BIT; urgency=low

  [Eduard Bloch]
  * Minor build system improvements
  * Mirror database update
  * Added .o files to volatile file name pattern (LP: #1078224)
  * LTO disabled by default (Debian bug #777753)
  * Simple regex testing helper
  * Add handling of http://keyserver.ubuntu.com:11371/pks/lookup?op=get...
    calls to volatile file pattern (LP: #993426)
  * Added special method to tell the server to switch to HTTPS transport
  * Unified the injection of additional mirrors when building mirror lists
  * Added additional mirror list source (mirrors.fedoraproject.org services),
    investigated by Carlos Maddela (Debian bug #780555)

  [Carlos Maddela]
  * Allow Fedora Rawhide repository to be treated as volatile
  * Fixed support for SPfilePatternEx and improved documentation (Debian
    bug #780550)

 -- Eduard Bloch <blade@debian.org>  Fri, 10 Apr 2015 18:35:31 +0200

apt-cacher-ng (0.8.0) GOOD-ENOUGH; urgency=low

  * Work around damaged cache contents when retrieving index files in
    maintenance tasks (Debian bug #737069)
  * Cosmetic changes

 -- Eduard Bloch <blade@debian.org>  Mon, 20 Oct 2014 22:39:17 +0200

apt-cacher-ng (0.8.0rc4) BETA; urgency=low

  * Using eventfd only on Linux
  * Portability fixes for kFreeBSD and Windows (Cygwin)
  * For static generated content respones, make sure to send the EOF chunk
    before closing connection (Debian Bug #762969)
  * Maintenance page related:
    + Cosmetic fixes
    + Fix enforced download on aggregated repos without backend spec (now
      really considering the download URL even from inconsistent header files)
    + Added proper reconstruction of URL for enforced downloads relatively
      to the associated .diff/Index file
    + Fixed some undefined behavior in volatile file refreshing, improved some
      "optimistic" code
  * Reenabled use of LTO (opt-out now with NOLTO=1 flag)
  * Fixed explicite download error hiding

 -- Eduard Bloch <blade@debian.org>  Fri, 03 Oct 2014 23:55:02 +0200

apt-cacher-ng (0.8.0rc3) BETA; urgency=low

  * Remove some forgotten debug printing which interfered with option parsing

 -- Eduard Bloch <blade@debian.org>  Sat, 20 Sep 2014 12:40:56 +0200

apt-cacher-ng (0.8.0rc2) BETA; urgency=low

  * Merge with 0.7.x branch changes

 -- Eduard Bloch <blade@debian.org>  Sat, 20 Sep 2014 12:14:26 +0200

apt-cacher-ng (0.8.0rc1) BETA; urgency=low

  * Systemd changes: sd_notify integration if libsystemd-daemon is available.
    Service file now can act more precisely if Type is set to notify. Minor
    tmpfiles config tuning to survive bad permission changes, obsoleting the
    ExecStartPre command.
  * Alternative to download thread wake via pipe with eventfd on Linux systems
    (needs less file descriptors)
  * Config file lookup code change to found .default files scattered between
    config and support-data folders
  * Fix false positive of the bad-auth-page-redirection detector, triggering
    on multiple redirects with some HTML content (Sourceforge scheme). Also
    allowed ?&= to be sent unencoded since some server's don't decode the
    escaped version correctly.
  * Keep some information in cached headers while reseting the file state
    (needed to retrive original URL for maintenance tasks)
  * Rereading disk information in advanced file checks (maintenance), cache
    cannot be trusted and keeping it fresh is not worth the efforts
  * Fixed HTTP redirection with backend mode
  * Maintenance download code now prefers the original path resolved by
    backend consideration if that option looks more likely
  * Internal refactoring WRT download job management
  * Fixed Base64 encoding to work correctly with non-ascii characters (still
    not recommended, better use URL encoding in password settings!)

 -- Eduard Bloch <blade@debian.org>  Sat, 20 Sep 2014 10:51:05 +0200

apt-cacher-ng (0.8.0~pre3) BETA; urgency=low

  * Special handling for a case where no volatile (meta) data is present in
    the cache in its original version but the pdiff patches are there. The
    guessed best version of the base file is fetched automatically.
  * Internal refactoring, replacement of GCC specific atomic operations in
    debug code
  * FIX: potential bottleneck (serialization of connect operations because of
    too big critical section)
  * FIX: SSL_connect now running on non-blocking file handle with timeout,
    hopefully avoiding the sometimes happening freezing for hours
  * Database update

 -- Eduard Bloch <blade@debian.org>  Tue, 09 Sep 2014 22:52:32 +0200

apt-cacher-ng (0.8.0~pre2) ALPHA; urgency=low

  * Fixed Tracing mode in non-debug build
  * Added NEWS.Debian to the volatile patterns filter (LP: #1350432)
  * FIX: premature release of internal file descriptors sometimes causing
    pointless reconnects (thanks to Kirill Timofeev)
  * FIX: rare case of premature abortion of a chunked transfer if the source
    deliveres data to slowly
  * Added a trick to allow silent handling of arbitrary range requests in a
    more appropriate way (returning 206) within a limited defined period
    (configured through MaxInresponsiveDlSize variable; Debian bug #744727)
  * Stopped using encoded URL strings in the internal processing (pointless
    code compilications)
  * Added support for more formats of the Location: URL in redirects
  * Refactoring of old file item maintaining code
  * Partial workaround for transparent redirects to WiFi auth sites etc.

 -- Eduard Bloch <blade@debian.org>  Sat, 30 Aug 2014 21:33:14 -0700

apt-cacher-ng (0.8.0~pre1) ALPHA; urgency=low

  * Better reporting of error messages in config file reader (Alioth
    task 314684)
  * Source tree cleanup, moving to git
  * Database update
  * overall code review and refactoring with C++11 features, now requiring
    language feature support of GCC 4.7 or newer or equivalent Clang compiler
  * Admin helper tool for identification of required filename pattern changes
  * Additional pattern options that extend the current ones, allowing to user
    to add custom configuration without interference with future updates of
    default settings
  * Special file name pattern set which identifies static files before
    name is checked against volatile file pattern. The feature is now used to
    identify special .gpg files that are static while volatile rule matches
    all others .gpg files (Debian bug 720165)
  * Partial rewrite of internal web page creation code, new syntax for server
    side includes, with smooth access to configuration options and less
    computational overhead
  * better checks for compiler and linker features
  * CXXFLAGS and LDFLAGS variable passing (for optimizations, see INSTALL)
  * Using hash maps/sets on various locations for better performance
  * Portability fixes for systems without zlib or libbz2
  * Lots of refactoring on maintenance page factory code, including bugfix:
    Displaying user info page rather than admin page if the admin page site
    name was not configured in the config at all
  * On expiration code, review and partial rewrite:
    + better readability and performance
    + less memory usage
    + contents checking for Debian Installer image indexes, no more carte
      blanche for d-i files unless one adds them manually to the whitelist
    + better checking file sizes inconsistencies without checksumming
  * Review and refactoring of repository management:
    + better readability
    + now using better tailored containers
    + stricter size format parsing on certain places
    + fixed removal checkboxes not appearing sometimes
  * Helper rules to install database generation scripts, see Debian package
    for details
  * If OpenSSL is available, use libcrypto implementations of SHA1 and MD5
    hashing (much faster on modern CPUs)
  * Added data download throttling (AKA speed/rate limiting)
  * Additional care about never truncating files while they might be still
    open in the maintenance tasks
  * Rudimentary handling of SIGBUS; only user notification with guessed
    trouble source (mmap'ed file) in error log and gracefull exit
  * If OpenSSL is available, use libcrypto implementation of SHA1 and MD5
    hashing (much faster on modern CPUs)

 -- Eduard Bloch <blade@debian.org>  Wed, 16 Jul 2014 22:00:34 +0200

apt-cacher-ng (0.7.27) BETA; urgency=low

  * Starting with this release, this branch goes into maintenance mode and
    future versions 0.7.x will receive only the most urgent bugfixes and
    database updates, and some other small and harmless changes
  * Merged build system changes from 0.8.x branch with little modifications,
    including move of dbgen rules into dbgen/Makefile
  * Merged fix for CVE-2014-4510 (XSS attack resistance)
  * Database update

 -- 

apt-cacher-ng (0.7.26) BETA; urgency=low

  * FIX: Correct re-escaping URLs on internal forwarding and stop
    double-unescaping of incoming request URLs (patch from Carlos Maddela)
  * FIX: Removed leading slash from "Delete all unreferenced" link which was
    interpreted by browsers as a-host-via-same-protocol (also by Carlos Maddela)
  * FIX: Make the build without lzma possible again 
  * FIX: Optional per-repository proxy switch now working and documented
  * Simple option to just dump the complete configuration after assembling it
  * Added http.debian.net the same way as cdn.debian.net
  * Database update

 -- Eduard Bloch <blade@debian.org>  Sat, 22 Mar 2014 14:20:36 +0100

apt-cacher-ng (0.7.25) BETA; urgency=low

  * FIX: handling certain SSL transport errors happening after
    handshake which could hause an endless loop
  * FIX: line parser could cause endless looping on truncated bz2
    compressed text files (regression from 0.7.23)
  * FIX: optimized handling of whole sequences of redirection
    responses, now working with additional response bodies within
  * FIX: DNS cache confused entries with different ports like 80 vs. 443
  * Better printing of SSL verification error strings
  * Review/Update of internal file downloader (for maintenance tasks), now
    prefering stored original URL as main source description
  * Removed old code that implemented a workaround for the Debian bug
    #520824 (temporary and many years old)

 -- Eduard Bloch <blade@debian.org>  Sun, 05 Jan 2014 12:05:59 +0100

apt-cacher-ng (0.7.24) BETA; urgency=low

  * Little helper to print single configuration settings as seen after
    configuration directory reading.
  * Fixed unused assignment compiler warning on architectures not supporting
    fallocate

 -- Eduard Bloch <blade@debian.org>  Thu, 19 Dec 2013 20:55:55 +0100

apt-cacher-ng (0.7.23) BETA; urgency=low

  * The "Getting Some Old Stuff Right" release
  * Refactored uncompressor handling, now really fixing end-of-stream handling
    (replacing the incorrect workaround introduced for XZ in 0.7.21), adding
    dynamic buffer for the line parser (now accepting lines with length up to
    almost 64kb)
  * Experimental feature: stop using a failing HTTP proxy (Alioth task
    314324). Optional, with a configurable connection timeout.
  * Configuration file review (format, consistency, descriptions, update of
    default settings), configuration parsing code review and little fixes,
    like now it's possible to unset Proxy again.
  * Remembering pre-escaped URL state and making sure not to double-escape
    certain chars in internal HTTP redirects (Alioth task 314548)
  * SSL support with OpenSSL (if available), overall code adaptation to
    accept https:// as alternative URI scheme (Debian bug #729508)

 -- Eduard Bloch <blade@debian.org>  Tue, 17 Dec 2013 21:20:18 +0100

apt-cacher-ng (0.7.22) BETA; urgency=low

  * Ignoring commented lines in rewrite lists

 -- Eduard Bloch <blade@debian.org>  Mon, 09 Dec 2013 21:30:38 +0100

apt-cacher-ng (0.7.21) BETA; urgency=low

  * Added credentials handling to backend URL definitions (Debian bug #729505)
  * Database update, also added the rarely used ftp.debian.com alias
  * Better integration and database update code for Gentoo repositories,
    patch from Robin H. Johnson <robbat2@gentoo.org> with little changes
  * working around weird behavior of xz decompressor happening on some small
    index files (Debian bug #729941)
  * first preparations of libssl support

 -- Eduard Bloch <blade@debian.org>  Mon, 09 Dec 2013 00:19:19 +0100

apt-cacher-ng (0.7.20) BETA; urgency=low

  * Build fix for non-standard namespace with smart pointers (by Andrew
    Sharpe, Alioth bug 100566)
  * Trying to create its cache directory on startup (Debian bug #729939)
  * Potential fix for a download contents disorder (Debian bug #730221)
  * Database update

 -- Eduard Bloch <blade@debian.org>  Sat, 23 Nov 2013 20:53:51 +0100

apt-cacher-ng (0.7.19) BETA; urgency=low

  * The Just What We Can Fix ASAP release
  * Database update
  * Explaining failure of daemon() call in the error messages

 -- Eduard Bloch <blade@debian.org>  Mon, 28 Oct 2013 22:16:54 +0100

apt-cacher-ng (0.7.18) BETA; urgency=low

  * Added systemd tmpfile.d conf file, moved systemd related files to systemd/
  * Introduced custom.gpg as volatile file (Debian bug #720165)

 -- Eduard Bloch <blade@debian.org>  Tue, 20 Aug 2013 00:38:02 +0200

apt-cacher-ng (0.7.17) BETA; urgency=low

  * FIX: now really made the option for first expiration error(s) suppression
    configurable by the user
  * Little build system hardening
  * Created systemd service script
  * mirror database update

 -- Eduard Bloch <blade@debian.org>  Sun, 18 Aug 2013 22:44:01 +0200

apt-cacher-ng (0.7.16) BETA; urgency=medium

  * FIX: now really ignoring unavailability of the pdiff Index files in the
    metadata update step of the expiration task
  * FIX: segmentation fault in the maintenance tasks (programming mistake
    in 0.7.15)

 -- Eduard Bloch <blade@debian.org>  Wed, 31 Jul 2013 23:34:20 +0200

apt-cacher-ng (0.7.15) BETA; urgency=medium

  * FIX: with connection caching, connections in timeout state were
    erroneously reported as download problems although recovery from this
    state was possible and expected by related code (Debian bug#717832)
  * FIX: regressions in 0.7.14: download threads not terminated ASAP when
    the client has gone (not before remote connection times out); local file
    serving returned empty body
  * FIX: macro changes (to an inline method) to work on certain FreeBSD variants
    (Alioth ticket #313622)
  * NEW: method to suppress first error reports from the cron job, e.g. like
    on rarely appearing download problems
  * nicely handling the disappearence of i18n/Index files in the cache data
    expiration code
  * mirror database update

 -- Eduard Bloch <blade@debian.org>  Sun, 28 Jul 2013 21:05:17 +0200

apt-cacher-ng (0.7.14) BETA; urgency=low

  * FIX: removed reporting cache hits to apt-cacher.err if the debug config
    option is not set to debug value 
  * FIX: preventing a hickup in download execution occuring sometimes when
    pipelining was in use and a second APT client suddenly disconnected after
    requesting a file but before starting to receive it (symptoms: "Unknown
    error" or "Invalid header")
  * FIX: HTML syntax in maintenance log and better readability in browser or
    pure text editor
  * FIX: Overhaul of background cleanup scheduler, now spending less CPU time
    with unrelated tasks, preventing infinite loops even if the processing
    code calculated its timing wrong. Minor code fixes on places that might
    have caused such loops or inefficient execution under certain
    circumstances
  * Logging code cleanup, added better debugging info (on SIGUSR2) for
    background cleaner activity and overall cache state
  * Overall refactoring and cleanup of file/download item management code,
    more safe reference counting now
  * Added manual to LocalDirs in order to serve it through apt-cacher-ng
  * Reading MIME types is now only done on the first request (save memory)
  * Disabled extra heuristics telling the user that the proxy and URL
    rewritting are active. This usecase is possible now since LocalDirs was
    introduced (Alioth ticket #314314)

 -- Eduard Bloch <blade@debian.org>  Sat, 20 Jul 2013 10:50:25 +0200

apt-cacher-ng (0.7.13) BETA; urgency=low

  * FIX: consistent URL escaping/unescaping handling, works around problems
    with weird peers (Alioth bug #314030)
  * FIX: Darwin port build fix from Andrew Sharpe (Alioth bug #314025)
  * Avahi config from Lisandro Damián Nicanor Pérez Meyer
  * Unified handling of storage paths in restrictive filesystems.
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Tue, 21 May 2013 20:23:38 +0200

apt-cacher-ng (0.7.12) BETA; urgency=low

  * FIX: added mirrors.txt to file name patterns (for Ubuntu's mirror lookup
    tools, LP: #1020995)
  * FIX: real Darwin port (based on work from Andrew Sharpe
    <andrew.sharpe79@gmail.com>)
  * NEW: options to disable persistent connections and configure pipelining
    behaviour (LP: #1097952)

 -- Eduard Bloch <blade@debian.org>  Sat, 12 Jan 2013 20:15:04 +0100

apt-cacher-ng (0.7.11) BETA; urgency=low

  * FIX: iterator out of bounds when looking for file item replacements
  * Spelling fix: s/Threat/Treat/

 -- Eduard Bloch <blade@debian.org>  Wed, 19 Dec 2012 20:14:46 +0100

apt-cacher-ng (0.7.10) BETA; urgency=low

  * Fixes accidential removal of .rpm files covered by XML indes of unknown
    format in the cleanup routine

 -- Eduard Bloch <blade@debian.org>  Tue, 06 Nov 2012 23:23:38 +0100

apt-cacher-ng (0.7.9) BETA; urgency=low

  * Fixed downloads with the ForceManaged mode (too paranoid redirection
    checks and not implemented correctly)
  * Mirror database update. Removed http.debian.net from regular Debian
    mirrors URL list again, there is some potential of involuntary creation of
    endless redirection loops. Should better be used by administrators who
    know what they are doing.

 -- Eduard Bloch <blade@debian.org>  Mon, 05 Nov 2012 23:16:58 +0100

apt-cacher-ng (0.7.8) BETA; urgency=low

  * FIX: overhaul of the http redirection handling, it all moved to the
    download agent where it actually belongs to. Can now silently resume a
    download if a mirror suddenly failes while download was running.
  * FIX: partial rewrite of cache management code, getting rid of some
    evolutionary created junk. Now possible to detect file descriptors that
    got stuck because of some blocking client and setup a replacement program
    path for other clients when they need a fresh version of the remote file.
  * NEW: SIGUSR2 writes an overview of the cache state to the error log
  * Database update, also includes http.debian.net now.
  * Adding .html suffix to maintenance reports, for convenience.
  * Added .drpm files to filename patterns
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Sun, 04 Nov 2012 20:38:02 +0100

apt-cacher-ng (0.7.7) BETA; urgency=low

  * FIX: moved object cleanup activity to a dedicated thread, review and
    possible fixes of invocation conditions
  * NEW: CONNECT pass-through mode for explicitly specified hosts
  * Some refactoring of filename matching code
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Sat, 04 Aug 2012 20:38:47 +0200

apt-cacher-ng (0.7.6) BETA; urgency=low

  * Added more volatile path patterns for CentOS/SL (Ubuntu bug 1006844)
  * Working around bad servers/proxies returning 416 instead of fresh
    responses when Range/If-Modified-Range combo couldn't be satisfied
    (probably Debian bug #676214)

 -- Eduard Bloch <blade@debian.org>  Thu, 07 Jun 2012 17:13:18 +0200

apt-cacher-ng (0.7.5) BETA; urgency=low

  * More fixes for corner cases of silent resuming handling
  * BSD portability fixes (fdatasync check, using greedy operand in regular
    expressions since non-greedy version is not really needed anymore)
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Wed, 30 May 2012 23:44:44 +0200

apt-cacher-ng (0.7.4) BETA; urgency=low

  * FIX: more precise checks for directory change attempts, allowing file
    names with double dots (Debian bug #665301)
  * FIX: increased retry counts for reconnection attempts since the current
    default (2..4) might be to low with whacky uplinks and repeatedly changing
    target hosts (Debian bug #672801), also sleeping a while before
    reconnecting and extra handling for unexpected EAGAINs
  * FIX: not attempting a download on idle file items (causing misleading
    error messages, Debian bug #672801 second part)
  * FIX: Prevent endless looping on certain download problems (Ubuntu
    bug 999915)
  * FIX: FreeBSD portability fixes
  * Implemented "truncate damaged" function in the admin interface, fixed
    confirmation page's layout
  * Little workarounds for various hickups in dirty cache structures

 -- Eduard Bloch <blade@debian.org>  Thu, 24 May 2012 13:37:08 +0200

apt-cacher-ng (0.7.3) BETA; urgency=low

  * FIX: storage of HTTP header data written to contents of cached files after
    unexpected disconnect
  * FIX: Include unistd.h to build with latest GCC
  * Printing warnings when a non-mergeable config value is overriden
  * Option to turn on/off the use of Range/If-Range/If-Modified-Since fields in
    requests for volatile files, needed to work around broken (proxy) servers

 -- Eduard Bloch <blade@debian.org>  Fri, 20 Apr 2012 09:26:16 +0200

apt-cacher-ng (0.7.2) BETA; urgency=low

  * FIX: Added consideration of HTTP status 307 on more places along with 301
    and 302 codes (Debian Bug#661971)

 -- Eduard Bloch <blade@debian.org>  Sat, 03 Mar 2012 17:25:51 +0100

apt-cacher-ng (0.7.1) BETA; urgency=low

  * FIX: forwarding of data while receiving a remote file in chunked transfer
    mode (instead of zero-byte sized responses)
  * FIX: implemented proper skipping of chunked transfer trailer before
    switching to the next response
  * FIX: don't consider very small uncompressed file as damaged (Debian
    bug 660622)
  * Reset the cached file data if the subsequent response in the stream seems
    to have garbage as header (another symptom from Debian bug 658550)

 -- Eduard Bloch <blade@debian.org>  Mon, 20 Feb 2012 22:12:52 +0100

apt-cacher-ng (0.7) BETA; urgency=medium

  * FIX: unified access to internal cache object key, fixes memory leak,
    bogus "reproducibility" and misleading error messages, all caused by late
    filename normalization with special handling of ~ (Debian bug 658550)

 -- Eduard Bloch <blade@debian.org>  Sun, 05 Feb 2012 12:04:45 +0100

apt-cacher-ng (0.6.12) BETA; urgency=low

  * NEW: internal following of HTTP redirection responses with configurable
    redirection limit
  * FIX: unescaping RequestAppendix option value with multiple newlines
    correctly
  * FIX: more generic name pattern for volatile files, also treating *.db
    files as compressed index data in expiration (automatically detected by
    magic strings now)
  * FIX: now really supporting legacy .lzma file format

 -- Eduard Bloch <blade@debian.org>  Sun, 15 Jan 2012 16:09:54 +0100

apt-cacher-ng (0.6.11) BETA; urgency=low

  * FIX: when original source used chunked transfer encoding, the local
    delivery also prefered chunked mode even where Content-Length was known
  * FIX: [acngfs] copy complete statvfs buffer in statfs call
  * minor optimizations
  * added .db to vfile patterns (for pacman)

 -- Eduard Bloch <blade@debian.org>  Mon, 26 Dec 2011 16:38:19 +0100

apt-cacher-ng (0.6.10) BETA; urgency=low

  * NEW: option to permit use of custom ports specified in user requests
  * FIX: don't drop internal uncompressed versions of index files in some cases
  * Documentation improvements, cosmetic fixes

 -- Eduard Bloch <blade@debian.org>  Sat, 26 Nov 2011 13:09:15 +0100

apt-cacher-ng (0.6.9) ALPHA; urgency=low

  * FIX: always responding with 206 response to valid requests with Range:
  * FIX: returning the existing data range when Range: goes beyond EOF
    instead of 416 response
  * FIX: no attempts to connect to remote server when a range of a cached file
    is requested and file is incomplete but the range is within available
    (non-volatile) data
  * FIX: [acngfs] rewrite of download code (reusing acng components), proper
    handling of various situations with subsequent chunks, including
    validation of file state between chunks
  * FIX: Workaround for internal compiler error with gcc versions before 4.5
  * more precise time comparison in not-modified check

 -- Eduard Bloch <blade@debian.org>  Sun, 06 Nov 2011 20:16:19 +0100

apt-cacher-ng (0.6.8) BETA; urgency=low

  * NEW: optional TCP filters using libwrap
  * NEW: added support for Scientific Linux with contribution from Rakhesh
    Sasidharan (thanks). Includes experimental support for Fedora Core and
    EPEL (needs more testing, documentation, dedicated expiration code).
  * NEW: better functions for dealing with many corrupted files
  * FIX: reading of detached list files with regular expressions for
    files in DontCache... directives
  * FIX: allowed download of uncompressed Translation* files 
  * Documentation improvements, explicit guidelines for search and removal of
    damaged files lingering in the cache.

 -- Eduard Bloch <blade@debian.org>  Sun, 16 Oct 2011 21:31:58 +0200

apt-cacher-ng (0.6.7) BETA; urgency=low

  * NEW: Debdelta support, precaching can rebuild packages using small diffs
  * NEW: config option for allowed/prefered protocols for outgoing connections
  * NEW: more verbosity in expiration and import operations, with details
    about disk space allocation and expiration period
  * NEW: allow to keep a number of latest additional versions of .deb packages
    which are no longer covered by index references
  * FIX: Close lzma descriptor properly after reading files in expiration runs
  * Improvement/refactoring of partial mirroring code
  * Stricter "as needed" mode in partial mirroring, filters also on base names
    of Debian packages. "Skip index update" also skips download of Release
    files.
  * Overhaul of background download/update/patching code, allows HTTP
    redirection in more cases
  * Added cleanup controls for index parsing errors
  * Minor fixes for operation on symlink trees
  * Portability improvements
  * Documentation improvements

 -- Eduard Bloch <blade@debian.org>  Fri, 30 Sep 2011 16:05:54 +0200

apt-cacher-ng (0.6.6) BETA; urgency=low

  * NEW: smart detection of architectures which were deliberately removed from
    a Debian release and implicite expiration of its data
  * NEW: precaching of Debian/Ubuntu archives can be restricted to packages
    related to the ones already existing in cache (same storage folder)
  * FIX: resolve a Circular Wait situation when spare thread setting is low
    and a single apt client uses a lot of connections and doesn't close them
    while still waiting for response from the last ones
  * FIX: on index file update for expiration, if a faulty patch or patch base
    was present and a replacement file (compressed) was downloaded instead,
    make sure that the (probably) faulty patch base file is replaced
  * FIX: correct base path handling with changed order in recent Sources files
  * [acngfs] Improved connection checking/closing sequence
  * Changed source compression to XZ
  * Changed interpretation of the Debug option 
  * Using plain exit() in termination handler, no need for kludges anymore
  * Refactoring, minor optimizations on config/index file parsing

 -- Eduard Bloch <blade@debian.org>  Sun, 21 Aug 2011 14:27:10 +0200

apt-cacher-ng (0.6.5) BETA; urgency=low

  * FIX: outgoing connection caching (regression, 0.6.4)
  * FIX: [acngfs] file type checking crash (regression, 0.4.8)
  * FIX: [acngfs] interpret and confirm remote disconnects correctly
  * NEW: [acngfs] local fallback mode - if proxy is not reachable (self-update
    situation) then file from local directory can be returned
  * NEW: [acngfs] load FUSE lib via dlopen
  * NEW: socket pooling policy reviewed, now expiring based on the life state
    or the hard timeout value
  * Mirror data update
  * Improved documentation, including acngfs use case

 -- Eduard Bloch <blade@debian.org>  Sun, 07 Aug 2011 17:39:34 +0200

apt-cacher-ng (0.6.4) ALPHA; urgency=low

  * FIX: big rewrite of downloader state machine (all ugly bits from the
    first days should be gone now). Also changes connection pooling and
    related parts and fixes some potential errors.
  * FIX: avoid unexpected reconnects after HTTP error status code
    (probably Debian bug #628995)
  * NEW: mirrors can be accessed on arbitrary TCP port when mapped explicitely
    in the server config
  * NEW: support additional flags in the Remap-... declaration
  * NEW: keyfile=... flag which tells to blacklist a mirror backend
    immediately when certain files are not available (Debian bug #616091)
  * cosmetic fixes, don't attempt to read index data from files from the
    ignore list

 -- Eduard Bloch <blade@debian.org>  Mon, 01 Aug 2011 23:39:20 +0200

apt-cacher-ng (0.6.3) BETA; urgency=medium

  * FIX: big endian detection in the new build system
  * Mirror data update, Mirrors.masterlist URL update

 -- Eduard Bloch <blade@debian.org>  Tue, 14 Jun 2011 22:46:47 +0200

apt-cacher-ng (0.6.2) BETA; urgency=low

  * NEW: optional truncation of damaged files via web interface
  * FIX: segfault after failed connection attempt in some situations
  * FIX: consider CXXFLAGS from environment
  * FIX: compilation with GCC 4.6
  * FIX: better regexp for mscorefonts installer (closes: LP#755085)
  * Mirror data update, added cdn.debian.net

 -- Eduard Bloch <blade@debian.org>  Thu, 28 Apr 2011 00:02:34 +0200

apt-cacher-ng (0.6.1) BETA; urgency=low

  * NEW: reusing persistent connection handles between download activities
  * FIX: in resource cleanup thread: premature termination and unneccessary
    check cycles in corner cases
  * Documentation updates

 -- Eduard Bloch <blade@debian.org>  Mon, 28 Mar 2011 00:49:59 +0200

apt-cacher-ng (0.6) BETA; urgency=medium

  * changed default selection type from MD5 to SHA1 in Release file parser 
  * additional SHA1 checksumming in package import file scaner
  * added support for InRelease files, considered equal to Release files
  * ignore vanishing ...diff/Index files if the base file is still present
  * the cache control header is added automatically for volatile files and not
    added otherwise; RequestAppendix option is no longer involved
  * improved robustness of index data state analyzer, preventing hickups
    with incomplete files
  * distkill.pl: cares about installer-$ARCH folders

 -- Eduard Bloch <blade@debian.org>  Sat, 26 Feb 2011 16:28:40 +0100

apt-cacher-ng (0.5.14) BETA; urgency=low

  * FIX: potential race in DNS resolution cache, also moved the DNS expiration
    code to the new cleanup handler
  * NEW: CMake driven build system revived, replacing the fully custom one
  * NEW: Solaris port, instructions in INSTALL.solaris
  * NEW: option to append arbitrary data to request headers, default
    content contains remote proxy cache control data (closes: #613816)
  * Documentation improvements, rewrite of Remapping part. Thanks to Gedalya
    for review and corrections.
  * Optimized delayed file item release code, faster connection handler start
  * Dropped deprecated mirror information for Debian archive mirrors

 -- Eduard Bloch <blade@debian.org>  Fri, 18 Feb 2011 23:04:24 +0100

apt-cacher-ng (0.5.13) BETA; urgency=low

  * FIX: lethal race in getaddrinfo/freeaddrinfo in CAddrInfo
  * FIX: Cygwin workaround and better LZMA detection
  * NEW: modification of duplicated task execution in the web GUI, added
    attaching to the log output of the running task
  * NEW: script execution on connection/disconnection to certain mirrors
  * Internal rewrite of delayed cleanup task scheduling

 -- Eduard Bloch <blade@debian.org>  Sun, 06 Feb 2011 19:11:54 +0100

apt-cacher-ng (0.5.12) BETA; urgency=low

  * NEW: Partial mirror function (guided precaching)
  * NEW: Assisted removal of bad index files via web interface
  * FIX: Decoding URL encoded characters in proxy username/password
  * FIX: visibility of cruft in main cache directory
  * Minor optimizations: cancel link when report output starts, less server
    queries when downloading patch files for internal index file
    reconstruction, less spam in report outputs, web interface polishing for
    better readability

 -- Eduard Bloch <blade@debian.org>  Thu, 02 Dec 2010 23:09:33 +0100

apt-cacher-ng (0.5.11) BETA; urgency=low

  * NEW: extended distkill.pl to be more vertisale cleanup tool
  * FIX: ignore trailing comments in the config files reliably
  * FIX: setting explicite Content-Length for non-bodyless responses with zero
    size (Debian bug 603463)
  * FIX: data passing hiccup with DontCache* options which could also cause
    internal deadlocks (resource leak). Also making sure that all headers are
    passed as-is and not modified.

 -- Eduard Bloch <blade@debian.org>  Thu, 18 Nov 2010 22:40:39 +0100

apt-cacher-ng (0.5.10) BETA; urgency=medium

  * FIX: import function (creation of new directories)
  * little optimizations: less mkdir calls, avoid checksumming
    of unknown files in the import task, avoid repeated checksumming when
    files have duplicates
  * Documentation improvement, better explanation of cache storage failures
    with solving strategy, disk/ISO data import tricks

 -- Eduard Bloch <blade@debian.org>  Mon, 08 Nov 2010 00:52:56 +0100

apt-cacher-ng (0.5.9) BETA; urgency=low

  * adds a forced delay avoiding repeated remote calls for volatile data
    updates, minimizing download activity when the client request come within
    an interval of few seconds (Debian bug #598469)

 -- Eduard Bloch <blade@debian.org>  Fri, 05 Nov 2010 23:50:06 +0100

apt-cacher-ng (0.5.8) BETA; urgency=low

  * Documentation update

 -- Eduard Bloch <blade@debian.org>  Mon, 01 Nov 2010 15:30:54 +0100

apt-cacher-ng (0.5.7) ALPHA; urgency=low

  * total overhaul of index file updating code, superseeding the hurd of
    minor optimizations invented before:
    - making the smart update ready for lzma/xz
    - improved sharing of related files among repositories and distribution
      branches, to create less file during internal patching
    - rewritten bzip2 recreation and injecting code, moved the external bzip2
      command execution to internal operation using libbz2
    - unified list management to save some memory during expiration
    - minor import code changes to cope with other modifications
  * FIX: confusion of expiration code in cases when directory symlinks were
    set inside the cache, exposed with file injection when Recompbz2 was set
  * FIX: restored exact Translation-* processing and added proper support for
    their index files
  * FIX: strip http:// prefix from proxy username specification

 -- Eduard Bloch <blade@debian.org>  Wed, 20 Oct 2010 18:50:07 +0200

apt-cacher-ng (0.5.6) BETA; urgency=low

  * Disabled auto-scrolling in maintenance pages (incomplete code)

 -- Eduard Bloch <blade@debian.org>  Sun, 12 Sep 2010 23:21:09 +0200

apt-cacher-ng (0.5.5) BETA; urgency=low

  * NEW: Added experimental support for pacman downloads (Arch Linux archive)
  * NEW: Only update index files in expiration or import tasks where index
    data can eventually be extracted from
  * FIX: invalid data read while creating HTTP error response headers
  * FIX: added proper patterns to cover all debian-installer files (to
    volatile pattern for directories without visible version, static package
    pattern for directories with visible version)
  * FIX: apply whitelist pattern to whole whole path and not just filenames
  * FIX: minor potential bugs

 -- Eduard Bloch <blade@debian.org>  Sun, 12 Sep 2010 22:32:27 +0200

apt-cacher-ng (0.5.4) BETA; urgency=low

  * fixed old thread memory leak
  * added basic LZMA support using liblzma
  * not opening volatile files for writting when they were not changed
  * improved display of error messages in expiration code
  * minor optimization and improvements of old code

 -- Eduard Bloch <blade@debian.org>  Sun, 29 Aug 2010 15:26:09 +0200

apt-cacher-ng (0.5.3) ALPHA; urgency=low

  * NEW: regular web server mode, mapping of local file system to browsable
    HTTP directories
  * FIX: total review & overhaul of the response (job) control, adding more
    verbose error pages and making code more uniform
  * FIX: restored chunked transfer mode for open-end jobs
  * FIX: destruction of metadata of some volatile files during the
    expiration task despite of being covered by WfilePattern
  * FIX: various internal fixes and improvements (more user debug output on
    sensible places, string builder for various purposes inspired
    by std::ostringstream, passing Location: value for most redirect responses
    now, weak synchronization protection in some rarely used code

 -- Eduard Bloch <blade@debian.org>  2010-08-26 00:45:20 +0200 (Do, 26. Aug 2010)

apt-cacher-ng (0.5.2) BETA; urgency=low

  * basic support for OpenSUSE archives
  * improved Cygwin handling
  * fixed incorrect check which might cause premature removal of .head files
    belonging to certain files 

 -- Eduard Bloch <blade@debian.org>  Sat, 07 Aug 2010 12:39:31 +0200

apt-cacher-ng (0.5.1) BETA; urgency=low

  * Minor regression fixes: 
    + correct form parameter sending in maintenance page
    + printing of regular debug messages with 0 < debugvalue < 6
  * Cleanup of administrative page preparation code, various HTML format fixes
    to make them W3C HTML 4.01 compliant. Static pages are now delivered
    without Chunked transfer encoding, making them better usable for naive
    HTTP clients like w3m.
  * Refactoring, code cleanup and unification
  * Fixes for compilation on Cygwin and *BSD platforms:
    + more explicit linking checks in build environment configuration
    + added fallback defaults for linux-specific optimizations
  * Initial support for Cygwin mirror network, including basic cache
    expiration methods
  * Documentation improvements

 -- Eduard Bloch <blade@debian.org>  Tue, 27 Jul 2010 00:14:39 +0200

apt-cacher-ng (0.5) BETA; urgency=medium

  * fixed gracefull disconnection code, now really initiate the connection
    shutdown (Debian bug #589630)
  * filter expression change: allow GET parameters for Ubuntu's release
    announcements
  * default creation permissions for files and directories now configurable
    thorugh FilePerms and DirPerms
  * now respecting umask value in creation permissions (Debian bug #589410)

 -- Eduard Bloch <blade@debian.org>  Mon, 19 Jul 2010 22:43:03 +0200

apt-cacher-ng (0.4.9) BETA; urgency=high

  * Cleanup of LFS related hacks. Now adding format string customization only
    for present _FILE_OFFSET_BITS and only on non-64bit platforms
  * Better separation of required/optional/default/additional flags 
    in the Makefile. Many thanks to "M. Vefa Bicakci" for some hints.
  * Mirror lists update

 -- Eduard Bloch <blade@debian.org>  Tue, 06 Jul 2010 00:05:36 +0200

apt-cacher-ng (0.4.8) BETA; urgency=low

  * Improved debug logging
  * Pass-through mode (without caching) for URLs identified by
    regular expressions, specified with DontCache* options
  * Moved regex compilation to startup time only
  * Added .ddeb suffix to the static package list
  * Completed LFS support on 32bit architectures
  * Removed workarounds for some ancient client problems
  * Attempt of more gracefull closing of the client socket 

 -- Eduard Bloch <blade@debian.org>  Fri, 02 Jul 2010 08:33:24 +0200

apt-cacher-ng (0.4.7) BETA; urgency=low

  * Added fallback to alternative backends descriptions if the default ones
    are unusable
  * Fixed potential socket descriptor leak

 -- Eduard Bloch <blade@debian.org>  Sat, 08 May 2010 22:25:16 +0200

apt-cacher-ng (0.4.6) BETA; urgency=low

  * Added conversion of some URL encoding strings when storing local files
    Some user might want to urlenconde-fixer.pl (in dry-run or real modes)
    to check/correct filenames in the local cache directories.

 -- Eduard Bloch <blade@debian.org>  Wed, 10 Mar 2010 22:30:58 +0100

apt-cacher-ng (0.4.5) BETA; urgency=low

  * Implemented basic SOAP-to-BTS pass-through
  * Typo fix in userinfo.html
  * moved index and verbosity related option checkboxes in report.html to make
    clear that they also refer to the import functionality
  * added example for DnsCacheSeconds option usage (the option itself has
    existed for ages)

 -- Eduard Bloch <blade@debian.org>  Wed, 03 Mar 2010 21:22:26 +0100

apt-cacher-ng (0.4.4) BETA; urgency=low

  * performance tuning of acngfs (especially transfering less data for simple
    stat calls)
  * FIX: possible crash with chunked response of some servers, Ubuntu bug#525176

 -- Eduard Bloch <blade@debian.org>  Sun, 21 Feb 2010 21:10:41 +0100

apt-cacher-ng (0.4.3) BETA; urgency=low

  * Support for new dpkg v3 source formats

 -- Eduard Bloch <blade@debian.org>  Sun, 06 Dec 2009 12:21:43 +0100

apt-cacher-ng (0.4.2) BETA; urgency=low

  * Fix build on systems without Linux fallocate support
  * Documentation format fixes
  * Mirror database update

 -- Eduard Bloch <blade@debian.org>  Tue, 01 Dec 2009 21:39:49 +0100

apt-cacher-ng (0.4.1) BETA; urgency=low

  * Attempt to remove empty folders on cleanup
  * Explicite sorting of configuration files before reading them
  * Some class refactoring
  * Option to skip header checks on package files in expiration
  * Passing Location: field through for response codes 301 and 302 
  * experimental use of fallocate on Linux to improve file storage on ext4

 -- Eduard Bloch <blade@debian.org>  Sun, 22 Nov 2009 13:45:36 +0100

apt-cacher-ng (0.4) BETA; urgency=low

  * FIX: Patch from Alexander Inyukhin fixes a thread leak due to race
    condition in counting of standby threads
  * NEW: printing of warnings for deprecated options (also warning on
    detection of the old Verbose option)
  * Option changes: MaxSpareThreadSets renamed to MaxStandbyConThreads to
    explain its purpose better, MaxConThreads (new) can limit maximum number
    of active connection threads.
  * code cleanup and refactoring in conserver.cc

 -- Eduard Bloch <blade@debian.org>  Tue, 26 May 2009 00:03:03 +0200

apt-cacher-ng (0.3.12) BETA; urgency=low

  * FIX: ddition or the original URL in error headers
  * FIX: More checks for EINTR on close() calls
  * Added retry delay on accept() in case of running out of file handles

 -- Eduard Bloch <blade@debian.org>  Mon, 25 May 2009 00:42:07 +0200

apt-cacher-ng (0.3.11) BETA; urgency=low

  * Added more verbose stats table with cache efficiency percentage

 -- Eduard Bloch <blade@debian.org>  Sat, 09 May 2009 19:31:38 +0200

apt-cacher-ng (0.3.10) BETA; urgency=high

  * Fixed incomplete copy constructor of the fingerprinting class, which broke
    import function and cache data validation for expiration with checksumming

 -- Eduard Bloch <blade@debian.org>  Tue, 21 Apr 2009 23:51:51 +0200

apt-cacher-ng (0.3.9) BETA; urgency=low

  * Set default expiration whitelist pattern to the same as index file.
    Otherwise files might be deleted accidentally in some cases since the new
    code in 0.3.4 works a bit too precisely.
  * Optional and experimental bz2ing-and-inject code, usable to create
    compressed versions of some index files

 -- Eduard Bloch <blade@debian.org>  Tue, 21 Apr 2009 23:51:51 +0200

apt-cacher-ng (0.3.8) BETA; urgency=medium

  * Modified connection shutdown handling to work better with clients that
    don't send Connection: header. The workaround for clients not sending it
    but still expecting pipelining is now done differently, by detecting a
    bunch of incoming quries.

 -- Eduard Bloch <blade@debian.org>  Sat, 04 Apr 2009 23:03:16 +0200

apt-cacher-ng (0.3.7) BETA; urgency=high

  * FIX: Stop including debian-volatile versions in RFC-822 formated lists in
    the incorrect way
  * FIX: Better checking of URLs in backends definitions, forbid unsupported
    ones (like ftp://)
  * Better mirror list generator, now creating separate debian and
    debian-volatile databases
  * User-friendly description and extra documentation for busy port situation

 -- Eduard Bloch <blade@debian.org>  Fri, 03 Apr 2009 22:01:03 +0200

apt-cacher-ng (0.3.6) BETA; urgency=low

  * Better state caching in expiration, slightly reducing number of .head file
    reads and stat calls

 -- Eduard Bloch <blade@debian.org>  Fri, 27 Mar 2009 22:28:12 +0100

apt-cacher-ng (0.3.5) BETA; urgency=low

  * Changed update code for index files to be more tollerant to cache errors
  * Index updates reports more useful DNS resolution errors
  * Index file updating code overhaul, now supports updates via Diff files.
    Currently deliberately restricted to .diff/Index files covered by
    signatures in "Release" files.
    NOTE TO USERS: For the few next releases, a temporary OldIndexUpdater
    config option might be used to switch to the old behaviour. Please report
    exact symptoms of reproducible errors.

 -- Eduard Bloch <blade@debian.org>  Thu, 26 Mar 2009 22:51:11 +0100

apt-cacher-ng (0.3.4) BETA; urgency=low

  * NEW: optional X-Forwarded-For support, for forwarding (configurable) and
    for logging (configurable). Thanks to Alexander Bondarenko for Testing.
  * NEW: support for some http://changelogs.ubuntu.com/ contents
  * NEW: configurable white list pattern to exclude files from expiration
  * FIX: corrected X-Original-Source URL
  * FIX: disabled the IPv4-mapped IPv6 sockets on Linux, now
    explicitely creating IPv6-only sockets. The automatic IPv4 shadow socket
    has unwanted effects.
  * FIX: not sending X-Original-Source on bounces
  * FIX: rotation and reconnection attempts through available addrinfo sets (i.e.
    through IPv6/IPv4 protocols) even on late connection failure
  * FIX: Small code optimizations on expiration code, now always checking
    plausibility of content length in the server sent information
  * FIX: sending of malformed proxy request in certain cases (with incomplete
    proxy URL in the config)
  * Documentation overhaul, thanks to Andras Korn. Also documented the usage
    with jigdo, whole Distribution release cleanup, various limitations.

 -- Eduard Bloch <blade@debian.org>  Tue, 10 Mar 2009 22:59:36 +0100

apt-cacher-ng (0.3.3) STABLE; urgency=low

  * GCC 4.4 related fixes (cstdio inclusion)
  * Info page is now trying to print the compact (IPv4 like) presentation of
    V4-in-V6 embedded addresses

 -- Eduard Bloch <blade@debian.org>  Sat, 08 Nov 2008 16:07:21 +0100

apt-cacher-ng (0.3.2) STABLE; urgency=low

  * Fixed strict numeric option parsing
  * No longer tolerating bad options in configuration files

 -- Eduard Bloch <blade@debian.org>  Mon, 13 Oct 2008 21:11:26 +0200

apt-cacher-ng (0.3.1) STABLE; urgency=low

  * expire-caller.pl now correctly reading credentials
  * consistent use of FD_ZERO, might really solve Debian bug #499539
  * option to disable download status check in expiration, and optional
    "ignore list" telling which files are allowed to be not up-to-date

 -- Eduard Bloch <blade@debian.org>  Sun, 12 Oct 2008 12:48:26 +0200

apt-cacher-ng (0.3) STABLE; urgency=low

  * on connection errors, doing more careful cleanup of downloader's
    file descriptor state (closes Debian bug #499539)
  * improved error message retrieval for connection errors
  * CSS style improvements
  * Added option to force a redownload of volatile files during expiration,
    also displaying the transfered data counters

 -- Eduard Bloch <blade@debian.org>  Tue, 23 Sep 2008 00:21:40 +0200

apt-cacher-ng (0.2.9) BETA; urgency=high

  * FIX: correcting the reset of retry counter introduced in 0.2.8, needed in
    some further situations

 -- Eduard Bloch <blade@debian.org>  Thu, 04 Sep 2008 04:20:54 +0200

apt-cacher-ng (0.2.8) BETA; urgency=high

  * Proper detection of expected disconnect condition and carefull work around
    this situation (Debian bug Bug#497700)

 -- Eduard Bloch <blade@debian.org>  Wed, 03 Sep 2008 20:08:30 +0200

apt-cacher-ng (0.2.7) BETA; urgency=low

  * FIX: infinite loop caused by incomplete remote host blacklist check for
    unmanaged sources (Debian bug #497567)
  * FIX: double-check the download state in a corner case where sudden
    connection reset might corrupt file data
  * FIX: suppress some "not supported" warnings seen on systems with
    disabled IPv6 support

 -- Eduard Bloch <blade@debian.org>  Wed, 03 Sep 2008 13:29:52 +0200

apt-cacher-ng (0.2.6) BETA; urgency=high

  * FIX: Large scale overhaul of downloader code, much better structured now.
    Avoids the unneccessary reconnects when using external proxy.
    More comprehensible code flow, "should" never get into situations like
    hanging without feedback from downloader (Debian bug #496937) or assigning
    wrong contents to target files (Debian bug #495350)
  * FIX: hostname in documentation link on the report page
  * NEW: trigger button on the control page to not recound statistics on every
    page loading

 -- Eduard Bloch <blade@debian.org>  Sat, 30 Aug 2008 00:49:32 +0200

apt-cacher-ng (0.2.5) BETA; urgency=high

  * FIX: unsafe buffer memory access in download request queue
  * internal refactoring

 -- Eduard Bloch <blade@debian.org>  Sun, 10 Aug 2008 22:00:16 +0200

apt-cacher-ng (0.2.4) BETA; urgency=high

  * "Release" filename matching fix, 0.2.3 did ignore the Release files durin
    Expiration
  * minor build fixes for users of dash

 -- Eduard Bloch <blade@debian.org>  Sun, 03 Aug 2008 21:13:59 +0200

apt-cacher-ng (0.2.3) BETA; urgency=low

  * FIX: Improved build system
  * FIX: allowed new files to be created group-writable (only with appropriate
    setting of umask, of course), unified ownership flag setting
  * FIX: cleanup and import overhaul. Now supports SHA1 (pdiff files) and
    imports volatile files. An option for checksum checks on expiration has
    been added to identify and remove corrupted data
  * FIX: add support for volatile paths in the mirror list

  * NEW: Abort mechanism for maintenance tasks
  * NEW: Cygwin port
  * NEW: glob support where wordexp is not available
  * NEW: getaddrinfo/getnameinfo emulation where not available
         (reusing code from APT)

 -- Eduard Bloch <blade@debian.org>  Sun, 27 Jul 2008 21:25:05 +0200

apt-cacher-ng (0.2.2) BETA; urgency=medium

  * Some internal refactoring
  * New expiration option: purge immediately
  * Fix: 304 headers, apt<->apt-cacher-ng speedup works again
  * Fix: offline mode, i.e. response headers generation on file miss
  * Fix: printing of IP adresses in square brackets, needed for IPv6
  * Fix: printing of days-to-removal for pending file deletions
  * Fix: purging all matching files in a single cleanup run, i.e. including
    those shadowed by other files with the same name
  * Fix: incorrect creation of sparse files in few (unusual) conditions; also
    made data/header file opening sequences more safe and reliable and
    added/improved some limited recovery methods
  * better logging of important cache storage errors

 -- Eduard Bloch <blade@debian.org>  Thu, 17 Jul 2008 23:43:09 +0200

apt-cacher-ng (0.2.1) BETA; urgency=high

  * Fixed request preparation host binding, causing sporadic loss of
    responses for the user
  * included limits.h in acbuf.h again (fixing Ubuntu's FTBFS)
  * Add port to the error examination links in the cron mails
  * Option parser now accepts = also in config file
  * local address construction moved to run only on getaddrinfo output, now
    supports binding on selected interfaces (new option: BindAddress)

 -- Eduard Bloch <blade@debian.org>  Tue, 15 Jul 2008 16:23:58 +0200

apt-cacher-ng (0.2) BETA; urgency=low

  * X-Original-Source sending to user
  * acngfs fixes, simple precaching on file opening
  * FIX: range position recalculation in partial response

 -- Eduard Bloch <blade@debian.org>  Sat, 28 Jun 2008 17:15:10 +0200

apt-cacher-ng (0.2pre3) BETA; urgency=low

  * Crash fixes (from the last header changes)
  * pretty printing of remaining time till expiration
  * Little internal optimization and refactoring

 -- Eduard Bloch <blade@debian.org>  Wed, 25 Jun 2008 00:32:37 +0200

apt-cacher-ng (0.2pre2) BETA; urgency=low

  * Lots of fixes in range response processing and logging
  * Logging code summarization to avoid log spamming
  * FUSE filesystem fixed/rewritten as "acngfs", still experimental
    (AS IN: NOT FOR DAILY USE)

 -- Eduard Bloch <blade@debian.org>  Sun, 22 Jun 2008 14:25:40 +0200

apt-cacher-ng (0.2pre1) BETA; urgency=medium

  * The "Less Is More" pre-release - review/overhaul of internal download job
    processing
  * Added jigdo/template/copyright/changelog suffixes to the list (Ubuntu
    bug#227240)
  * Updated Ubuntu mirrors list, especially added TLD.archive.ubuntu.com
    servers not sufficiently described on the net (Ubuntu bug#227733)
  * Documentation mistake fix (Ubuntu bug#225478)
  * more EINTR related fixes
  * Thread and thread pool code review, dropped helper threads 

 -- Eduard Bloch <blade@debian.org>  Tue, 17 Jun 2008 00:04:54 +0200

apt-cacher-ng (0.1.13) BETA; urgency=low

  * Stop applying URL escaping to target file names fetched from indexes
  * printing more information on "overload" rejects, enabled with Debug option

 -- Eduard Bloch <blade@debian.org>  Sun, 13 Apr 2008 21:54:22 +0200

apt-cacher-ng (0.1.12) BETA; urgency=low

  * Avoid too early closing of connection file descriptor on auth failures

 -- Eduard Bloch <blade@debian.org>  Thu, 20 Mar 2008 02:40:53 +0100

apt-cacher-ng (0.1.11) BETA; urgency=low

  * Automatic guessing of Sources/Packages locations from pdiff file indexes,
    making the import preparations less painfull
  * added basic authentication support for admin pages access
  * various internal fixes
    + whitelisting of head files for volatile files
    + proper EINTR handling on some places, based on patch from Jiří Paleček
  * support reopening log files through SIGUSR1

 -- Eduard Bloch <blade@debian.org>  Wed, 19 Mar 2008 00:56:27 +0100

apt-cacher-ng (0.1.10) unstable; urgency=low

  * filereader.cc: unbreak infinite loop on subtle decompression errors
  * made use of exceptions configurable (used by default)
  * parsing of pure URLs in rewrite lists added (based on patch by
    Tobias Gruetzmacher)

 -- Eduard Bloch <blade@debian.org>  Wed, 06 Feb 2008 00:30:27 +0100

apt-cacher-ng (0.1.9) unstable; urgency=low

  * Identify itself as "Apt-Cacher NG" to the clients
  * Fixes connection to non-standard proxy tcp ports
  * Adds some d-i files to the filters
  * Not stopping threads explicitely in the termination handler, leads to
    freezes/crashes during application exit()

 -- Eduard Bloch <blade@debian.org>  Fri, 07 Dec 2007 01:01:19 +0100

apt-cacher-ng (0.1.8) unstable; urgency=low

  * Documentation fixes, mentioned workaround for apt-listbugs
  * Assuming persistent connection for HTTP/1.1 client requests without
    Connection: field, possible workaround for APT's http client freezes when
    fetching pdiff files

 -- Eduard Bloch <blade@debian.org>  Thu, 06 Dec 2007 22:07:56 +0100

apt-cacher-ng (0.1.7) unstable; urgency=medium

  * Little internal interface cleanup
  * Fixes and improvements on download stream processing
  * Report printing fixed (periods)
  * Experimental FUSE-based filesystem daemon "mount.acng" to present HTTP
    accessible files in a local filesystem
  * Better support for content ranges including little fixes for content
    ranges on imported files

 -- Eduard Bloch <blade@debian.org>  Thu, 29 Nov 2007 08:58:11 +0100

apt-cacher-ng (0.1.6) unstable; urgency=low

  * Cleanup of dangling .head files in expiration run
  * Recreation of expiration database or user message on permission problems
  * Fix: missing slash in some filenames when deleting
  * Documentation update, detailed explanation on Remap- syntax and its
    influence on the proxy behaviour
  * some build system changes to make crosscompilations easier, disable
    compression and parts of IPv6 support when needed

 -- Eduard Bloch <blade@debian.org>  Fri, 23 Nov 2007 01:31:39 +0100

apt-cacher-ng (0.1.5) unstable; urgency=low

  * User interaction improvements and code cleanup
  * Printing instructions page when visiting a directory
  * Better page customization features

 -- Eduard Bloch <blade@debian.org>  Mon, 18 Nov 2007 23:20:22 +0100

apt-cacher-ng (0.1.4) BETA; urgency=low

  * Cleanup and simplification of some Voodoo code in the filesystem walker
  * Fixed rarely appearing file descriptor leaks in maintenance tasks
  * Removal of some spammy debug output on the console
  * Pattern code cleanup, added user customizable file patterns
  * Automatic version string injection on build
  * More safe copy method in import code

 -- Eduard Bloch <blade@debian.org>  Sun, 18 Nov 2007 00:14:19 +0100

apt-cacher-ng (0.1.3) BETA; urgency=high

  * Fixed path of the files in cache used in unmanaged downloads

 -- Eduard Bloch <blade@debian.org>  Sat, 17 Nov 2007 17:24:06 +0100

apt-cacher-ng (0.1.2) BETA; urgency=low

  * Fix: using correct peer name buffer in certain cases
  * Change: use common size of sockaddr_storage in in.acng
  * Added PDF version of the manual to the tarball

 -- Eduard Bloch <blade@debian.org>  Fri, 16 Nov 2007 21:56:26 +0100

apt-cacher-ng (0.1.1) BETA; urgency=low

  * Fix: double bind with IPv6, switched to use combi sockets (IPv6/IPv4) and
    getnameinfo usage in the connection server

 -- Eduard Bloch <blade@debian.org>  Thu, 15 Nov 2007 23:56:26 +0100

apt-cacher-ng (0.1) BETA; urgency=low

  * Unix domain socket fixes
  * Experimental inetd wrapper client
  * README extended and converted to Halibut format, simple manpage added
  * Makefile extensions for documentation build

 -- Eduard Bloch <blade@debian.org>  Sat, 10 Nov 2007 00:02:08 +0100

apt-cacher-ng (0.0.10) ALPHA; urgency=low

  * Reworked identification cache map to be more efficient
  * Fixes of various file descriptor leaks
  * Fixes for rarely appearing conditions where head files could receive
    invalid contents
  * Reworked connection thread management, implemented basic thread pool

 -- Eduard Bloch <blade@debian.org>  Fri, 09 Nov 2007 00:40:40 +0100

apt-cacher-ng (0.0.9) ALPHA; urgency=low

  * Minor bugfixes on hangups in storing stream
  * Bugfixes in file storage mechanisms (truncation to incorrect size etc.)
  * Better recovery from error conditions with damaged cache
  * Lots of code refactoring, cleanup on interfaces
  * Remapping schemes controllable more exact by user configuration, more
    relaxed request hostname mapping code
  * IPv6 server-side support completed
  * Debian packaging improvements (init script, default config)
  * main method and helper fixes, making startup behaviour more reliable and
    more secure
  * various fixes on import function

 -- Eduard Bloch <blade@debian.org>  Sun, 28 Oct 2007 16:37:45 +0100

apt-cacher-ng (0.0.8) ALPHA; urgency=low

  * Debian packaging, archive cleanup

 -- Eduard Bloch <blade@debian.org>  Sun, 21 Oct 2007 21:09:54 +0200

apt-cacher-ng (0.0.7) ALPHA; urgency=low

  * import function
  * lots of refactoring
  * build fixes for i386
  * various bugfixes, esp. of a memory leak in expiration
  * user interaction improvements

 -- Eduard Bloch <blade@debian.org>  Sun, 21 Oct 2007 19:55:41 +0200

apt-cacher-ng (0.0.6) ALPHA; urgency=low

  * pdiff.*gz downloadable again
  * Cleanup functionality working, not armed, needs to be pushed through
    the web interface
  * lots of small and big bugfixes

 -- Eduard Bloch <blade@debian.org>  Sun, 14 Oct 2007 21:50:08 +0200

apt-cacher-ng (0.0.5) ALPHA; urgency=low

  * HTML web site service to display the transfer statistics, using a simple
    template based page customizable by the administrator
  * Fixed bug in rewrite map reader
  * Overall code cleanup and refactoring

 -- Eduard Bloch <blade@debian.org>  Sun, 07 Oct 2007 23:24:50 +0200

apt-cacher-ng (0.0.4) ALPHA; urgency=low

  * better zlib/libbz2 detection in CMakeLists.txt (purging the cache by
    default now unless the problem with stored negative value is fixed)
  * build rule for static micro version
  * proper log functionality with raw transfer data accounting
  * daemon()izing properly
  * preparation for inetd wrapper and statistics HTML page creation
  * lots of bugfixes and code cleanup

 -- Eduard Bloch <blade@debian.org>  Sun, 07 Oct 2007 15:20:11 +0200

apt-cacher-ng (0.0.3) ALPHA; urgency=low

  * fixed repeated reconnection in dlcon after first occurence
  * changed config file reading to a custom class which accepts .gz and .bz2
    input, using the respective libraries. Boost was "a little" too big.
  * lots of small bugfixes in command line option parsing
  * bug system fixes, building a separated debug version

 -- Eduard Bloch <blade@debian.org>  Sat, 06 Oct 2007 23:48:37 +0200

apt-cacher-ng (0.0.2) ALPHA; urgency=low

  * license header cleanup
  * using BSD original license

 -- Eduard Bloch <blade@debian.org>  Wed, 03 Oct 2007 22:29:18 +0200

apt-cacher-ng (0.0.1) ALPHA; urgency=low

  * rewritten most parts of the prototype from the last year
  * first release as technical demo

 -- Eduard Bloch <blade@debian.org>  Thu, 04 Oct 2007 01:29:18 +0200