summaryrefslogtreecommitdiff
path: root/news.html
blob: 92307867121f5bb85d93abf87598cf9acec6a2c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
<!--#include file="header.html" -->

<ul>

  <li>
    <p>
    <a href="http://sfconservancy.org">The Software Freedom Conservancy</a>
    acts as the GPL enforcement agent for various BusyBox copyright holders.
    If you wish to report a GPL violation on BusyBox,
    please write to <a href="mailto:gpl@busybox.net">gpl@busybox.net</a>.
    </p>
  </li>

  <li>
    <p>I want to thank the following companies which are providing support for the BusyBox project:
      <ul>
        <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
        TYPO3 development agency</a> contributes financially.</li>
        <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided
        a Blackfin development board free of charge.
        <a href="http://www.analog.com/blackfin">Blackfin</a>
        is a NOMMU processor, and its availability for testing is invaluable.
        If you are an embedded device developer,
        please note that Analog Devices has an entire Linux distribution available
        for download for this board. Visit
        <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a>
        for more information.
        </li>
      </ul>
    </p>
  </li>

  <li><b>2 July 2012 -- BusyBox 1.20.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.20.2.tar.bz2">BusyBox 1.20.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_20_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.20.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.20.2 has fixes for
    ash (fix for variable expansion in redirection),
    ifup/down (fix for "pre-up" and "pre-down" handling),
    man (fixes for compressed man pages handling),
    mke2fs (important fix! die to misplaced s_mkfs_time field, ext4 driver couldn't mount our images),
    ps (fix for getting uptime on non-Linux platforms),
    tar (fix base-256 decoding).
    </p>
  </li>

  <li><b>28 May 2012 -- BusyBox 1.20.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.20.1.tar.bz2">BusyBox 1.20.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_20_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.20.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.20.1 has fixes for
    build system (some .config's were failing to build),
    line editing (in non-default config, sometimes history was erased),
    getty (was dying on self-generated SIGHUP at times),
    mdev (let kernel know that firmware wasn't found),
    sed (empty match could run forever),
    find (added support for -wholename),
    ext4 detection was added.
    </p>
  </li>

  <li><b>22 April 2012 -- BusyBox 1.20.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.20.0.tar.bz2">BusyBox 1.20.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_20_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.20.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.19.4 and busybox-1.20.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 840348     473    7508  848329   cf1c9 busybox-1.19.4/busybox
 843717     473    7500  851690   cfeea busybox-1.20.0/busybox</pre>
    </p>

    <p>Changes since previous release:
<pre>
Aaro Koskinen:
      cttyhack: handle multiple consoles found in sysfs

Alexander Shishkin:
      cttyhack: print detected ctty name when called without parameters

Alexey Fomenko:
      kill: fix segfault in arguments parsing

Baruch Siach:
      networking: consolidate the IP checksum code. -129 bytes
      udhcp: remove the declaration of non-existent udhcp_checksum

Bernhard Reutner-Fischer:
      Config: fix wording in help-text
      Config: clarify {SHOW,VERBOSE,COMPRESS}_USAGE
      bloat-o-meter: handle huge (hex) sizes
      bloat-o-meter: remove unused code

Christian Engelmayer:
      syslogd: work around rename() not renaming hardlinks to themselves

Cristian Ionescu-Idbohrn:
      ps: fix for !FEATURE_PS_LONG build

Dan Fandrich:
      rx: fix file corruption with duplicate blocks

Daniel Fandrich:
      android build system updates
      rx: fix file corruption on block checksum failure
      configs/android_defconfig: update

Dave Love:
      mount: support -o noacl

Dennis Groenen:
      vi: add ":prev" command support

Denys Vlasenko:
      build system: detect missing crypt and drop it from linking
      build system: fix broken CONFIG_SYSROOT handling
      build system: remove bogus $(1) in last commit
      libarchive: move seamless .Z support into unpack_gz_stream
      libarchive: update seamless uncompression code
      libarchive/decompress_unzip.c -> decompress_gunzip.c. no code changes
      libbb.h: add check for bad off_t size detection
      libbb.h: remove unused defines
      libbb/bb_strtonum: always set end ptr, even on error return
      libbb/procps.c: make fast_strtoul_10() stop on '\n' too
      libbb: make xchroot do a chdir("/") after chroot
      libbb: remove is_directory's argument which is always NULL
      libbb: shrink base64 decoding a bit
      platform.h: define endgrent() and endpwent() as no-ops on Android
      libpwdgrp/pwd_grp.c: set opened /etc/{passwd,group,shadow} fds CLOEXEC
      libpwdgrp/pwd_grp.c: use same static buffer for all getpwXX functions
      lineedit: add support for M-b, M-f, M-d, M-Backspace
      lineedit: add support for history saving on exit
      lineedit: fix atomic replace of history file
      lineedit: remove SAVE_HISTORY bit, ->hist_file can be used as indicator
      applets_sh/nologin: an applet implemented as shell script
      acpid: close fds which are reported as dead (POLLERR/POLLHUP/POLLNVAL) by poll
      acpid: do not install handlers for fatal signals
      applet_tables: fix single applet build failure. Closes 4009
      ash: in standalone mode, search in $PATH if /proc/self/exe doesn't exist
      awk: fix a SEGV
      awk: next_input_file can return NULL, don't SEGV in this case
      blkid: if parameters are given, do not scan /dev
      bzcat: fix unpacking of more than one file, and unpacking of zero-size bz2. Closes 4393
      chpasswd: fix possible free() or non-allocated string. +8 bytes
      conspy,nandwrite,nanddump: enable in defconfig
      crond: fix the case when option -d is disabled
      cttyhack: move /sys/class/tty/console/active check to the front
      date: extend help text to explain compat date format. Closes 4820
      dhcpc: fix the case where we might add extra space at the end of envvar
      gen_build_files.sh: simplify "print everything up to INSERT line" part
      gen_build_files: don't pass 200k+ strings as params. Closes 4321
      get_header_tar: shrink 6->64 sign extension code
      getty,login: tighten up handling of ctty, pgrp, and tty attr restoring on timeout
      getty: Hurd has no CBAUD, work around that
      getty: add O_NONBLOCK to open which is used to drop ctty
      getty: fix a minor problem of Ctrl-D not printing '\n'
      getty: remove now not needed resetting of ALRM to to SIG_DFL
      getty: reset tty attrs on Ctrl-C and Ctrl-D too
      hexdump: fix hexdump -n1 -ve '8/2 ""' SEGV. Closes 4478
      hostname: make -i not emit extra trailing space
      httpd: don't drop/abuse QUERY_STRING when /cgi-bin/index.cgi is used
      httpd: fix /../ sanitization (had one extra semicolon)
      httpd: fix MD5-encrypted-in-httpd.conf password logic
      httpd: fix sendfile of files larger than 2 Gb. Closes 4754
      httpd: make byte ranges which start at 0 work too. Closes 4766
      httpd: remove redundant NULL assignment and save one strrchr. -8 bytes
      hush: fix $HISTFILE handling
      hwclock: fix wrong comparison of time value (when it will overlow int)
      inet_cksum: big-endian fix
      inetd: close new udp fd in "udp nowait" case
      init: add a segv debugging aid, disabled by default
      init: utmp update of DEAD_PROCESS was misplaced, and could be skipped
      killall5: don't do STOP/CONT dance if the signal we send is SIGSTOP or SIGCONT
      less: fix for screen size detection
      losetup: implement -r option. Closes 4033
      makemime: content-type should default to application/octet-stream
      makemime: fix -a option not taking parameter
      mdev: do not treat non-leading '#' chars as start of comment. Closes 4676
      mdev: don't reparse rules on -s
      mdev: fix mode of created node if config file support is not configured
      mke2fs: do not zero out first kilobyte. Closes 3247
      mktemp: add support for -u
      modinfo: make it select PLATFORM_LINUX. Closes 4411
      mount: free commented /etc/filesystems lines when we read it
      mount: make FEATURE_MOUNT_NFS not needed for Linux 2.6.23+
      mount: resolve hosts to IPs in NFS mounts
      nc: support "-<other_opts>e PROG" form of -e option
      nmeter: fix block i/o count on newer Linux kernels
      nommu: fix cases where we mangle argv[0][0]
      ntpd: avoid printing messages between send and recv: good for fast networks
      ntpd: drop offset averaging code
      ntpd: experimental code to correct frequency a bit more aggressively
      ntpd: fix a case when discipline_jitter = 0 if we step
      ntpd: fix build failure if !NTPD_SERVER. Closes 4994
      ntpd: fix offset adjustment after step, better step printing
      ntpd: increase OPT_qq constant to not collide with -L
      ntpd: log clock drift with three digits after decimal point
      ntpd: log jitter on update too; increase assumed clock precision x2 - to 2ms
      ntpd: make "reply from IP" messages more uniform
      old_e2fsprogs/blkid: close the fd after we are done with it
      passwd,cryptpw: make default encryption algorithm configurable
      patch: add a test we currently fail
      ping: display real IPv6 response address. Hopefully closes 3745
      preparatory cleanups for seamless uncompression improvements
      printf: fix this case: printf "%b" '\0057usr\0057bin\n'
      ps: add support for -l for !DESKTOP
      pwd: implement -LP if DESKTOP
      sed: fix possible case of signed char bug; expand debugging printouts
      sed: fix range handling for sed -i. Closes 4069
      sendmail: don't talk until 220 code is seen. Closes 3487
      sendmail: stop doing -t unconditionally; makemime: generate 76 char base64 lines
      shell_builtin_read: set cc[VMIN] to 1; lineedit: don't clear c_cc[VINTR]
      ssd: compat: match -x EXECUTABLE by /proc/pid/exe too
      start_stop_daemon: set complementary group ids too. Closes 3253
      stty: trim too verbose error messages (-40 bytes)
      swapoff: do not pass "p" in opt_complementary
      syslogd: fix missing newline problen in memory log buffer. Closes 4159
      tail: fix -c +N. Closes 4111
      tar,rpm2cpio: check that child decompressor did not error out
      tar: add support for PAX-encoded path=LONGFILENAME
      test: "test !" was accessing argv past NULL - fix it. Closes 4832
      tftp: mode string is case independent
      tftpd: chroot to DIR, not merely chdir. Closes 4874
      top: fix CPU% for thread display. Closes 4081
      tune2fs: add support for -C MOUNT_COUNT. +40 bytes. Closes 3901
      ubi_tools: add workaround for bad kernel headers. Closes 4838
      udhcp: make arpping code resistant to time jumps
      udhcpc6: new applet
      udhcpc6: rudimentary code to export data to script; fix IAADDR parsing
      udhcpc[6]: remove -B from udhcpc6 and "--version" from both
      udhcpc: add support for DHCP option 212 (RFC 5969)
      udhcpc: deprecate --hostname NAME
      udhcpc: fix 6rd option formatting (was using 4 more bytes than there is)
      udhcpc: fix improper size calculation for OPTION_STRING_HOST
      udhcpc: in fill_envp, export BOOTP fields first
      udhcpc: remove unused argument in sprint_nip6
      udhcpc: remove workaround for bugs in Win98 dhcp server ("MSFT 98" vendor string)
      udhcpc: reuse string constant; remove unneeded memset(0)
      udhcpc: sanitize hostnames in incoming packets. Closes 3979
      udhcpc: shrink code by setting xid more economically
      umount: make -d always active, add -D to suppress it
      uncompress: die on read errors
      uncompress: fix buffer underrun by corrupted input
      unzip: fflush stdout before reading interative y/n answer from stdin
      uudecode: fix buggy check for empty filename
      vconfig: small code shrink. Closes 4658
      vi: fix [end] key handling
      vi: move mark[i] pointers if text[] moves after realloc
      vi: prevent unlimited recursion in do_cmd(). Closes 4153
      wget: URL-decode user:password before base64-encoding it into auth hdr. Closes 3625
      wget: fix use-after-free on redirect

Felipe Contreras:
      modprobe: accept -b even if blacklist functionality is disabled

Flemming Madsen:
      ps: with -l, show STIME too
      inotify: if PROG is -, print events to stdout

Ian Wienand:
      find: fix -follow support
      gzip: new GZIP_BIG_MEM option
      login: new option LOGIN_SESSION_AS_CHILD
      du: use long long for size field

Javier Viguera:
      find_mount_point: fix find_mount_point for char devices
      mdev: fix wrong sizeof

Jonh Wendell:
      Make unix (local) sockets work without IPv6 enabled

Karol Lewandowski:
      mount: handle list of comma-separated fs types in -t option

Kevin Cernekee:
      cttyhack: remove the trailing newline when reading console name from sysfs

Lauri Hintsala:
      ifupdown: remove interface from state_list if iface_up fails

Lauri Kasanen:
      grep: be GNU compatible with -f EMPTY_FILE
      depmod: supply help text

Leonid Lisovskiy:
      udhcp: IF_UDHCP_VERBOSE() macro - improve code readability
      libbb: split decode_base64 off read_base64

Matthias Andree:
      Fixes for FreeBSD build

Michael McTernan:
      udhcp: finish support of classless static routes

Natanael Copa:
      ifupdown: support metric for static default gw
      grep: support for -x, match whole line

Oliver Metz:
      disable strverscmp usage if we build against uClibc-0.9.31

Pascal Bellard:
      conspy: add framebuffer support, -Q option
      httpd: make it possible to use system passwords for auth
      httpd: small fixes to previous change

Paulius Zaleckas:
      vconfig: remove /proc/net/vlan/config check
      gen_build_files.sh: exclude hidden directories

Pere Orga:
      hostid: fix behavior on identifiers starting with zeros
      applets_sh/*: add a few more examples of "shell applets"

Peter Korsgaard:
      fbsplash: limit progress bar flicker
      fbsplash: support 8bit mode
      ifupdown: support post-up / pre-down hooks
      bb_daemonize_or_rexec(): add flag to double-fork; use it in start-stop-daemon

Quentin Casasnovas:
      bootchartd: add process accounting feature

Rob Landley:
      patch: make it able to create files (again)
      patch: make -p count path components, not slashes (think /blah//thing)

Rob Walker:
      Add SYSROOT, EXTRA_{LDFLAGS,LDLIBS} config opts; sample Android NDK config
      httpd: emit correct content length on range requests past the end. Closes 4952

Sergey Naumov:
      login: -f should not ask for password even with PAM

Sonic Zhang:
      depmod.pl: output correct dep format according to kernel version

Sven Oliver Moll:
      lsof: new applet

Timo Teras:
      mkdir: fix permissions on 64-bit platforms

Tristan Schmelcher:
      Fix link failure on some platforms when PAM is enabled

Vladislav Grishenko:
      udhcpc: on SIGUSR1, limit renew attempts time to 20 seconds; then do total reconfig

Yin Kangkai:
      fbsplash: use line_length instead of xres * bytes_per_pixel

walter harms:
      touch: add new option FEATURE_TOUCH_SUSV3
</pre>
    </p>
  </li>

  <li><b>4 February 2012 -- BusyBox 1.19.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.19.4.tar.bz2">BusyBox 1.19.4</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_19_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.19.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.19.4 has fixes for
    getty (build fix for systems without CBAUD),
    mdev (error in mdev.seq handling if sequence number is >999),
    modinfo (made it select PLATFORM_LINUX),
    wget (fixed use-after-free on redirect).
    </p>
  </li>

  <li><b>29 October 2011 -- BusyBox 1.19.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.19.3.tar.bz2">BusyBox 1.19.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_19_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.19.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.19.3 has
    fixes for build system,
    chpasswd,
    crond,
    inetd (fix open fd leak),
    syslogd (fix problem with in-memory log buffer),
    tail (fix for 'tail: -c +N' with large N),
    tftp (made mode check case-insensitive).
    </p>
  </li>

  <li><b>6 September 2011 -- BusyBox 1.19.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.19.2.tar.bz2">BusyBox 1.19.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_19_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.19.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.19.2 has
    fixes for FreeBSD build,
    build fix for match_fstype.c,
    ash/hush (history file saving fixes),
    cttyhack (/sys/class/tty/console/active has trailing newline, account for that),
    find (fix for -follow),
    grep (fix for "grep -f EMPTY_FILE" usage),
    less (fix for windows sizing via "ESC [ 6 n"),
    patch (fix handling of patches which create files)
    sed (fix for range match with option -i),
    top (fix for thread accounting),
    uncompress (fix for certain cases of corrupted input),
    swapoff.
    </p>
  </li>

  <li><b>13 August 2011 -- BusyBox 1.19.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.19.0.tar.bz2">BusyBox 1.19.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_19_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.19.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.18.5 and busybox-1.19.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 837577     493    7516  845586   ce712 busybox-1.18.5/busybox
 839598     493    7508  847599   ceeef busybox-1.19.0/busybox</pre>
    </p>

    <p>Changes since previous release:
<pre>
Alexander Shishkin:
      diff: return 1 when skipping directories with -r, but without -N

Alexey Fomenko:
      libbb: remove dead code in getopt32
      lineedit: fix rare SEGV
      route: add missing fclose's
      ifupdown: don't leak malloced variables in the loop; remove double alloc
      md5/sha1sum: fix small resource leak

Alexey Soloviev:
      date: preserve isdst value if date is in time_t (unix time) format

Bernhard Reutner-Fischer:
      mount: for NFS use tcp per default rather than udp
      inetd: check if RPC is available

Bogdan Harjoc:
      find: implement -ipath

Chris Rees:
      build system: do not use GNU-isms in find
      FreeBSD compat patches

Dan Fandrich:
      simplify Ethernet header includes
      use the built-in getline on more systems that don't have it
      hush: support set -o xtrace/noexec alternates for set -x/-n
      fbsplash: display images even when a second buffer is active
      blockdev: add --getsz to replace --getsize
      platform.h: support for build under Android

Daniel Fandrich:
      replaced __u32 etc with standard uint32_t style types
      support configuring Busybox from _defconfig files
      add defconfig files for Android, Cygwin and FreeBSD

Davide Cavalca:
      hwclock: implement --systz
      syslogd: add and use CONFIG_FEATURE_SYSTEMD

Denys Vlasenko:
      use net/ethernet.h instead of linux/if_ether.h in more cases. Closes 3619
      improve --install operation in chroot jails
      incorporate header fixes proposed in bug 3097
      remove erroneous dependencies on INSTALLER
      remove old "define lchown chown"
      replace "depends on PLATFORM_LINUX" with "select PLATFORM_LINUX"
      use user's shell instead of hardwired "/bin/sh" (Android needs this)
      disable automatic selection of FEATURE_SUID
      if only one applet is enabled, make "busybox applet [params]" work as expected
      fix !ENABLE_FEATURE_GETOPT_LONG build. Closes 3775
      scripts/kconfig/mconf.c: stop-gap fix for buffer overflow
      libbb/login/su: do not sanitize shell name twice
      libbb/progress.c: make sure we never get negative ETA
      libbb/progress.c: use unicode support funcs instead of open-coding it
      libbb/progress.c: better overflow protection; more precise bar
      libbb/progress.c: display &gt;999 hours ETA correctly
      libbb/progress.c: fix bugs found in stall detection and unknown size logic
      libbb/read_cmdline: prepend {comm} if different from argv0. Closes 3835
      libbb: make BB_EXECVP/LP try to exec real binary if there's no /proc/self/exe
      libbb: make set_nport accept pointer to sockaddr, not to len_and_sockaddr
      libbb: make user/group name cache strings longer (~27 chars)
      libbb: optionally support RTMIN[+n] and RTMAX[-n] signal names
      libbb: spawn should remove child which failed to exec
      libbb: use _unlocked variants of stdio I/O
      lineedit: implement optional Ctrl-R history search
      lineedit: fixes for CONFIG_UNICODE_USING_LOCALE=y
      main: free suid_config list after use
      main: make busybox.conf mode handling less obscure
      ash: fix ash-signals/signal8 testcase failure
      ash: fix execution of shell scripts without shebang
      ash: optional support for $TMOUT variable
      ash,hush: add ulimit -e -r (RLIMIT_NICE, RLIMIT_RTPRIO)
      ash,hush: optional support for $HISTFILESIZE
      ash,hush: recheck LANG before every line input
      hush: do not print killer signal's name for SIGPIPE
      hush: fix "cmd &amp; &lt;newline&gt;" problem
      hush: fix FEATURE_CLEAN_UP code (was freeing unallocated memory)
      hush: fix a case where return in sourced file has no effect
      hush: fix a corner case of empty "do \n done" structure
      hush: fix incorrect PS2 display and trap handling while reading command
      hush: fix login shell's signal handling; add -l option so that it's easier to test
      hush: fix misparsing of "... do eval a= ...". Closes 3721
      hush: fix bugs with IFS expansion. Closes 4027
      hush: fix source1.tests
      hush: fix wrong prompt problem on empty interactive commands
      hush: fixes and small shrink for HUSH_JOB!=y
      hush: improve prompt in nested {}s
      hush: make parse errors in sourced file non-fatal in interactive script
      hush: make read builtin interruptible
      hush: replace signal handling machinery
      hush: use FEATURE_SH_NOFORK to enable NOFORK trick
      adduser: prefer to call addgroup --gid, not non-std addgroup -g
      adduser: safe username passing to passwd/addgroup
      basename,dirname,freeramdisk,rx,raidautorun,runsv,chvt: skip "--" argument
      blkid: optional support for TYPE="fstype"
      busybox.conf: USER.GROUP is _optional_
      busybox: fail if --install is not given an absolute path
      bzip2: plug memory leak on every processed file
      chrt: -m can be used without any arguments. Closes 2989
      chrt: correct opt_complementary. Closes 2977
      cpio: allow cpio -i to take params - names of files to extract
      date,touch: treat 2-digit years better (fit them into +-50 yrs around today)
      date: add a comment about _SVID_SOURCE
      dc: fix a case where we can run off malloced space
      die_if_bad_username: tighten up a bit
      echo: do not retry on write errors
      echo: fix ENOSPC detection and some iffy code in \NNN handling
      echo: fix SEGV when run with no args
      fbset: abort on unknown options. Closes 3121
      fbset: apply modelines. Closes 3823
      fdisk: make FDISK_SUPPORT_LARGE_DISKS redundant when LFS=y
      fdisk: reinstate a short sleep between sync() and ioctl(BLKRRPART)
      fdisk_osf: simplify ifdef (incidentally, adds support for Microblaze)
      find: cater for libc w/o FNM_CASEFOLD
      find: fix a bug in !ENABLE_FEATURE_FIND_XDEV config
      find: print/print0/prune _can_ be inverted, fix it
      find: remove the hack we use to parse options first, replace with simpler code
      fuser: fix inverted access() check. Closes 3799
      getty: add sleep before initial tcdrain; reduce another sleep from 1 to 0.1s
      getty: do clear CLOCAL and CRTSCTS unless told otherwise
      getty: do not clear all c_cflag's (we were clearing baud bits!)
      getty: document bits we don't set - maybe we should set some of them?
      getty: fix -i (was ignored)
      getty: flush _only_ input after switching to the next baud rate
      getty: simplify macros; improve VSWTC[H] compat
      halt/reboot: better message if /sbin/telinit is not found
      httpd: send correct mtime for .gz files
      hwclock: use locale-specific date output format
      id: correct getgroups usage
      id: fix inverted if (!ENABLE_DESKTOP)
      init: fix a case where execv's 1st arg was wrong
      init: simpler handling of leading dash in commands
      insmod: check for module read errors
      insmod/modprobe: fix parameter loading problem for 2.4 kernels. Closes 3223
      iplink: tweak includes to work on Android
      iproute: fix handling of "dev IFACE" selector
      iproute: fix parsing and matching of "short" IP addrs like 10/8
      kill[all[5]],pkill: make signal list show signal numbers, and show RTMIN/MAX
      klogd: fix the problem of delayed handling of ^C and SIGTERM
      length: disable this applet
      less: optionally query terminal size via "ESC [ 6 n". Closes 2659
      ls: -g implies -l
      ls: add support for -H
      ls: fix HAVE_STRVERSCMP check; add check for older uclibc versions
      ls: fix bits for -T, -w and --color; make -n imply -l
      ls: fix handling of symlinks by option -1
      ls: fix one-bit-off which caused -H to behave as -h
      ls: for some options, only last takes effect. Closes 2959
      ls: make -F not follow symlinks of the command line
      ls: make -v and -X actually work as intended
      ls: make -x force columnar output
      ls: print a space after each column. Closes 2941
      ls: reduce memory consumption and speed up (don't do redundant [l]stat)
      ls: widen -s (1k blocks) column from 4 to 6
      lsmod: fix unsafe usage of strlen()-1
      mailutils/*: add verbose option to sendmail; remove -m and -j from makemime
      mesg: make group/all writability configurable
      mesg: operate on stdin, not on stderr (compat)
      mktemp: make it more compatible with GNU coreutils 8.4
      modprobe-small: support compressed modules in insmod
      modprobe/insmod: fix parameter quoting
      modprobe: fix "modprobe -l name-with-dash"
      more: exit if write to stdout errors out
      more: fix tabs handling
      mount: strip multiple trailing slashes, not just one
      nmeter: deprecate %NNNd specifier, use -d MSEC instead
      ntpd: decrease ntpd -q "no response" timeout to 10 sec
      od: another fix for --strings
      od: fix "od --traditional FILE"
      od: fix -S NUM to not print chars &gt;0x80
      parse_config: make this test applet easier to enable; fix its code
      ping: fix IPv6 pinging. Closes 3187
      ping: set not only IP_TTL, but also IP_MULTICAST_TTL
      printenv: fix environ == NULL segfault
      procps: remove PSSCAN_STAT define, users were using it incorrectly
      ps: implement -o stat
      pstree: use stdin for screen size detection
      reformime: do not require \r\n
      reset: "ESC(K" selects German, why did we use that? Change to "ESC(B" (US)
      sed: support \r in s command
      start-stop-daemon: fix "-K --test --pidfile PIDFILE" exit code
      stty: enable line discipline display and change code if __linix__
      stty: make swtch and iutf8 visible/settable
      su: document -l in --help text. Closes 2761
      tail: optimize "tail -c HUGENUM REGULAR_FILE". Closes 3763
      tar: fix a bug where autodetection + -z is messed up on extract
      tar: on extract, everything up to and including last ".." is stripped
      tar: skip leading / and handle names like abc/..////def -&gt; def (not ///def)
      tar: store negative mtime as 0; pack very large files using base-256 encoding
      tar: support "-T -" and "-X -"
      telnetd: write utmp record with correct pid
      tftp: fix bad interaction between poll() and alarm(). Closes 3061
      tftp: fix progress bar for large (&gt;32M) files. Closes 3499
      tftpd: add -l "log to syslog" option. Needed for inetd mode
      top: display sort indicator in memory display
      top: make it possible to feed commands via pipe
      top: replace %MEM with %VSZ in header text
      traceroute: properly reduce poll timeout
      udhcp: fix some default values from "" to NULL
      udhcpc: allow -O OPT to take numeric params
      udhcpc: emit correct secs field
      udhcpc: fix a problem with binary-encoded options
      udhcpd: reply with NAK to clients in INIT-REBOOT state w/o existing lease
      udhcpd: smaller code: do not look for REQUESTED_IP twice
      uptime: more compatible output
      wc: fix swapped -c and -m
      wget: check for final write errors for -O FILE too
      wget: chunked mode fix. Closes 3229
      wget: correctly handle rare case when we get EAGAIN _on first_ read
      wget: display 100% at the _end_ of chunked download
      wget: fix fname_out usage wrt redirects
      wget: make "wget -O FILE URL1 URL2" concatenate output
      wget: remove functions which retry on EINTR
      wget: support multiple URLs on command line
      wget: use FEATURE_COPYBUF_KB-sized buffer. Much faster for local transfers
      wget: use closed HTTP/1.1 connection, stop when we dl'ed $content_len bytes
      xargs: support --no-run-if-empty (synonym to -r)

Eric Lammerts:
      runsvdir: do not miss closely spaced service dir changes

Harald Becker:
      showkey: make -a work on any stdin

Ian Wienand:
      login: apply PAM environment
      ash: clear sa_flags always
      tar: ignore file size (assume 0) for hardlinks

James Youngman:
      ls: remove redundant constants LIST_FILENAME and LIST_SHORT

Joachim Nilsson:
      ping: add -t TTL option
      build system: fix "make install" to skip /usr when configured so

Keith Young:
      udhcpc: add -B option

Kevin Cernekee:
      cttyhack: check sysfs for the name of the active console
      cttyhack: fail gracefully if the device node is missing

Lauri Kasanen:
      pstree: new applet
      df,find_mount_point: optionally don't ignore rootfs
      modinfo: show firmware and depends fields
      fdisk: backport disk check from util-linux
      md5/shaNsum: make -c support a list of files

Macpaul Lin:
      scripts: fix fixdep.c to let it work in Cygwin

Maksym Kryzhanovskyy:
      iostat: code shrink ~0.5k
      fuser: code shrink
      iostat: code shrink

Marek Bečka:
      setserial: new applet

Nigel Hathaway:
      udhcp: add FEATURE_UDHCP_8021Q option
      udhcpc: export unrecognized options in "optNN=XXXXXXXXX" form

Nuno Lucas:
      fbsplash: add support for 24 and 32 bit color depth

Pascal Bellard:
      chsum: fix
      conspy: fix lost ESC key

Pere Orga:
      whois: new applet
      pwdx: new applet
      move help text from include/usage.src.h to *.c files
      wget: fix SEGV with multiple urls and redirection
      kill: fix infinite loop when passed PIDs are not valid numbers
      uptime: add config flag to allow displaying the number of users currently logged on

Peter Korsgaard:
      getty: wait up to 5 seconds for the output buffer to drain
      mount: ignore unknown mount options when remounting NFS mounts
      httpd: don't send error messages with gzip encoding
      setconsole: open console for writing rather than reading

Phil Sutter:
      nameif: fix parsing of /proc/net/dev
      nameif: add matching by phy_address=NUM

Ralf Friedl:
      df: more compatible -P behavior

Reuben Dowle:
      ubimkvol,ubirmvol,ubirsvol,ubiupdatevol: new applets

Rob Landley:
      patch: fix "patch at the beginning" testcase failure

Roman Borisov:
      mount: fix wrong long option names
      mount: properly update /etc/mtab on mount --move
      mount: rprivate option fix
      mount: add --rbind option support
      diff: optimize diffing of files with the same metadata

Ryan Phillips:
      login: set PAM RHOST

Sergey Naumov:
      syslogd: optional support for /etc/syslog.conf

Serj Kalichev:
      modprobe: add support for --show-depends
      modprobe: add -D option (synonym of --show-depends)

Steve Iribarne:
      pam link error with SHARED_BUSYBOX and LIBBUSYBOX enabled

Timo Teras:
      modprobe: use hash table. speeds up significantly if modprobe.dep is large
      parse_config: use getline. BIG speedup with glibc (~40%)
      platform.c: provide getline implementation

Tito Ragusa:
      passwd,chpasswd: reset password in /etc/passwd to "x" if /etc/shadow was updated
      groups: new applet
      users: new applet

Vitaly Magerya:
      wget: --post-data=STR should not encode STR, should send it verbatim

Vladislav Grishenko:
      udhcpc: use more correct, and more importantly, more understandable BPF code
      udhcpd: optional IP selection based on MAC hash

Wade Berrier:
      pkill/pgrep: support extended regular expressions

Walter Harms:
      vi: fix regex search, make it selectable in config</pre>
    </p>
  </li>

  <li><b>12 June 2011 -- BusyBox 1.18.5 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.18.5.tar.bz2">BusyBox 1.18.5</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_18_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.18.5/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.18.5 has fixes for
    fuser (fix error in handling of PORT/PROTO argument),
    hush (fix handling of while loop with empty body),
    build system fix (was using non-portable invocation of grep).
    </p>
  </li>

  <li><b>13 March 2011 -- BusyBox 1.18.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.18.4.tar.bz2">BusyBox 1.18.4</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_18_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.18.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.18.4 has fixes for
    cksum,
    klogd (fix "delayed" death on signals),
    modutils (handling of spaces in module arguments for Linux 2.4),
    wget (fix for downloads encoded using chunked encoding),
    build system fix for "make install" and "make menuconfig".
    </p>
  </li>

  <li><b>8 February 2011 -- BusyBox 1.18.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.18.3.tar.bz2">BusyBox 1.18.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_18_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.18.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.18.3 has fixes for
    hush (fix for "cmd &amp; [Enter]" behavior),
    modprobe-small (better handling of "insmod BAD_MODULE_NAME"),
    modprobe (reverted bad change affecting module parameters with spaces),
    ping (IPv6 fix),
    tar (fix for "tar -xzf FILE.tgz"),
    udhcp (fix for options specified in hex),
    wc (-c and -m were swapped),
    libbb (fixed a case when fork+(exec error) was leaving a zombie),
    build system (does not force FEATURE_SUID anymore).
    </p>
  </li>

  <li><b>16 January 2011 -- BusyBox 1.18.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.18.2.tar.bz2">BusyBox 1.18.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_18_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.18.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.18.2 has fixes for
    bzip2 (bzip2 many_files* was leaking memory),
    cpio (was not allowing list of extracted files on command line),
    httpd (now sends correct Last-Modified: header for gzipped files),
    hush (was showing wrong prompt on empty interactive input),
    mkswap (build fix for selinux-enabled config),
    modprobe-small (support gzipped modules in insmod),
    tftp (fix timing out in progress meter enabled build),
    and build failures in some configs.
    </p>
  </li>

  <li><b>21 December 2010 -- BusyBox 1.18.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.18.1.tar.bz2">BusyBox 1.18.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_18_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.18.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.18.1 has fixes for
    build system for installations where sh is dash (Ubuntu is one),
    SEGV in sha hashing of passwords,
    runsvdir sometimes not noticing directory changes,
    compatibility with compilers which don't allow declarations inside for() statements.
    </p>
  </li>

  <li><b>22 November 2010 -- BusyBox 1.18.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.18.0.tar.bz2">BusyBox 1.18.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_18_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.18.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.17.4 and busybox-1.18.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 831950     453    7224  839627   ccfcb busybox-1.17.4/busybox
 832282     450    7212  839944   cd108 busybox-1.18.0/busybox</pre>
    </p>

    <p>Changes since previous release:
<pre>
Alexander Shishkin:
      pmap: new applet. +1k
      add-shell, remove-shell: new applets
      *: introduce and use xmkstemp. -65 bytes
      fix out-of-tree build's recursion
      ash: fix $! value when traps are set
      ulimit: set both hard and soft limits by default
      stat: remove superfluous setXXent() calls, plug memory leak
      tail: free tailbuf upon cleaning up
      smemcap: close /proc handle upon cleaning up
      login: free fromhost upon cleaning up
      mount: pass NULL, not "", as "data" to mount syscall if we have no opts

Baruch Siach:
      nandwrite: new applet
      nanddump: new applet

Bernhard Reutner-Fischer:
      find_stray_empty_lines: make it work

Bradley M. Kuhn:
      wget: implement -T SEC; rework progress meter to not use signals (it was unsafe)

Carmelo AMOROSO:
      insmod: do not add a pair of "" around the arguments of the module

Christian Hornung:
      ip: fix command line option parsing of "ip route get ..."

Cristian Ionescu-Idbohrn:
      remove redundant ENABLE_DESKTOP in procps/ps.c

Dan Fandrich:
      improve portability of tests
      rename a struct member from "interrupt"
      testsuite: show the number of failures after a test run
      fix some test cases
      tar: add a test for extraction of read-only directory
      avoid side effects in putc(), which may be implemented as a macro
      fix a couple of failing tar tests
      fix build failure for pmap
      mark some more applets NOEXEC/NOFORK

Daniel Dickinson:
      syslogd: close/re-resolve/reopen remote sockets on some sendto() errors

Denys Vlasenko:
      build system: make 3.82 compat fix. Closes bug 2323
      base64: new applet
      platform.h: regularize endian detection
      md5 and shaN: big shrink
      libbb/process_escape_sequence.c: fix recently broken handling of \\
      libbb: add xfstat function
      libbb: factor out common code from mpstat/iostat
      libbb: fix fallout from last patch to obscure() (my mistake). +143 bytes
      libbb: introduce and use common crc32 routine
      libbb: introduce and use strcpy_and_process_escape_sequences
      libbb: merge mail and uudecode's base64 decoders
      libbb: move read_base64 to libbb/uuencode.c
      lineedit: partially rewrite and clean up tab completion code
      lineedit: do not hang on error, but return error indicator
      lineedit: limit ASK_TERMINAL to the case when we can't find out the width
      *: deinline SWAP_xE64 on 32-bit CPUs. Wins !90 bytes both on 32 and 64 bits
      *: pass md5/shaN context pointer as 1st arg, not last
      *: use SWAP_BE64 instead of open-coding it
      shell/math.c: improved in various ways
      shell: remove lash and bbsh
      ash: add a testcase for bug 2281 (currently fails)
      ash: add another ${v/a/b} test we currently fail
      ash: add missing casts to match CTLfoo
      ash: fix another bit of var_bash4 bug
      ash: fix another bug detected by var_bash4.tests
      ash: fix dequoting error detected by var_bash4 test
      ash: fix signal and "set -e" interaction
      hush: add support for "set -o pipefail"
      hush: add support for ${var/pattern/repl}, conditional on bash compat
      hush: add support for set -x
      hush: implement brace expansion
      hush: make set -x support optional
      hush: optional support for history saving
      hush: fix EXIT trap display inside exit trap handler
      hush: fix another corner case with backslashes in heredocs
      hush: fix backslash and terminator handling in &lt;&lt;[-]["]heredoc["]
      hush: fix globbing+backslashes in unquoted $var expansion
      hush: fix handling of \" in quoted/unquoted `cmd`
      hush: fix handling of backslashes in variable assignment
      hush: fix improper handling of newline and hash chars in a few corner cases
      hush: fix multiple dependent variable expansion cases
      hush: fix set -- q w e; (IFS='' echo "$*"; IFS=''; echo "$*"); echo "$*"
      hush: fix var_bash3.tests and var_bash5.tests failures
      hush: fix "cmd | var=`cmd` | cmd" handling
      awk: 00.123 is not a octal constant; neither is 009.123 - fixed
      awk: fix SEGV on closing non-opened file
      bbconfig: add COMPRESS_BBCONFIG option
      cmp: with -s, do not report open errors
      crond: check mtime on crontab dir every minute, and reread if changed
      dc: make it use long longs for integer ops
      decompress_bunzip2: handle concatenated .bz2 files; speedup
      depmod: generate "new-style" modules.dep with relative paths
      diff: make diff -r much less eager to recurse into directories
      dmesg: more correct skipping of &lt;N&gt; perfix
      dnsd: fix 64-bit bug 2539
      dos2unix: fix SEGV when run w/o parameters
      find: add rudimentary support for -exec {} +
      free: add -b/k/m/g options; remove 4 TB limitation. +100 bytes
      free: more compatible output. +16 bytes. Closes bug 2383
      grep: cap insanely big -B NUM values to MAX_INT / 8. Closes bug 2653
      grep: fix -o match with empty string (suggested by Colin Watson (cjwatson@ubuntu.com))
      ifupdown: %client%, not %clientid%
      ifupdown: add manual method for IPv6. Closes bug 2497
      init: do not clear CRTSCTS (fix from Debian bug 528560)
      init: do not sleep forever on usage errors
      init: if PID!=1, show clearer error message
      ip: fix "ip r" breakage
      klogd: do not log partial lines
      ls: fix -lg to show group (was showing user)
      lzop: fix misordered "v=NULL; free(v)"
      man: add compatibility with man-db
      mdev: fix non-working device deletion, add a test for that
      mkswap: clear 1st kilobyte. Closes bug 1831
      mktemp: fix "mktemp /path/to/tempfile.XXXXXX"
      mktemp: fix for dir/file.XXXXXX param (by Rob). +9 bytes
      modprobe-simple: do not error out on "rmmod module" if module is unloaded ok
      modutils: explain why we no longer quote params
      mv: implement -n option
      nandwrite: complain on malformed -s NUM
      nc: fix SEGV on -v when NC_EXTRA is off
      netstat: fix IPv6 problem (garbage in scope_id)
      netstat: was using buffers one byte short for scanf (no place for NUL) - fixed
      ntpd: allow peer-less (standalone stratum 1 server) operation
      ntpd: with -q, exit after 60 seconds even if time is not synced
      patch: add -N and a test for it (fails for now)
      patch: busyboxify by migrating from toybox to busybox helpers
      patch: fix -N regression
      patch: support "patch [FILE [PATCH]]" format
      sed: fix sed -i: unlike without -i, it does not forget ranges
      sed: make N command behave as in GNU sed
      seq: exit on write errors
      sleep: fix fractional arguments in non-POSIX locale
      sleep: make it non-NOFORK. Fixes ^C in standalone shell
      smemcap: use correct tar magic
      sort: -o FILE should create/truncate FILE
      split: handle "-" file name correctly
      telnet: convert CR NUL -> CR on input. Closes bug 2569
      telnet: do not check for 0 return from poll (it's impossible)
      top: add tie breaking for topmem mode
      udhcpc: emit maxsize option in all non-NAK type packets
      udhcpc: periodically reread our ifindex and mac
      udhcpc: reduce stack usage by de-inlining routines with on-stack pkt buf
      udhcpc: remove -c CLIENTID, it is hard to use, -x 61:hexstring does the same better
      udhcpc: remove now-unneeded definitions of vendor and client-id opts
      udhcpd: reduce stack usage by ~700 bytes. +28 bytes code size
      umount: do not (ab)use PATH_MAX as mntent buffer size
      unicode: update unicode_width on !unicode branch too. Closes bug 2593
      vi: fix "ask terminal" code
      wc: add support for -m

Eric Lammerts:
      stat: fix mtime/ctime/atime

Gilles Espinasse:
      patch: implement -E option

Harald Becker:
      deluser: make it simpler, fix inability to delete user from group

Holger Blasum:
      update docs/new-applet-HOWTO.txt

Javier Viguera:
      find_stray_empty_lines: fix tail "invalid context" error

Jeremie Koenig:
      readlink: use xmalloc_realpath()
      mark Linux-specific configuration options
      init,loginutils: termios portability fixes
      init,halt: portability improvements
      init: make the initial $TERM value configurable
      libbb.h: add device names for Hurd and FreeBSD
      mkdir: fix -p on FreeBSD
      libbb: conditionalize AF_* usage in error reporting
      tcpsvd,udpsvd: conditionalize usage of SO_ORIGINAL_DST
      less: remove misguided dependency on PLATFORM_LINUX
      bootchartd: mounting tmpfs is Linux-specific
      vlock: disable linux console calls on other systems
      cttyhack: serial console detection is Linux-specific
      klogd: make it work on non-linux systems
      stty: sort out preprocessor conditionals

Kevin Cernekee:
      docs: change CVS references to git
      docs: sync up AUTHORS and busybox_footer.pod
      fdisk: initial stab at GPT partition support

Lauri Kasanen:
      modprobe: make -l open the right file
      libbb: remove unused variable

Lukas Huba:
      patch: implement -E option

Macpaul Lin:
      fdisk: add support for NDS32 architecture
      modutils: add support for NDS32 architecture

Marek Polacek:
      mpstat: new applet. ~5.5k
      iostat: new applet. 2800 bytes
      powertop: new applet
      *: s/perror/bb_simple_perror_msg/g
      *: use _exit() in sighandlers
      showkey: do not use exit-thru-sighandler
      bloat-o-meter: make it python3 compliant

Matheus Izvekov:
      diff: fix "diff dir1 dir2/". Closes bug 2203

Mike Frysinger:
      depmod.pl: add recursive sanity check
      build system: allow SKIP_STRIP to be set in the env
      gen_build_files.sh: rewrite with sed
      inetd: if argv[0] is not specified, set it to program name

Mike Shal:
      lineedit: fix tab-completion of file names with spaces

Nguyen Thai Ngoc Duy:
      wget: flush output to network before receving reply

Pascal Bellard:
      depmod: accept and ignore -u, -q, -C FILE
      cpio: avoid 'not created: newer or same age file exists' message for dirs

Peter Korsgaard:
      httpd: optional support for gzip-compressed pages
      httpd: simplified "gzip" test

Richard Braun:
      tune2fs: implement -c and -i options

Rob Landley:
      nbd-client: new applet
      patch: replace it with toybox's implementation
      patch: deal with omitted ",len" in hunk headers (default len to 1)
      awk: reduce ifdef forest

Sergey Naumov:
      blockdev: new applet

Souf Oued:
      acpid: add config file and map file

Thomas Chou:
      mkmakefile: make 3.82 fix

Tito Ragusa:
      deluser: deluser/delgroup size reduction and improvements

Vladimir Dronnikov:
      sendmail: fix assumption that headers should have a space after the colon

Vladislav Grishenko:
      udhcp: add support for 0x21 ROUTES and 0xf9 MS_STATIC_ROUTES options
      udhcpc: fix OPTION_IP_PAIR parsing

Waldemar Brodkorb:
      OpenBSD compatibility

Wolfram Sang:
      lineedit: create history files with mode 0600</pre>
    </p>
  </li>

  <li><b>22 November 2010 -- BusyBox 1.17.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.17.4.tar.bz2">BusyBox 1.17.4</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_17_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.17.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.17.4 has fixes for
    dnsd (fix for 64-bit builds),
    ip route (fixed bug of misplaced argv++),
    ls (-g was showing user instead of group),
    sort (fix for -o FILE not creating FILE),
    unicode (fixed bug in build with disabled unicode support).
    </p>
  </li>

  <li><b>9 October 2010 -- BusyBox 1.17.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.17.3.tar.bz2">BusyBox 1.17.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_17_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.17.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.17.3 has fixes for
    ip (build fix for older systems),
    hush (fix for handling of backslashes in unquoted $var expansion),
    line editing (fixed handling of EIO error and tab expansion for non-ASCII file names).
    </p>
  </li>

  <li><b>25 August 2010 -- BusyBox 1.17.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.17.2.tar.bz2">BusyBox 1.17.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_17_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.17.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.17.2 has fixes for
    build system (now works with make 3.82),
    grep (zero length match could loop forever with -o),
    mdev (/dev nodes were never deleted),
    mktemp (fix for patterns with slashes),
    sed (fixes to -i option and N command),
    shell ($! was sometimes set to a wrong value;
    ulimit without both -H and -S now sets both hard and soft limits)
    </p>
    <p>Patch applet is completely replaced by a more capable
    implementation from toybox (Rob Landley's code).
    Aboriginal Linux needs it.
    </p>
  </li>

  <li><b>25 July 2010 -- BusyBox 1.17.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.17.1.tar.bz2">BusyBox 1.17.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_17_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.17.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.17.1 has fixes for
    build system (out-of-tree build was broken),
    acpid (fix for older kernel headers),
    depmod (now generates new-style modules.dep with relative paths),
    diff (fix for "diff DIR1 DIR2/" - note the trailing slash),
    dos2unix (fix for invocation without parameters),
    ip r (was not working since "r" abbreviates both "route" and "rule"; aliased to "route" now),
    mktemp (fix regression which prevented kernel builds),
    modprobe (fix modprobe -l),
    vi (fix in "ask terminal" code),
    wget (fix for progress indicator)
    </p>
  </li>

  <li><b>06 July 2010 -- BusyBox 1.17.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.17.0.tar.bz2">BusyBox 1.17.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_17_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.17.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.17.0 and busybox-1.16.2 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 819343     441    7068  826852   c9de4 busybox-1.16.2
 819623     441    7076  827140   c9f04 busybox-1.17.0
</pre>

    <p>Changes since previous release:

    <p>New applets:
      <ul>
	<li>conspy by Pascal Bellard (pascal.bellard AT ads-lu.com),</li>
	<li>rev by Marek Polacek (mmpolacek AT gmail.com),</li>
	<li>ubiattach,ubidetach by Baruch Siach (baruch AT tkos.co.il),</li>
	<li>modinfo by Pascal Bellard (pascal.bellard AT ads-lu.com),</li>
	<li>fgconsole by Grigory Batalov (bga AT altlinux.org),</li>
	<li>fkill by Souf Oued (souf_oued AT yahoo.fr),</li>
	<li>flock by Timo Teras (timo.teras AT iki.fi),</li>
	<li>smemcap, bootchartd, unxz (complete with xzcat and xz -d aliases)</li>
      </ul>

    <p>Other changes:
      <ul>
	<li>build system: make it possible to have include/applets.h-esque entries in .c files, to keep Config/Kbuild snippets in *.c files, to keep usage texts in .c files</li>
	<li>build system: gold may not support --sort-common (yet)</li>
	<li>unicode: significantly improved, by Tomas Heinrich (heinrich.tomas AT gmail.com)</li>
	<li>libbb: teach tar et. al. to understand .xz</li>
	<li>libbb: fix bb_ask() to operate on correct fd</li>
	<li>libbb: locate PAGE_SIZE on Hurd</li>
	<li>libbb: make index_in_substrings return -1 on ambiguous matches</li>
	<li>libbb/copyfd.c: don't mmap a largish buffer if we only want to copy a few kb</li>
	<li>libbb/read_key: fix buffer length calculation</li>
	<li>*: hurd compat fixes by Jérémie Koenig (jk AT jk.fr.eu.org)</li>
	<li>*: s/"/bin/sh"/DEFAULT_SHELL by Ladislav Michl (Ladislav.Michl AT seznam.cz)</li>
	<li>ash,hush: make it possible to alias one of shells to "bash"</li>
	<li>ash,hush: make "source" a synonym for . if bash compat is on</li>
	<li>ash,hush: make bare "." set exitcode to 2</li>
	<li>ash: &lt;&gt;FILE does not truncate FILE anymore. By Andreas Bühmann (buehmann AT users.berlios.de)</li>
	<li>ash: fix ". EMPTY_FILE" exitcode</li>
	<li>ash: fix bug which causes signal6.tests to fail</li>
	<li>ash: fix SEGV on empty command with redirection (bug 1087). Fix by Leonid (lly.dev AT gmail.com)</li>
	<li>ash: fix cubic slowdown in ${v/*foo*/repl} (really bad one)</li>
	<li>ash: fix obscure case of replacing + globbing + backslashes</li>
	<li>ash: fix redirection of fd 0 in scripts which are sourced from interactive ash</li>
	<li>ash: fix signal5.tests</li>
	<li>ash: fix unset in standalone mode</li>
	<li>ash: fix var_leak testcase</li>
	<li>ash: fix var_leak.tests so that it actually catches the NOFORK bug</li>
	<li>ash: refresh stack pointers after makestrspace in rmescapes. By Colin Watson (cjwatson AT ubuntu.com)</li>
	<li>ash: make trap with bad signal name not abort</li>
	<li>ash: use CONFIG_FEATURE_EDITING_MAX_LEN</li>
	<li>hush: fix "hush -c 'echo $#'" showing -1</li>
	<li>hush: fix a=abc; c=c; echo ${a%${c}}</li>
	<li>hush: fix hush -c 'echo $0' - was showing empty string</li>
	<li>hush: fix hush-bugs/parse_err.tests</li>
	<li>hush: fix more obscure ${var%...} cases</li>
	<li>hush: fix var=`exit 2` not setting $? to 2</li>
	<li>hush: handle expansions in ${var?expanded_word} constructs</li>
	<li>hush: support "cd -- DIR" and other such double-dash constructs in builtins</li>
	<li>hush: optional support for ${var:EXPR:EXPR} bashism</li>
	<li>hush: use ash's ulimit builtin; make it more more bash-like while at it</li>
	<li>adduser: copy /etc/skel to new homes. +100 bytes</li>
	<li>ar: add archive creation support. By Alexander Shishkin (virtuoso AT slind.org)</li>
	<li>ar: fix a regression: "ar t arch.a" stopped showing files. By Nguyễn Thái Ngọc Duy (pclouds AT gmail.com)</li>
	<li>awk: be more paranoid when freeing loop variable; make code less obfuscated</li>
	<li>awk: don't append bogus data after NUL in sub()</li>
	<li>awk: fix the case where nested "for" loops with the same variable misbehave</li>
	<li>awk: skip whitespace between array name and subscript. By Alexander Shishkin (virtuoso AT slind.org)</li>
	<li>beep: the -d option takes milliseconds, not microseconds. By Natanael Copa (natanael.copa AT gmail.com)</li>
	<li>brctl: fix parsing of timespec to allow 0 (setfd, sethello..), fix stp parameters incompatibility. By Maciek Borzecki (maciek.borzecki AT gmail.com)</li>
	<li>busybox --list option. +140 bytes. Rob wanted it</li>
	<li>cmp: ifdefectomy by Rob Landley (rob AT landley.net)</li>
	<li>cpio: "NNN blocks" message should go to stderr. By Matheus Izvekov (mizvekov AT gmail.com)</li>
	<li>cttyhack: don't do anything if ctty is already available</li>
	<li>data_extract_all(): do not chmod symlink. Closes bug 2053</li>
	<li>date,touch: accept "Jan 7 00:00:00 2010" format. By Alexander Shishkin (virtuoso AT slind.org)</li>
	<li>date: optional support for %N. Closes bug 1861</li>
	<li>date: support -d @SECONDS_SINCE_1970</li>
	<li>devmem: map two pages only if it is necessary</li>
	<li>dnsd: add -s option. This allows (clumsy) operation with real DNS servers</li>
	<li>dnsd: enforce alignment on packet buffer</li>
	<li>dnsd: fix one big-endian goof; add a TODO about RA bit</li>
	<li>dnsd: fix unaligned access problem</li>
	<li>dpkg: add support for lzma compression, by Pascal Bellard (pascal.bellard AT ads-lu.com)</li>
	<li>dpkg: better check for validity of options</li>
	<li>dpkg: support config file overwrite options. By Kim B. Heino (Kim.Heino AT bluegiga.com)</li>
	<li>dpkg: enable tar compability even if tar applet is not enabled</li>
	<li>[un]expand: account for different character widths</li>
	<li>fbsplash: reinstate drawing of over/undersized images</li>
	<li>fdisk: do not treat names ending in '0' as partitions</li>
	<li>fdisk: make 'b' command optionally adjust C/H/S; "fdisk IMAGE_FILE" sets cylinders</li>
	<li>find: fix -name matching for dotfiles. -1 byte</li>
	<li>ftpd: work around LIST -aXYZ too, not only LIST -lXYZ</li>
	<li>fuser: fix default signal, exitcode and PID display. By Maksym Kryzhanovskyy (xmaks AT email.cz)</li>
	<li>getty: do not emit bogus error message on EOF</li>
	<li>grep: fix -Fi. By Ian Wienand (ianw AT vmware.com)</li>
	<li>grep: make -w support unconditional</li>
	<li>gunzip: inflate_codes(): add fix from upstream gzip to prevent false CRC error</li>
	<li>head,tail: make suffixes unconditional for head too</li>
	<li>hexdump: fix "hexdump NONEXISTENT_FILE" handling</li>
	<li>hexdump: make -s 0xNNNNN work</li>
	<li>httpd: fix proxy mode bug (annoying but harmless)</li>
	<li>ifconfig: do not truncate interface names. Closes bug 1795</li>
	<li>ifdown: use /var/run/udhcpc.%iface%.pid only if it exists</li>
	<li>ifplugd: more robust interface name match check</li>
	<li>ifplugd: replace potentially-leaking setenv with malloc/putenv/free</li>
	<li>init: clear utmp entries for dead processes, if they (entries) exist</li>
	<li>ip a: fix SEGV if "dev IFACE" is not specified</li>
	<li>ip addr/rule/tunnel: unify parsing args. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>ip link: add qlen. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>ipaddress: print OPERSTATEs and NO-CARRIER. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>ipcalc: more correct checking for proper number of arguments</li>
	<li>iplink: support add/delete. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>loadfont/setfont: optional PSF2 font support</li>
	<li>loop: correct minor device number limit</li>
	<li>losetup: support /dev/loop10 and higher. Closes bug 1627</li>
	<li>lsusb: 2.6.32 compat. By Souf Oued (souf_oued AT yahoo.fr)</li>
	<li>mdev: add "!" syntax support</li>
	<li>mdev: fix a SEGV when subsystem is not known</li>
	<li>mdev: fix subsystem passing (new kernels broke it again). Closes bugs 639, 721</li>
	<li>mkswap: support [KBYTES] parameter</li>
	<li>mkXXXX: unify [KBYTES] parameter handling</li>
	<li>mkfs_ext2: fix handling of -I argument. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>mktemp: be more compatible: bare "mktemp" creates tempfile in /tmp, not cwd</li>
	<li>modprobe: add support for -l and -s. By Pascal Bellard (pascal.bellard AT ads-lu.com)</li>
	<li>modprobe: pick up module options from /proc/cmdline too</li>
	<li>modprobe: remove 2k limit on /proc/cmdline</li>
	<li>modutils-24: [mips] modutlis-24 segfault fix for 2.4 kernel modules, by Ralf Rösch (ralf.roesch AT rw-gmbh.de)</li>
	<li>mount: add an optional capability to create new /dev/loopN as needed. By Lauri Kasanen (curaga AT operamail.com)</li>
	<li>mount: fix a case when sometimes error message is not printed</li>
	<li>mount: handle EDQUOT > 255 properly. Closes bug 1579</li>
	<li>nc: introduce CONFIG_NC_110_COMPAT option</li>
	<li>tftp/tftp: make tftp/tftpd-related options less confusing in config. Closes bug 2017</li>
	<li>ntpd: step correction to variables had wrong sign, fixing</li>
	<li>passwd: make 'echo -e "foo\nfoo" | passwd USER' work</li>
	<li>ping: do not leak data from stack</li>
	<li>provide safe_gethostname() for non-linux systems</li>
	<li>ps: fix non-DESKTOP option handling code</li>
	<li>ps: make "ps -o BAD" emit list of good -o params</li>
	<li>rpm: use open_zipped's logic (factored out into setup_unzip_on_fd())</li>
	<li>rpm: make rpm -i SRPM.rpm install it to surrent dir</li>
	<li>rpm2cpio: teach it to understand xz format</li>
	<li>sed: fix a case when one-line range matches past lines. Closes bug 1867</li>
	<li>sed: fix a command with multiple trailing backslashes</li>
	<li>sed: fix c cmd</li>
	<li>sed: fix nested {} case</li>
	<li>setkeycodes: fix handling of 0exx scancodes</li>
	<li>setsid: check for setsid error directly</li>
	<li>shaNNNsum: accept and ignore -b and -t</li>
	<li>stat: make output more similar to GNU stat. By Seb (sbb AT tuxfamily.org)</li>
	<li>swapon: skip noauto entries. By Lauri Kasanen (curaga AT operamail.com)</li>
	<li>syslogd: allow multiple -R options. By Thomas Geulig (geulig AT nentec.de)</li>
	<li>syslogd: remove stray umask(0) - was giving log files bad mode</li>
	<li>syslogd: make maximum message length configurable. By Janne Kiviluoto (janne.kiviluoto AT bluegiga.com)</li>
	<li>tail: document FANCY flags in helptext</li>
	<li>tar: fix "hardlinks to symlinks chown" bug 1519</li>
	<li>tar: fix mishandling of repeated hardlink in tarball</li>
	<li>tar: make typical extraction less memory-hungry</li>
	<li>tar: optional support for --to-command. By Ladislav Michl (Ladislav.Michl AT seznam.cz)</li>
	<li>tar: optional support for restoring selinux context. By J. Tang (tang AT jtang.org)</li>
	<li>tar: support GNU 256-bit encoding in all numeric fields</li>
	<li>telnet: prevent SEGV if we are requested TELOPT_NEW_ENVIRON</li>
	<li>telnetd: fill hostname field in utmp/wtmp records</li>
	<li>telnetd: write LOGIN/DEAD_PROCESS utmp records. Closes bug 1363</li>
	<li>test: "" is not a valid number. Closes bug 1915</li>
	<li>tftp: do not show progress bar if we get error right away. +13 bytes</li>
	<li>tftp: increase initial retry timeout from 50 to 100 ms</li>
	<li>tftp: make message about 512 byte block less confusing</li>
	<li>tftpd: fix file creation with bogus mode. Closes bug 1021</li>
	<li>top: make 's' display easier to understand</li>
	<li>touch: do not ignore argument of -d/-t option. By Mikhail Gusarov (dottedmag AT dottedmag.net)</li>
	<li>udhcp: abort if we see unknown option, and show valid options if so</li>
	<li>udhcp: disable time and log server options</li>
	<li>udhcp: fix DNS domain codec bug: bad compression flag checks</li>
	<li>udhcp: handle errors in read_staticlease</li>
	<li>udhcp: implement "raw" binary options. Closes bug 735</li>
	<li>udhcp: remove support for some really old and odd options</li>
	<li>udhcp: s/sipservers/sipsrv/ to match other similar option names</li>
	<li>udhcp: we call DNS name encoder with NULL, this can SEGV. Added a check</li>
	<li>udhcp: truncate packets instead of padding them to 574 bytes. Closes bug 1849</li>
	<li>udhcpc: add -x OPT:VAL option</li>
	<li>udhcpc: make it possible to disable vendor id</li>
	<li>udhcpd: apparently, sometimes IP is in ciaddr, not requested_ip</li>
	<li>udhcpd: fix -v/-P mixup</li>
	<li>udhcpd: fix daemonize crash on nommu systems. By Mike Frysinger (vapier AT gentoo.org)</li>
	<li>udhcpd: fix hostname truncation bug 1663</li>
	<li>udhcpd: support decoding of option 120 "SIP servers". Closes bug 737</li>
	<li>udhcpd: untangle incredibly messy handling of DHCPREQUEST</li>
	<li>unexpand: fix "a b"\n" input case. By Tomas Heinrich (heinrich.tomas AT gmail.com)</li>
	<li>unlzma: add "lzma -d" alias, add -t support, rename lzmacat to lzcat</li>
	<li>unzip: restore unix file mode if possible. Closes bug 1045</li>
	<li>unzip: improve handling of stream ZIP files</li>
	<li>vi: save/restore errno in signal handlers</li>
	<li>vi: discover window size even on serial consoles (optional)</li>
	<li>vi: fix "set ic" command. Closes bug 1765</li>
	<li>vi: fix NUM + "$" handling</li>
	<li>volume_id/linux_swap: detect suspended image signatures too</li>
	<li>wc: compat: make "wc -c ONE_FILE" not print leading spaces. +2 bytes</li>
	<li>wget: fix bug 1057 "busybox wget segfaults with http_proxy environment set"</li>
	<li>wget: ignore --no-check-certificate</li>
	<li>who: fix attempts to open '/dev/dev/ttyX'; make columns a bit wider, add -H</li>
	<li>xargs: bump default -sNUM up to 32k. Use sysconf() to trim it down if necessary</li>
	<li>xargs: make -s NUM accept practically unlimited range</li>
      </ul>
    </p>
  </li>

  <li><b>12 June 2010 -- BusyBox 1.16.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.16.2.tar.bz2">BusyBox 1.16.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_16_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.16.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.16.2 has fixes for ash (complex cases of stdin redirection,
    memory reallocation bug fix), cpio ("NNN blocks" goes to stderr now),
    udhcp (last byte of hosthame was truncated), dnsd (misaligned access),
    hush (in some cases $# was wrong), hwclock (subsecond sync code removed),
    sed (a corner case with line continuation is fixed).
    </p>
  </li>

  <li><b>28 March 2010 -- BusyBox 1.16.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.16.1.tar.bz2">BusyBox 1.16.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_16_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.16.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.16.1 has fixes for ash (SEGV with 'trap' and 'jobs'),
    beep (pause was 1000 times too small), udhcpd (SEGV with -v), fbsplash
    (re-enable drawing of images with size different than screen size),
    hush (exec was not picking up applets in standalone mode), blkid
    (a few newer swap formats supported), md5sum/shaNsum (accept -bt options),
    syslogd (logfile had mode 0666), tail (a case where we tried to write
    negative number of bytes), tftpd (open without third argument),
    touch (-d wasn't working as it should), wc (with one file, don't print
    any leading spaces), wget (SEGV if proxy is specified in environment),
    some toolchain compatibility fixes, help text fixes,
    build system fix (defconfig was not updated).
    </p>
  </li>

  <li><b>27 January 2010 -- BusyBox 1.16.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.16.0.tar.bz2">BusyBox 1.16.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_16_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.16.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.16.0 and busybox-1.15.3 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 816619     453    7436  824508   c94bc busybox-1.15.3/busybox
 812074     453    7300  819827   c8273 busybox-1.16.0/busybox
</pre>

    <p>Changes since previous release:

    <p>New applets:
      <ul>
	<li>lspci: new applet. +573 bytes. By Souf Oued (souf_oued AT yahoo.fr)</li>
	<li>lsusb: new applet. +400 bytes. By Souf Oued (souf_oued AT yahoo.fr)</li>
	<li>flashcp: new applet. +900 bytes. By Stefan Seyfried (stefan.seyfried AT googlemail.com)</li>
	<li>mkfs.reiser: new applet. Needs much polishing. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>mkfs_ext2: new applet. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>ntpd: new applet, +5k. By Adam Tkac (vonsch AT gmail.com)</li>
	<li>traceroute6: new applet. +1562 bytes. By Leonid Lisovskiy (lly.dev AT gmail.com)</li>
	<li>tune2fs: new applet by Vladimir. Only supports -L LABEL</li>
	<li>wall: new applet. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
      </ul>

    <p>Other changes:
      <ul>
	<li>ash,hush: check that variable names are sane</li>
	<li>ash,hush: fix "'read' without parameters" bash compat thingy</li>
	<li>ash,hush: fix $RANDOM in children being repeated</li>
	<li>ash,hush: fix `trap`</li>
	<li>ash: do not let EXIT trap to fire in `trap`</li>
	<li>ash: error out on ${#1#}, ${#$11}, ${#11#}. By Cristian Ionescu-Idbohrn (cristian.ionescu-idbohrn AT axis.com)</li>
	<li>ash: factor out $RANDOM support and read builtin</li>
	<li>ash: fix bad interaction of "stty -echo" + ASK_TERMINAL</li>
	<li>ash: fix bug 585 (>"$VAR_WITH_UNICODE_CHARS" problem)</li>
	<li>ash: fix for read $IFS splitting. Closes bug 235</li>
	<li>ash: fix handling of Unicode chars in redirects. Closes bug 585</li>
	<li>ash: fix mishandling of bash-style redirects. By Chris Metcalf (cmetcalf AT tilera.com)</li>
	<li>ash: implement set -o pipefail (conditional on bash compat). By Michael Abbott (michael AT araneidae.co.uk)</li>
	<li>ash: make "jobs -l" more similar to bash. By Earl Chew. Closes bug 481</li>
	<li>ash: re-enable SIGHUP on entry. Closes bug 771</li>
	<li>hush: add printf builtin. By Mike Frysinger (vapier AT gentoo.org)</li>
	<li>hush: add support for $RANDOM</li>
	<li>hush: code shrink by Dan Fandrich (dan AT coneharvesters.com)</li>
	<li>hush: do not reset to default "" traps in subshell</li>
	<li>hush: export $PWD</li>
	<li>hush: fix exec builtin in a better way (+ "glob in exec" bug fixed)</li>
	<li>hush: fix exit code propagation from `cmd`</li>
	<li>hush: fix exitcodes of killed processes</li>
	<li>hush: fix handling of empty arguments</li>
	<li>hush: fix handling of words with braces</li>
	<li>hush: fix potential buffer overflow on NOMMU</li>
	<li>hush: fix subshell.tests failure on NOMMU</li>
	<li>hush: handle empty execs. By Mike Frysinger (vapier AT gentoo.org)</li>
	<li>hush: make memleak debugging more robust</li>
	<li>hush: plug a memory leak</li>
	<li>hush: support $PPID</li>
	<li>hush: two NOMMU fixes for bugs 877 and 883</li>
	<li>hush: unify handling of builtin applets. By Mike Frysinger (vapier AT gentoo.org)</li>
	<li>hush: wait for `cmd` to complete, and immediately store its exitcode in $?</li>
	<li>build system: fix for coarse mtime problem</li>
	<li>build system: fix parallel make</li>
	<li>build system: more fixes to parallel build</li>
	<li>build system: update documentation generator so that it sucks less</li>
	<li>*: do not assign to stdout/stderr, it's not portable. Based on patch by Aaron Carroll (xaaronc AT gmail.com)</li>
	<li>*: platform compatibility work. By Dan Fandrich (dan AT coneharvesters.com)</li>
	<li>*: use utimes() rather than obsolescent utime(). By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>libbb: add and use xopen_nonblocking (-18b). By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>libbb: add mallopt tweaks for reduced memory consumption</li>
	<li>libbb: better unicode width support. Hopefully fixes bug 839</li>
	<li>libbb: move generate_uuid from mkswap to libbb. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>libbb: optimize most of isXXXXX() macros</li>
	<li>libbb/lineedit: fix the case when we configured history to have 0 lines</li>
	<li>libbb/lineedit: restore ^D handling for unicode</li>
	<li>libbb/lineedit: try to make FEATURE_EDITING_ASK_TERMINAL less ugly</li>
	<li>libbb/lineedit: do not hardcode ctrl-C and ctrl-D, use termios fields</li>
	<li>libbb/lineedit: handle Ctrl-arrows</li>
	<li>libbb/read_key,lineedit: parse position answerback faster; sanitize its use</li>
	<li>libbb/read_key: ignore unknown keys (do not return them to caller byte-by-byte)</li>
	<li>libunarchive: fix a bug where mode and time is no longer restored. Introduced by vda in 1.15.x. Found by Rob Landley</li>
	<li>libunarchive: fix reversed test for older/newer</li>
	<li>libunarchive: move dpkg-specific things into dpkg.c. 0 byte size differences</li>
	<li>volume_id: add support for btrfs. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>tests: fix POSIX shell source style. By Mike Frysinger (vapier AT gentoo.org)</li>
	<li>all_sourcecode.tests: check commented out applet order too. By Mike Frysinger (vapier AT gentoo.org)</li>
	<li>INSTALL: update obsolete doc, as suggested by Doug Clapp (doug.clapp AT triad.rr.com)</li>
	<li>documentation and typo fixes. By Dan Fandrich (dan AT coneharvesters.com)</li>
	<li>adduser: create a group for new user too</li>
	<li>adduser: fix a logical inversion which made -G GRP inoperative. By Tito Ragusa (farmatito AT tiscali.it)</li>
	<li>applets/usage_compressed: combine many seds in one; hide dd stats. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>applets: fix alphabetical order. By Mike Frysinger (vapier AT gentoo.org)</li>
	<li>ar: fix long filenames handling. Closes bug 611</li>
	<li>awk: fix a case when number is treated as string. Closes bug 725</li>
	<li>awk: implement mktime. By Leonid Lisovskiy (lly.dev AT gmail.com)</li>
	<li>chown: support long options. By Matheus Izvekov (mizvekov AT gmail.com)</li>
	<li>chpst: tiny shrinkage and add possible TODO. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>cp: add support for --parents and long option synonyms of short opts. By Ian Wienand (ianw AT vmware.com)</li>
	<li>cp: fix -H handling</li>
	<li>cpio: fix -o-less cpio -F FILE</li>
	<li>cpio: fix unpacking of names with leading slashes</li>
	<li>crond: do not log info messages at LOG_ERR. Closes bug 681</li>
	<li>date: handle long options. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>dc: make "dc -1.23 ..." work</li>
	<li>dd: fix conv=noerror w/o sync to not write out zeroed blocks</li>
	<li>dd: speed measurement. Optional. By Gabor Heja (kakaopor AT kakaopor.hu)</li>
	<li>df: unicode-aware column formatting. By Tomas Heinrich (theinric AT redhat.com)</li>
	<li>diff: rewrite. Much smaller and more correct. By Matheus Izvekov (mizvekov AT gmail.com)</li>
	<li>dpkg: fix handling of names with leading dots. Closes bug 783</li>
	<li>dumpleases: unicode spport. By Tomas Heinrich (heinrich.tomas AT gmail.com)</li>
	<li>echo et al: support \e escape</li>
	<li>env: don't SEGV on bare "env -"</li>
	<li>ether-wake: can use ether_hostton on uclibc >= 0.9.30. By Leonid Lisovskiy (lly.dev AT gmail.com)</li>
	<li>examples: add ENABLE_FEATURE_MDEV_RENAME_REGEXP examples to mdev documentation. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>examples: add mdev.conf and mdev_fat.conf</li>
	<li>examples: adding runit-style service directory</li>
	<li>fbset: add possibility to set timing and sync polarity. By Michael Grzeschik (m.grzeschik AT pengutronix.de)</li>
	<li>fbsplash: allow compressed image files. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>fdisk: add a warning and truncate disks with >= 2^32 sectors</li>
	<li>find: -follow should not error out on dangling links</li>
	<li>find: add optional support for -links. By Matheus Izvekov (mizvekov AT gmail.com)</li>
	<li>find: correct handling of -xdev</li>
	<li>find: do not recurse into directories with depth == maxdepth. This may avoid many, many unnecessary stat() calls</li>
	<li>fold: fix a corner case. By Tomas Heinrich (heinrich.tomas AT gmail.com)</li>
	<li>fold: unicode support. Based on a patch by Tomas Heinrich (heinrich.tomas AT gmail.com)</li>
	<li>ftpd: conditional support for broken clients. By Stefan Seyfried (stefan.seyfried AT googlemail.com)</li>
	<li>ftpget/put: make 3rd parameter optional. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>grep: fix a case when -o loops forever</li>
	<li>gzip: add optional support for --long-opts. By Matheus Izvekov (mizvekov AT gmail.com)</li>
	<li>httpd: -m: output _salted_ MD5 hash. By (forrest AT hifulltech.com)</li>
	<li>httpd: fix bug 601 "I:index.php does not run interpreter on DIR/ url"</li>
	<li>httpd: shrink mime type matching code (suggested by Bernhard)</li>
	<li>httpd_indexcgi: fix off-by-one error</li>
	<li>httpd_post_upload.txt example: handle binary files too</li>
	<li>hwclock: fix sizeof bug (used it on pointer, not array)</li>
	<li>hwclock: make --systohc exact</li>
	<li>ifplugd: mention iff mode in help; restore auto-ifup unless -a; make iff method less iffy :D</li>
	<li>ifup: make /etc/network/interfaces parser tolerant to trailing spaces</li>
	<li>inetd: be more careful with syslog socket; other small fixes</li>
	<li>init: fix "while true; do reboot; done" bug. Closes bug 781</li>
	<li>init: fix logically inverted FEATURE_EXTRA_QUIET check</li>
	<li>init: for paranoid reasons, restore SIGCONT too</li>
	<li>init: make FEATURE_EXTRA_QUIET more consistent</li>
	<li>init: restore possibility to reload inittab even before we finish initialization</li>
	<li>init: use applet_name instead of "init" (we can be linuxrc)</li>
	<li>login: log PAM errors to syslog, not stderr. By Ian Wienand (ianw AT vmware.com)</li>
	<li>ls: add "total NNNN" header if DESKTOP. By Johannes Stezenbach (js AT sig21.net)</li>
	<li>ls: fix for !FEATURE_LS_RECURSIVE (forgotten free); cleanups</li>
	<li>ls: fix sort of very large files</li>
	<li>ls: make it so that group never glues itself to file size</li>
	<li>lsmod: unicode-aware column formatting. By Tomas Heinrich (heinrich.tomas AT gmail.com)</li>
	<li>mdev: adjust error message. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>mdev: do not die on mknod errors</li>
	<li>mdev: handle string modes. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>mdev: tiny shrinkage by index_in_strings. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>mkfs_vfat: fixes for large image cases</li>
	<li>mkswap: add -L LABEL option. Closes bug 689</li>
	<li>modprobe-small: hopefully fix bug 591 (incorrect detection of alias with '-')</li>
	<li>modprobe: it's not an error if module is already loaded. Closes bug 833</li>
	<li>modprobe: protect against possible SEGV</li>
	<li>modutils: add FEATURE_INSMOD_TRY_MMAP option</li>
	<li>mount: "already mounted" msg appears only if -v</li>
	<li>mount: add support for -O list. By Michael Abbott (michael AT araneidae.co.uk)</li>
	<li>mount: do not execute "mount.(null)" :)</li>
	<li>mount: if we mount //host/xxx, add ip=IPADDR to options</li>
	<li>mount: prevent second mount -a from mounting everything again</li>
	<li>mount: support -o union. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>mountpoint: btrfs fix. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>nc: fix "nc -nl -p LPORT RHOST" case (was expecting remote port 0). Closes bug 837</li>
	<li>networking/httpd_ssi.c: new example CGI handler</li>
	<li>od: fix -tx without length spec</li>
	<li>passwd: do not complain if /etc/shadow is missing</li>
	<li>patch: add longopts, --dry-run, add one more test</li>
	<li>patch: ignore -g NUM. By Matheus Izvekov (mizvekov AT gmail.com)</li>
	<li>pidof/killall: fix bug 625 (kernel threads get stale "binary name")</li>
	<li>ping6: do not play dirty tricks with argv</li>
	<li>ping: fix unaligned access. Closes bug 745</li>
	<li>ping: use ICMP_MINLEN. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>ps,top: add an option to show threads. +260 bytes</li>
	<li>ps: conditionally enable -T on non-DESKTOP build too</li>
	<li>ps: document -T option</li>
	<li>ps: show longer COMMAND</li>
	<li>rpm2cpio: handle bz2 too. By Pascal Bellard (pascal.bellard AT ads-lu.com)</li>
	<li>rpm2cpio: handle unseekable input correctly</li>
	<li>sed: fix bug 623 (SEGV on some sed commands)</li>
	<li>sed: minor usage tweak. By Rob Landley (rob AT landley.net)</li>
	<li>sed: on output file, set not only mode, but owner too</li>
	<li>sendmail: accept -i too, not only -oi. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>sendmail: fix for long headers. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>sendmail: update by Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>sort: make sort -o FILE FILE (same FILE) work. Closes bug 785</li>
	<li>split: handle - as "use stdin". Closes bug 741</li>
	<li>start-stop-daemon: we could need ssd -d (fancy). By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>stty: add B921600. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>stty: fix columns command. Closes bug 791</li>
	<li>swaponoff: add uuid/label support. By Natanael Copa (natanael.copa AT gmail.com)</li>
	<li>tar: accept spaces at the end of header fields (compat)</li>
	<li>tar: add support for --overwrite</li>
	<li>tar: add support for -o as synonym to --no-same-owner. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>tar: do chown, not lchown to restore mode (compat)</li>
	<li>tar: fix --numeric-owner, --no-same-owner, --no-same-permissions bits</li>
	<li>tar: fix bug 673 (misdetection of repeated dir as hardlink)</li>
	<li>tar: fix handling of tarballs with chksums prepended by spaces</li>
	<li>tar: handle "tar fx TARFILE" etc</li>
	<li>tar: optional support for -m (--touch). By Mikhail Gusarov (dottedmag AT dottedmag.net)</li>
	<li>telnetd: optional support for -w ("inetd wait")</li>
	<li>tftp: add optional support for progress bar. By Magnus Damm (magnus.damm AT gmail.com)</li>
	<li>tftp: extend tsize support a little. By Magnus Damm (magnus.damm AT gmail.com)</li>
	<li>top: add -m ("memory") option</li>
	<li>tty: use defines rather than constants. By Bernhard Reutner-Fischer (rep.dot.nop AT gmail.com)</li>
	<li>udhcpc: fix bug 629: use bcast receive when we perform rebinding</li>
	<li>udp_io: fix two potential cases of unaligned accesses</li>
	<li>uniq: plug memory leak. Patch from OpenWRT project</li>
	<li>wc: fix a hang gue to isprint(EOF). By Dan Fandrich (dan AT coneharvesters.com)</li>
	<li>wget: check for close() success; fix chunked; do not bother to send QUIT to ftp</li>
	<li>wget: factor out progress bar code. By Magnus Damm (magnus.damm AT gmail.com)</li>
	<li>wget: fix for code 302. By Vladimir Dronnikov (dronnikov AT gmail.com)</li>
	<li>[un]expand: unicode support. By Tomas Heinrich (heinrich.tomas AT gmail.com)</li>
      </ul>
    </p>
  </li>

  <li><b>12 December 2009 -- BusyBox 1.15.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.15.3.tar.bz2">BusyBox 1.15.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_15_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.15.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.15.3 has fixes for ash (compilation with signed chars,
    SIGHUP handling fix), awk, flash_eraseall (fix for newer kernel headers),
    grep, mount (mount -a won't mount everyting again on 2nd run), ping
    (fix unaligned access), split (accepts "-" as stdin now), build system
    (parallel build).
    </p>
  </li>

  <li><b>8 October 2009 -- BusyBox 1.15.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.15.2.tar.bz2">BusyBox 1.15.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_15_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.15.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. 1.15.2 has fixes for ash and hush (`trap` handling),
    dd (fixed handling of I/O errors), find (fix for -follow and symlinks),
    pidof (corrected recognition of kernel thread names), sed (SEGV),
    uniq (memory leak), line editing (Ctrl-D works again), build system.
    </p>
  </li>

  <li><b>15 September 2009 -- BusyBox 1.15.1 (stable), BusyBox 1.14.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.15.1.tar.bz2">BusyBox 1.15.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_15_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.15.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.14.4.tar.bz2">BusyBox 1.14.4</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_14_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.14.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix releases. 1.14.4 has fixes for ash, httpd, modprobe and the build system,
    1.15.1 has fixes for ash (unicode fix), httpd (fix for "dir index via
    interpreter" case), hush ($PWD support), inetd (fd leak fix), modprobe-small
    (fix for aliases with dashes), unlzma (SEGV on 64-bit), and generic
    unpacking routines (was not restoring mode).
    </p>
  </li>

  <li><b>23 August 2009 -- BusyBox 1.15.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.15.0.tar.bz2">BusyBox 1.15.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_15_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.15.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.15.0 and busybox-1.14.3 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 778114     454    7340  785908   bfdf4 busybox-1.14.3/busybox
 780508     445    7328  788281   c0739 busybox-1.15.0/busybox
</pre>

    <p>Changes since previous release:

    <p>New applets:
      <ul>
	<li>beep: new applet by Bernhard</li>
	<li>dnsdomainname: new applet - the alias to "hostname -d"</li>
	<li>flash_lock, flash_unlock: new applets by Thierry Reding (thierry.reding AT avionic-design.de)</li>
	<li>fsync: new applet by Pekka Pessi (Pekka.Pessi AT nokia.com)</li>
	<li>ifplugd: new applet by Maksym Kryzhanovskyy (xmaks AT email.cz)</li>
	<li>lzop: new applet. Busyboxed by Alain Knaff. +7700 bytes</li>
	<li>scriptreplay: new applet</li>
	<li>volname: new applet</li>
      </ul>

    <p>lash and msh are deprecated, please migrate to hush. They both are aliased to hush anyway.
    lash now prints "lash is deprecated, please use hush instead" message, msh does not (yet).

    <p>Other changes:
      <ul>
	<li>libbb: make find_pid_by_name look at /proc/PID/exe too</li>
	<li>libbb: make get_sock_lsa use only one getsockaddr syscall, not two</li>
	<li>libbb: prevent resursion on malloc failure</li>
	<li>libbb: stop using bb_strtod for now</li>
	<li>libbb/lineedit: implement Unicode-aware line editing (optional)</li>
	<li>libbb/lineedit: use read_key to recognize ESC sequence</li>
	<li>libbb/lineedit: added simplified Unicode support for non-locale-enabled builds</li>
	<li>libbb/lineedit: add an option to emit ESC [ 6 n ("report cursor position") and use results</li>
	<li>libbb/read_key: drop optimization where we read 3 bytes at once</li>
	<li>libbb/des encrypt: fix goof with NUL byte added at the end as '.'</li>
	<li>libbb/device matching against UUIDs: do not try floppies</li>

	<li>acpid: prevent creation of zombies</li>
	<li>adduser/addgroup: make system id range configurable. By Tito (farmatito AT tiscali.it)</li>
	<li>adduser/addgroup: support specifying uid/gid, add system account creation mode. By Tito</li>
	<li>ash: fix . builtin</li>
	<li>ash: fix bug 571 (jobs %string misbehaving)</li>
	<li>ash: further fixes to debug machinery. Fixes bug 485</li>
	<li>ash: make "jobs" work even in subshells</li>
	<li>awk: put at least one NUL between $n. Hopefully fixes bug 337</li>
	<li>busybox --install [-s] [DIR]: allow a parameter - destination DIR</li>
	<li>cp: by popular demand, make it POSIX compliant (but less safe)</li>
	<li>cpio: --verbose, --quiet, --to-stdout</li>
	<li>date: change date -d TIME format a bit, make it more compatible</li>
	<li>dd: conv=noerror should skip read errors using lseek. Fixes bug 539</li>
	<li>depmod.pl: updates and fixes galore</li>
	<li>depmod: fix handling of .gz modules</li>
	<li>df: fix "df /"</li>
	<li>dmesg: try to detect buffer size</li>
	<li>dpkg: delete postrm script after it has been run, not before. Fixes bug 449</li>
	<li>fdisk: add handling of avr32. Fixes bug 555</li>
	<li>ftpd: allow multiple -S options to increase verbosity too, like -v</li>
	<li>ftpd: fix a case when with -w unknown commands are ignored with no error code</li>
	<li>grep: fix -E  + {range}; fix -o not printing all matches. Fixes bug 489</li>
	<li>gzip: fix gzip with many files corrupting some files after first</li>
	<li>halt/reboot/poweroff: add a CONFIG_xxx to act SysV compatibly</li>
	<li>hdparm: correct (t &amp; 1) ? '0' : '5' thinko; wrap 80+ col lines</li>
	<li>hostname: support --fqdn, --domain, --file</li>
	<li>httpd: allow empty lines in conf file</li>
	<li>httpd: speed up httpd.conf parsing at the cost of 49 bytes of code</li>
	<li>hush: add HUSH_BASH_COMPAT, make [[ special handling depend on it</li>
	<li>hush: add support for local builtin</li>
	<li>hush: allow umask to take symbolic modes</li>
	<li>hush: disallow "{echo hi; }" (require whitespace) and "{ echo hi }" (require semicolon or &amp;)</li>
	<li>hush: do not process options after non-option args</li>
	<li>hush: "export -n" support</li>
	<li>hush: fix "export not_yet_defined_var", fix parsing of "cmd | }" corner case</li>
	<li>hush: fix "if { echo foo; } then { echo bar; } fi" parsing</li>
	<li>hush: fix "trap -- handler SIGs..."; escape handlers in "trap" output</li>
	<li>hush: fix SEGV in % expansion</li>
	<li>hush: fix SIGCHLD counting code, but keep it disabled for now</li>
	<li>hush: fix \*newline* handling</li>
	<li>hush: fix a case when backgrounded command makes shell hang</li>
	<li>hush: fix a segfault in export builtin</li>
	<li>hush: fix wrong handling of \x in assignments</li>
	<li>hush: fix a bug where in "var=val func" var's value is not visible in func</li>
	<li>hush: fix handling of unterminated subshell: (*eof*. Fixes bug 229</li>
	<li>hush: fix handling of } which is not a closing one in { cmd; }</li>
	<li>hush: fix multiple redirections of the same fd. Fixes bug 227</li>
	<li>hush: fix non-interactive response to pipe being stopped</li>
	<li>hush: fix problems with case in subshells and with "case esac"</li>
	<li>hush: implement 'type' builtin</li>
	<li>hush: implement proper SIGHUP handling</li>
	<li>hush: implement unset -f; beautify the handling of signal-killed pipe</li>
	<li>hush: make . command search $PATH</li>
	<li>hush: make builtins work in pipes (eval ... | ...) on NOMMU</li>
	<li>hush: make it possible to have interactive shell on non-ctty. init=/bin/hush: shows prompt, history works, etc</li>
	<li>hush: return builtin by Bayram Kurumahmut (kbayram AT ubicom.com)</li>
	<li>hush: set $n properly for "source" builtin</li>
	<li>hush: specially handle [[ - suppress globbing &amp; multiword expansion</li>
	<li>hush: stop ignoring ^Z in child shells</li>
	<li>hush: unblock TERM, INT, HUP in child shells too</li>
	<li>ifupdown: if $PATH is not set, do not set it to "" in children</li>
	<li>install: compat fix for mode of created files. By Mat Hostetter (mhostetter AT tilera.com)</li>
	<li>login: consider platforms having no domainname field in the utsname struct</li>
	<li>ls: fix --color handling. Fixes bug 435</li>
	<li>ls: make --color more compatible with coreutils</li>
	<li>man: use man.config, not only man.conf (man version 1.6f compat)</li>
	<li>mdev: #if forest removal (thanks Rob)</li>
	<li>mdev: be more permissive on errors (don't die): mdev -s users want that</li>
	<li>mdev: change subsystem syntax from /subsystem to subsystem/devname</li>
	<li>mdev: do not exit if user:group parse failed. Fixes bug 309</li>
	<li>mdev: fix a case where we mangle device_path string and then use it</li>
	<li>mdev: fix the case when move rule deletes node with name == device_name</li>
	<li>mdev: set $MDEV correctly for renamed nodes</li>
	<li>mdev: set mode, needed when device node already exists</li>
	<li>mdev: support $ENVVAR=regex</li>
	<li>mkswap: optionally generate UUID. +110 bytes</li>
	<li>modprobe: correct exitcode handling and error messages with respect to -q</li>
	<li>modprobe: fix modprobe -r. Fixes bug 315</li>
	<li>modprobe: treat tabs in modules.dep as delimiters too. Fixes bug 567</li>
	<li>mount: document when kernel started accepting string as NFS options</li>
	<li>mount: support -i; pass through -f and -n to helpers as necessary</li>
	<li>nc: fix nc -ll</li>
	<li>passwd + /etc/shadow: change "change time" field too</li>
	<li>patch: support -N option. By Olivier Duclos (olivier.duclos AT gmail.com)</li>
	<li>pgrep/pkill: support -s and -P options</li>
	<li>pgrep: match argv[0] too, not only comm; fix a bug in argv sanitization</li>
	<li>ping6: make it setuid just like ping</li>
	<li>printf: accept negative numbers for %x</li>
	<li>printf: fix exit code on conversion error</li>
	<li>ps: conditionally support additional -o FIELDs</li>
	<li>readlink: support -n, -v, -s and -q too if support for -f is requested</li>
	<li>runsv: run ./finish with parameters (runit compat)</li>
	<li>rx: strip padding from last block. Fixes bug 501</li>
	<li>sed: deal with peculiar behavior of '2d;2,1p' in GNU sed</li>
	<li>sed: fix "echo /usr/lib | sed 's,\(^/\|\)[^/][^/]*,..,g' " bug</li>
	<li>sed: fix handling of 1d;1,3p and 1d;1,REGEXp</li>
	<li>seq: fix input handling in non-C locales</li>
	<li>sv: fix "sv o SRV; ...; sv d SRV". Fixes bug 461</li>
	<li>svlogd: do not overrun read buffer. Fixes bug 439</li>
	<li>svlogd: use line buffering if any filtering is done. Fixes bug 521</li>
	<li>switch_root: allow /init to be a symlink; add doc (thanks Rob!)</li>
	<li>syslogd: added comment, no code changes</li>
	<li>tail: fix "tail +N file_shorter_than_N"</li>
	<li>tail: implement -F</li>
	<li>tail: read only a portion of a file if it's HUGE. Fixes bug 551</li>
	<li>tar: handle 256-base encoding in mtime</li>
	<li>tar: support for tar --numeric-owner. By Natanael Copa</li>
	<li>tcpsvd,udpsvd: fix uid/gid printing when run with -u</li>
	<li>telnetd: properly close fds in child</li>
	<li>test: fix "test !" and "test abc -a !". Fixes bug 465</li>
	<li>test: make 64-bit math enable-able for hush too</li>
	<li>tftp: do not risk invoking Sorcerer's Apprentice syndrome</li>
	<li>tftp[d]: fix block# handling on upload with non-default blocksize</li>
	<li>touch: implement -d --date (our own testsuite needs that)</li>
	<li>touch: implement -t TIME (needed for testsuite)</li>
	<li>udhcp: change UDHCP_DEBUG into int, make verbosity selectable with -v</li>
	<li>udhcp: dname_dec may return NULL, account for that case</li>
	<li>udhcp: shorten mac len from 16 to 6 in lease file</li>
	<li>udhcpc: fix a read error loop (e.g.: device is down) blocking TERM</li>
	<li>udhcpc: fix truncation of last char in client hostnames</li>
	<li>udhcpc: if got IP successfully, disable -n for future renewals</li>
	<li>udhcpc: support option 0x79 (static routes) (part of bug 341)</li>
	<li>udhcpd: don't fail ARP check if returned MAC matches client's one</li>
	<li>udhcpd: fix a bug in add_lease where it was reading at [-1]</li>
	<li>unlzma: speedup, by Pascal Bellard (pascal.bellard AT ads-lu.com)</li>
	<li>unzip: try lseek before resorting to reading for seeking forward</li>
	<li>vi: do not accept uppercase commands (compat). Fixes bug 397</li>
	<li>watchdog: enable it before setting timeout</li>
	<li>wget: fix redirection from HTTP to FTP server</li>
	<li>wget: remove IPv6 scope id in Host: field (apache compat)</li>
      </ul>
    </p>
  </li>

  <li><b>2 August 2009 -- BusyBox 1.14.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.14.3.tar.bz2">BusyBox 1.14.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_14_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.14.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. Contains fixes in df (fix for "df /"), ls (problems with colored
    output in some configurations), ping6 (was not suid, unlike ping), test (parameter
    to "not" operator is optional), udhcpd (fixed lease file restore routine).
    </p>
  </li>

  <li><b>22 June 2009 -- BusyBox 1.14.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.14.2.tar.bz2">BusyBox 1.14.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_14_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.14.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. Contains fixes in ash ('.' builtin), ftpd, httpd, modprobe
    (better exit code compatibility), readlink (more options supported),
    telnetd (now closes file descriptors in children, it was forgetting to do so).
    </p>
  </li>

  <li><b>27 May 2009 -- BusyBox 1.14.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.14.1.tar.bz2">BusyBox 1.14.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_14_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.14.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix release. Contains fixes in acpid, awk, depmod, dhcp, gzip, mdev,
    modprobe, sysctl; libbb fixes.
    hush is significantly updated.
    </p>
  </li>

  <li><b>5 May 2009, SVN -&gt; GIT</b>
    <p>We've migrated from SVN to GIT. SVN is frozen read-only before the conversion,
    so check out the Developing links and such for updated instructions.</p>
  </li>

  <li><b>15 April 2009 -- BusyBox 1.14.0 (unstable), BusyBox 1.13.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.14.0.tar.bz2">BusyBox 1.14.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_14_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.14.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.13.4.tar.bz2">BusyBox 1.13.4</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_13_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.13.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.13.4 and busybox-1.14.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 785501     483    7036  793020   c19bc busybox.1.13.4/busybox
 788380     467    6960  795807   c249f busybox.1.14.0/busybox
  15361       0       0   15361    3c01 busybox.1.13.4/shell/hush.o
  20724       0       0   20724    50f4 busybox.1.14.0/shell/hush.o
</pre>
    <p>Most of growth is in hush. The rest shrank a bit.

    <p>New applets:
      <ul>
	<li>flash_eraseall: by Sebastian Andrzej Siewior (bigeasy AT linutronix.de)</li>
	<li>acpid, mkdosfs, tunctl: by Vladimir</li>
	<li>ftpd: by Adam Tkac (vonsch AT gmail.com)</li>
	<li>timeout: by Roberto Foglietta</li>
	<li>ionice: adapted from Linux kernel example by Walter Harms</li>
	<li>mkpasswd: synonym to cryptpw. mkpasswd is in Debian, OTOH cryptpw was added to busybox earlier. Trying to make both camps happy by making those two applets just aliases. They are command-line compatible</li>
      </ul>

    <p>Changes since previous release:

    <p>lash and msh are deprecated, please migrate to hush.

    <p>hush had many, many fixes and features added: here documents, arithmetic evaluation, function support, and all this works on NOMMU too, safely, including 100kb-sized `command` and here documents. Here document support, arithmetic evaluation, improved ${var} operations, other fixes are by Mike Frysinger (vapier AT gentoo.org).

    <p>Other changes:
      <ul>
	<li>libbb: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}. By Tito (farmatito AT tiscali.it)</li>
	<li>libbb/sha{1,256,512}: major code shrink</li>
	<li>libbb/lineedit: make history saving/loading concurrent-safe</li>
	<li>libbb: shrink linked list ops. By xmaks AT email.cz</li>
	<li>libbb: str2sockaddr should accept [IPv6] addr without port - wget 'ftp://[::1]/file' needs that to work</li>
	<li>libbb: make bb_info_msg do atomic, unbuffered writes</li>
	<li>util-linux/volumeid: abort early on read failures. Should help with probing missing fdd's</li>
	<li>util-linux/volumeid: fix bug 249 "findfs finds the wrong partition"</li>
	<li>adduser: allow adding to group 0; don't _create_ /etc/shadow, only append data if it exists</li>
	<li>ash: fix mishandled ^C and SIGINT (several cases)</li>
	<li>ash: fix "ash -c 'exec 1&gt;&amp;0'" complaining that fd 0 is busy</li>
	<li>ash: fix $IFS handling in read. Closes bug 235</li>
	<li>ash: fix a case where we were closing wrong descriptor</li>
	<li>ash: fix bad interaction between ash -c '....&amp;' and bash compat</li>
	<li>ash: fix miscalculation of memory needed for eval tree. Found by Timo Teras (timo.teras AT iki.fi)</li>
	<li>ash: make dot command search current directory first, as bash does</li>
	<li>ash: printf builtin with no arguments should not exit</li>
	<li>awk: fix long field separators case. By Ian Wienand (ianw AT vmware.com)</li>
	<li>awk: in BEGIN section $0 should be "", not "0"</li>
	<li>awk: make "struct global" hack more robust wrt alignment. Closes bug 131</li>
	<li>brctl: fix compilation on 2.4.x kernels</li>
	<li>chat: treat timeout more correctly</li>
	<li>chat: recognize RECORD directive</li>
	<li>cksum, head, printenv: report errors via exitcode</li>
	<li>cpio: add -p, -0 and -L options</li>
	<li>crond, crontab: make cron directory location configurable</li>
	<li>crond: correct more of logfile to 0666 (as usual, umask allows user to remove unwanted bits)</li>
	<li>crond: put tasks in separate process groups</li>
	<li>dc: fix the "base 2" patch omission of base not being set</li>
	<li>depmod: accept and ignore -r. Linux kernel build needs this</li>
	<li>depmod: fix -b option. By timo.teras AT iki.fi</li>
	<li>udhcpc: fix a problem where we don't open listening socket fast enough</li>
	<li>udhcpc: stop filtering environment passed to the script</li>
	<li>udhcpd: disable option to have absolute lease times in lease file (that does not work with dumpleases)</li>
	<li>udhcpd: write 64-bit current time in lease file. Without it, determination of remaining lease time is unreliable</li>
	<li>udhcpd: remember hostnames of clients</li>
	<li>dumpleases: fix -a option, use recorded current time in lease file, show hostnames</li>
	<li>dnsd: fix a number of bugs. Ideas by Ming-Ching Tiew (mctiew AT yahoo.com)</li>
	<li>dpkg: better and shorter code to compare versions. Taken from "official" dpkg by Eugene T. Bordenkircher (eugebo AT gmail.com)</li>
	<li>du: fix "du /dir /dir" case</li>
	<li>env: support -uVAR=VAL</li>
	<li>expand, unexpand: fix incorrect expansion in some cases</li>
	<li>expr: a bit more robust handling of regexps with groups. Closes bug 87</li>
	<li>find: support --mindepth</li>
	<li>getty: make speed 0 mean "don't change speed", stop using non-portable way of setting speeds</li>
	<li>grep: support -z</li>
	<li>gzip: fix gzip -dc bug caused by using stale getopt state</li>
	<li>httpd: set $HOST to Host: header value. By Tobias Poschwatta (tp AT fonz.de)</li>
	<li>ifupdown: allow options to udhcpc to be configurable from .config</li>
	<li>init: do not eat last char in messages; do not print duplicate "init:" prefix to syslog</li>
	<li>init: fix a bug where on reload order of entries might be wrong</li>
	<li>init: major improvement in documentation and signal handling. Lots of nasty, but hard to trip, races are fixed</li>
	<li>init: reinstate proper handling of !ENABLE_FEATURE_USE_INITTAB</li>
	<li>init: remove wait loop on restart, it may be dangerous</li>
	<li>init: test for vt terminal with VT_OPENQRY, assume that anything else is TERM=vt102, not TERM=linux. Closes bug 195</li>
	<li>inotifyd: add x, o, and u events</li>
	<li>inotifyd: fix buffer overflow and "unreaped zombies" problem</li>
	<li>inotifyd: conserve resourses by closing unused inotify descriptors</li>
	<li>insmod/modprobe: do not pass NULL to kernel as module parameter</li>
	<li>ip: in "ip rule add from all table 1", "all" is taken as 0.0.0.0/32, whereas "any" and "default" would be 0.0.0.0/0. They must be all 0.0.0.0/0. Closes bug 57</li>
	<li>iproute: fix ipXXX utilities trying to parse their applet name as their 1st parameter</li>
	<li>klogctl: fix a problem where we don't terminate read data with '\0' and then misinterpret it</li>
	<li>ls: do not follow links with -s. Closes bug 33</li>
	<li>ls: implement -Q and -g (-g was accepted but ignored)</li>
	<li>ls: make readlink error to not disrupt output (try ls -l /proc/self/fd)</li>
	<li>man: better check for duplicated MANPATH</li>
	<li>mdev: add support for - ("dont stop here") char</li>
	<li>mdev: if /sys/class/block exists, don't scan /sys/block</li>
	<li>mdev: ignore events with "$SUBSYSTEM" == "firmware" &amp;&amp; "$ACTION" == "remove"</li>
	<li>mdev: provide $SUBSYSTEM. By Vladimir</li>
	<li>modprobe/insmod for 2.4: support compressed modules. By Guenter (lists AT gknw.net)</li>
	<li>modprobe: rework/speedup by Timo Teras (timo.teras AT iki.fi)</li>
	<li>modutils-24: fix bad interaction of xzalloc with xrealloc_vector</li>
	<li>mount: support "-O option", stop trying to mount swap partitions, fix CIFS support</li>
	<li>mountpoint: add -n option. By Vladimir</li>
	<li>nslookup: allow usage of IPv6 addresses or hostnames for DNS server name; allow for port specification. Tested to work on uclibc svn: "nslookup google.com [::1]:5353". glibc + IPv6 address of DNS server still does not work</li>
	<li>popmaildir: fix several grave bugs with using memory past end of malloc block</li>
	<li>printf: fix 1.12.0 breakage (from %*d fix), it was misinterpreting "*"</li>
	<li>printf: make integer format strings print long long-sized values</li>
	<li>rmmod: fix bug 263 "modutils/rmmod can't remove modules with dash in name on 2.4 kernels"</li>
	<li>sendmail: document and fix usage of fd #4, fix check for helper failure</li>
	<li>sendmail: update by Vladimir</li>
	<li>seq: add -w support. By Natanael Copa</li>
	<li>seq: add support for "-s separator"</li>
	<li>stat: make stat -f show filesystem "ID:" as coreutils does</li>
	<li>sysctl: fix another corner case with "dots and slashes"</li>
	<li>sysctl: fix broken -p [file]. Closes bug 231</li>
	<li>sysctl: support recursing if name is a directory: "sysctl net.ipv4.conf". Patch by xmaks AT email.cz</li>
	<li>syslogd: make signal handling syncronous</li>
	<li>syslogd: create logfile with 0666 (affected by umask as usual), not 0600</li>
	<li>tail: fix tail +N syntax not working. Closes bug 221</li>
	<li>tar: do not change new tarfile's mode, GNU tar doesn't do it</li>
	<li>tar: support GNU tar's "base256" encoding</li>
	<li>telnetd: correctly output 0xff char</li>
	<li>telnetd: do not advertise TELNET_LFLOW, we do not support it properly</li>
	<li>tftp: when we infer local name from remote (-r [/]path/path/file), strip path. This mimics wget and is generally more intuitive</li>
	<li>timeout: fix parsing of -t NUM on MMU</li>
	<li>top: make it work again on 2.4 kernels. Closes bug 125</li>
	<li>tr: fix overflow in expand and complement, fix stop after [:class:], fix handling of ranges and [x]'s</li>
	<li>tr: support -C as synonym to -c, support [:xdigit:]</li>
	<li>traceroute: rewrite. Do not emit raw IP packets, instead send UDP or ICMP packets and rely on the kernel to form IP headers, select source IP and interface</li>
	<li>uname: add support for -i and -o, fix printing of unknown -p value with -a option, support long options</li>
	<li>unzip: fix thinko with le/be conv and size. Closes bug 129</li>
	<li>vi: fix several instances of major goof: when text grows, text[] might get reallocated! We were keeping around pointers to old place</li>
	<li>vi: speedup and code shrink. By Walter Harms</li>
	<li>wget: --post-data support. By Harald Kuthe (harald-tuxbox AT arcor.de)</li>
	<li>wget: fix --header handling, more robust EINTR detection</li>
      </ul>
    </p>

  <li><b>8 March 2009 -- BusyBox 1.13.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.13.3.tar.bz2">BusyBox 1.13.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_13_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.13.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>1.13.3 is a bug fix release. It has fixes for awk, depmod, init, killall, mdev,
    modprobe, printf, syslogd, tar, top, unzip, wget.
    </p>
  </li>

  <li><b>31 December 2008 -- BusyBox 1.13.2 (stable), BusyBox 1.12.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.13.2.tar.bz2">BusyBox 1.13.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_13_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.13.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.12.4.tar.bz2">BusyBox 1.12.4</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_12_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.12.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix releases. 1.13.2 has fixes for crond, dc, init, ip, printf.
    1.12.4 has fixes for ip and printf.
    </p>
  </li>

  <li><b>29 November 2008 -- BusyBox 1.13.1 (stable), BusyBox 1.12.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.13.1.tar.bz2">BusyBox 1.13.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_13_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.13.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.12.3.tar.bz2">BusyBox 1.12.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_12_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.12.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Bug fix releases. 1.13.1 has fixes for ash, option parsing, id, init,
    inotifyd, klogd, line editing and modprobe. 1.12.3 has fixes
    for option parsing and line editing.
    </p>
  </li>

  <li><b>10 November 2008 -- BusyBox 1.13.0 (unstable), BusyBox 1.12.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.13.0.tar.bz2">BusyBox 1.13.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_13_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.13.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.12.2.tar.bz2">BusyBox 1.12.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_12_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.12.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.12.2 and busybox-1.13.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 778291     551    7856  786698   c010a busybox-1.12.2/busybox
 778981     551    7852  787384   c03b8 busybox-1.13.0/busybox
</pre>

    <p>New applets: blkid, devmem

    <p>Changes since previous release:
      <ul>
	<li>mail applets: total overhaul. Vladimir as usual</li>
	<li>ash: fix "while kill -0 $child; do true; done" looping forever</li>
	<li>ash: fix NOEXEC mode - we were forgetting to pass environment</li>
	<li>ash: fix a bug in standalone mode (corrupted getopt state)</li>
	<li>ash: optionally support "&gt;&amp;file" and "&amp;&gt;file" redirections</li>
	<li>awk: bitwise ops cast oprands and results to unsigned long, not signed. Closes bug 4774</li>
	<li>awk: fix typo in atan2 code. Closes bug 5594</li>
	<li>awk: improve handling of negative numbers in bitwise ops; fix handling of octal costants</li>
	<li>awk: support hex constants</li>
	<li>basename: fix error code (again)</li>
	<li>cpio: emit TRAILER even when hard links were found. By Pascal Bellard (pascal.bellard AT ads-lu.com)</li>
	<li>crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)</li>
	<li>dc: support for bases 2 and 8, by Nate Case (ncase AT xes-inc.com)</li>
	<li>dhcpc: treat "discover...select...discover..." loop the same way as "discover...discover...discover..."</li>
	<li>dpkg: add dpkg -l PACKAGE_PATTERN. By Peter Korsgaard</li>
	<li>fbset: fix mode matching code: original code may trigger false positive.</li>
	<li>findfs: fix LUKS and FAT detection routines; do not exit if corrupted FAT fs makes us try to seek past the end</li>
	<li>grep: fix 'echo aaa | grep -o a' + ENABLE_EXTRA_COMPAT case. By Natanael Copa</li>
	<li>grep: fix EXTRA_COMPAT grep to honor -E and -i</li>
	<li>gunzip: restore mtime</li>
	<li>halt: reinstate -w even if !FEATURE_WTMP</li>
	<li>hexdump: fix SEGV in hexdump -e ""</li>
	<li>httpd: pass "Accept:" and "Accept-Language:" header to CGI scripts (Alina Friedrichsen)</li>
	<li>hush: fix environment and memory leaks</li>
	<li>hush: fix trashing of environment by local env vars: a=a; a=b cmd; - a was unset</li>
	<li>id: improve compatibility with coreutils. By Tito Ragusa</li>
	<li>inetd: fix a case when we have zero services</li>
	<li>inetd: use config parser. By Vladimir</li>
	<li>init: set stderr to NONBLOCK</li>
	<li>insmod: fix detection of open failure</li>
	<li>install: support -D</li>
	<li>ip: fix ip route rejecting dotted quads as prefix</li>
	<li>ip: route metric support (Natanael Copa)</li>
	<li>iplink: accept shorthands for "address" keyword: "ip link set address 00:11:22:33:44:55"</li>
	<li>kbd_mode: support -C TTY</li>
	<li>kill[all[5]]: accept -s SIG too. By Steve Bennett (steveb AT workware.net.au)</li>
	<li>klogd: handle many lines at once. By Steve Bennett (steveb AT workware.net.au)</li>
	<li>less: support -I to be able to search case-insensitively</li>
	<li>less: add optional line number toggle and resizing on window resize</li>
	<li>libbb: do not reject floating point strings like ".15"</li>
	<li>lineedit: fix bug 5824 "since rev 23530 fdisk and ed don't work any more"</li>
	<li>lineedit: fix problems with empty commands in history</li>
	<li>login: fix /etc/nologin handling</li>
	<li>man: fix inconsistencies in handling $MANPATH</li>
	<li>mdev: support match by major,minor. See bug 4714</li>
	<li>modprobe-small: make insmod command line compatible</li>
	<li>modprobe-small: support "blacklist" keyword in /etc/modules/MODULE_NAME</li>
	<li>modprobe: fix a segfault when modprobe is called with no arguments at all</li>
	<li>modutils/*: rewrite by Timo Teras (timo.teras AT iki.fi)</li>
	<li>mount: fix "-o parm1 -o parm2" not accumulating</li>
	<li>nmeter: 4k buffers are too small for /proc files, make them dynamically sized with 16k upper limit</li>
	<li>ping: SO_RCVBUF must be bigger than packet size, otherwise large ping packets might fail to be received</li>
	<li>route: fix for 64-bit BE machines by Seonghun Lim (wariua AT gmail.com)</li>
	<li>rpm: fix incompatibilities which prevented rpm -i foo.src.rpm</li>
	<li>runsvdir: support runsvdir-as-init</li>
	<li>setarch: do not try to use non-existent data in argv[]</li>
	<li>setfont: support -m and -C, support -m TEXTUAL_MAP (by Vladimir)</li>
	<li>setup_environment: cd $HOME regardless of clear_env value</li>
	<li>slattach: preserve speed in non-raw mode. By Matthieu Castet (matthieu.castet AT parrot.com)</li>
	<li>start_stop_daemon: accept (and ignore) -R PARAM</li>
	<li>sv: make default service dir configurable (Vladimir wants it)</li>
	<li>sysctl: fix bug 3894 (by Kryzhanovskyy Maksym)</li>
	<li>tar: fix bug 3844: non-root tar does not preserve perms</li>
	<li>telnetd: handle emacs M-DEL and IAC-NOP. By Jim Cathey (jcathey AT ciena.com)</li>
	<li>top: fix "top -d 1" (bug 5144)</li>
	<li>top: optional SMP support by Vineet Gupta (vineetg76 AT gmail.com)</li>
	<li>trylink: make messages less confusing</li>
	<li>unzip: handle "central directory". Needed for OpenOffice, gmail attachment .zips etc</li>
	<li>vi: Rob's algorithm of reading and matching ESC sequences (nice work btw!)</li>
	<li>vi: deal with EOF/error on stdin and with input NULs</li>
	<li>vi: fix uninitialized last_search_pattern (bug 5794)</li>
	<li>vi: handle chars 0x80, 0x81 etc correctly</li>
	<li>volume identification: abolish /proc/partitions and /proc/cdroms scanning. It does not catch volume managers and such. Simply scan /dev/* for any block devices</li>
	<li>watchdog: WDIOC_SETTIMEOUT accepts seconds, not milliseconds</li>
	<li>watchdog: add -T option</li>
      </ul>
    </p>
  </li>

  <li><b>28 September 2008 -- BusyBox 1.12.1 (stable), BusyBox 1.11.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.12.1.tar.bz2">BusyBox 1.12.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_12_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.12.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.11.3.tar.bz2">BusyBox 1.11.3</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_11_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.11.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p>
    Bugfix-only releases for 1.11.x and 1.12.x branches.
    </p>
  </li>

  <li><b>21 August 2008 -- BusyBox 1.12.0 (unstable), BusyBox 1.11.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.12.0.tar.bz2">BusyBox 1.12.0</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_12_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.12.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.11.2.tar.bz2">BusyBox 1.11.2</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_11_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.11.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.11.2 and busybox-1.12.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 829687     617    7052  837356   cc6ec busybox-1.11.2/busybox
 822961     594    6832  830387   cabb3 busybox-1.12.0/busybox
</pre>

    <p>New applets: rdev (Grant Erickson), setfont, showkey (both by Vladimir)

    <p>Most significant changes since previous release (please report any regression):
      <ul>
	<li>ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"</li>
	<li>ash: dont allow e.g. exec &lt;&amp;10 to attach to script's fd! </li>
	<li>ash: fix a bug where redirection fds were not closed afterwards. Optimize close+fcntl(DUPFD) into dup2</li>
	<li>ash: fix segfault in "command -v"</li>
	<li>ash: fix very weak $RANDOM generator</li>
	<li>ash: prevent exec NN&gt;&amp;- from closing fd used for script reading</li>
	<li>ash: teach ash about 123&gt;file. It could take only 0..9 before</li>
	<li>hush: fix a case where "$@" must expand to no word at all</li>
	<li>hush: fix mishandling of a'b'c=fff as assignments. They are not</li>
	<li>hush: fix non-detection of builtins and applets in "v=break; ...; $v; ..." case</li>
	<li>hush: fix "while false; ..." exitcode; add testsuites</li>
	<li>hush: support "case...esac" statements (~350 bytes of code)</li>
	<li>hush: support "break [N]" and "continue [N]" statements</li>
	<li>hush: support "for if in do done then; do echo $if; done" case</li>
	<li>hush: support "for v; do ... done" syntax (implied 'in "$@"')</li>
	<li>hush: support $_NUMBERS variable names</li>
	<li>libbb: unified config parser (by Vladimir). This change affected many applets</li>
      </ul>

    <p>Other changes:
      <ul>
	<li>libbb: dump: do not use uninitialized memory (closes bug 4364)</li>
	<li>libbb: fix bb_strtol[l]'s check for "-" (closes bug 4174)</li>
	<li>libbb: fix --help to not affect "test --help"</li>
	<li>libbb: fix mishandling of "all argv are opts" in getopt32()</li>
	<li>libbb: getopt32() should not ever touch argv[0] (even read)</li>
	<li>libbb: introduce and use xrealloc_vector</li>
	<li>libbb: [x]fopen_for_{read,write} introduced and used (by Vladimir)</li>
	<li>lineedit: fix use-after-free</li>
	<li>libunarchive: refactor handling of archived files. "tar f file.tar.lzma" now works too</li>
	<li>bb_strtoXXX: close bug 4174 (potential use of buf[-1])</li>
	<li>open_transformer: don't leak file descriptor</li>
	<li>open_transformer: fix bug of calling exit instead of _exit</li>
	<li>arp: without -H type, assume "ether" (closes bug 4564)</li>
	<li>ar: reuse existing ar unpacking code</li>
	<li>awk: fix a case with multiple -f options. Simplify -f file reading. </li>
	<li>build system: introduce and use FAST_FUNC: regparm on i386, otherwise no-op</li>
	<li>bunzip2: fix an uncompression error (by Rob Landley rob AT landley.net)</li>
	<li>b[un]zip2, g[un]zip: unlink destination if -f is given (closes bug 3854)</li>
	<li>comm: almost total rewrite</li>
	<li>cpio: fix -m to actually work as expected (by Pascal Bellard)</li>
	<li>cpio: internalize archive_xread_all_eof, add a few paranoia checks for corrupted cpio files</li>
	<li>cpio: make long opts depend only on ENABLE_GETOPT_LONG</li>
	<li>cpio: on unpack, limit filename length to 8k</li>
	<li>cpio: support some long options</li>
	<li>crond: use execlp instead of execl</li>
	<li>cut: fix buffer overflow (closes bug 4544)</li>
	<li>envdir: fix "envdir" (no params at all) and "envdir dir" cases</li>
	<li>findfs: make it use setuid-ness of busybox binary</li>
	<li>fsck: use getmntent_r instead of open-coded parsing (by Vladimir)</li>
	<li>fuser: a bit of safety in scanf</li>
	<li>grep: option to use GNU regex matching instead of POSIX one. This fixes problems with NULs in files being scanned, but costs +800 bytes</li>
	<li>halt: signal init regardless of ENABLE_INIT</li>
	<li>httpd: add homedir directive specially for (and by) Walter Harms wharms AT bfs.de</li>
	<li>ifupdown: /etc/network/interfaces can have comments with leading blanks</li>
	<li>ifupdown: fixes for custom MAC address (by Wade Berrier wberrier AT gmail.com)</li>
	<li>ifupdown: fixes for shutdown of DHCP-managed interfaces (by Wade Berrier wberrier AT gmail.com)</li>
	<li>inetd: do not trash errno in signal handlers; in CHLD handler, stop looping through services when pid is found</li>
	<li>insmod: users report that "|| defined(__powerpc__)" is missing</li>
	<li>install: do not chown intermediate directories with install -d (by Natanael Copa)</li>
	<li>install: fix long option not taking params (closes bug 4584)</li>
	<li>lpd,lpr: send/receive ACKs after filenames, not only after file bodies</li>
	<li>ls: fix a bug where we may use uninintialized variable</li>
	<li>man: add handling of "man links", by Ivana Varekova varekova AT redhat.com</li>
	<li>man: fix a case when a full pathname to manpage is given</li>
	<li>man: fix inverted cat/man bool variable</li>
	<li>man: fix missed NULL termination of an array</li>
	<li>man: mimic "no manual entry for 'bogus'" message and exitcode</li>
	<li>man: support cat pages too (by Jason Curl jcurlnews AT arcor.de)</li>
	<li>man: teach it to use .lzma if requested by .config</li>
	<li>mdev: check for "/block/" substring for block dev detection</li>
	<li>mdev: do not complain if mdev.conf does not exist</li>
	<li>mdev: if device was moved at creation, at removal correctly remove it from moved location and also remove symlinks to it</li>
	<li>mdev: support for serializing hotplug</li>
	<li>mdev, init: use shared code for fd sanitization</li>
	<li>mkdir: fix "uname 0222; mkdir -p foo/bar" case (by Doug Graham dgraham AT nortel.com)</li>
	<li>modprobe: support for /etc/modprobe.d (by Timo Teras)</li>
	<li>modprobe: use buffering line reads (fgets()) instead of reads()</li>
	<li>modutils: optional modprobe-small (by Vladimir), 15kb smaller than standard one</li>
	<li>mount: support for "-o mand" and "[no]relatime"</li>
	<li>mount: support nfs mount option "nordiplus" (by Octavian Purdila opurdila AT ixiacom.com)</li>
	<li>mount: support "relatime" / "norelatime"</li>
	<li>mount: testsuite for "-o mand"</li>
	<li>msh: fix "while... continue; ..." (closes bug 3884)</li>
	<li>mv: fix a case when we move dangling symlink across mountpoints</li>
	<li>netstat: optional -p support (by L. Gabriel Somlo somlo AT cmu.edu)</li>
	<li>nmeter: fix read past the end of a buffer (closes bug 4594)</li>
	<li>od, hexdump: fix bug where xrealloc may move pointer, leaving other pointers dangling (closes bug 4104)</li>
	<li>pidof/killall: allow find_pid_by_name to find running processes started as scripts_with_name_longer_than_15_bytes.sh (closes bug 4054)</li>
	<li>printf: do not print garbage on "%Ld" (closes bug 4214)</li>
	<li>printf: fix %b, fix several bugs in %*.*, fix compat issues with aborting too early, support %zd; expand testsuite</li>
	<li>printf: protect against bogus format specifiers (closes bug 4184)</li>
	<li>sendmail: updates from Vladimir:</li>
	<li>sendmail: do not discard all headers</li>
	<li>sendmail: do not ignore CC; accept to: and cc: case-insensitively. +20 bytes</li>
	<li>sendmail: fixed mail recipient address</li>
	<li>sendmail: fixed SEGV if sender address is missed</li>
	<li>sendmail: use HOSTNAME instead of HOST when no server is explicitly specified</li>
	<li>sleep: if FANCY &amp;&amp; DESKTOP, support fractional seconds, minutes, hours and so on (coreutils compat)</li>
	<li>ssd: CLOSE_EXTRA_FDS in MMU case too</li>
	<li>ssd: do not stat -x EXECUTABLE, it is not needed anymore</li>
	<li>ssd: fix -a without -x case</li>
	<li>ssd: use $PATH</li>
	<li>tar: fix handling of tarballs with symlinks with size field != 0</li>
	<li>tar: handle autodetection for tiny .tar.gz files too, simplify autodetection</li>
	<li>taskset: fix some careless code in both fancy and non-fancy cases. -5 bytes for fancy, +5 for non-fancy</li>
	<li>tee: fix infinite looping on open error (echo asd | tee "")</li>
	<li>tee: "-" is a name for stdout, handle it that way</li>
	<li>telnetd: fix issue file printing</li>
	<li>test: fix parser to prefer binop over unop, as coreutils does</li>
	<li>testsuite: uniformly use $ECHO with -n -e</li>
	<li>time: don't segfault with no arguments</li>
	<li>touch: support -r REF_FILE if ENABLE_DESKTOP (needed for blackfin compile)</li>
	<li>tr: fix "access past the end of a string" bug 4354</li>
	<li>tr: fix "tr [=" case (closes bug 4374)</li>
	<li>tr: fix yet another access past the end of a string (closes bug 4374)</li>
	<li>unlzma: fix memory leak (by Pascal Bellard)</li>
	<li>vi: fix reversed checks for underflow</li>
	<li>vi: using array data after it fell out of scope is stupid</li>
	<li>xargs: fix -e default to match newer GNU xargs, add SUS mandated -E (closes bug 4414)</li>
	<li>other fixes and code size reductions in many applets</li>
      </ul>
    </p>

  <li><b>12 July 2008 -- BusyBox 1.11.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.11.1.tar.bz2">BusyBox 1.11.1</a>.
    (<a href="http://git.busybox.net/busybox/tree/?h=1_11_stable">git</a>,
    <a href="http://busybox.net/downloads/fixes-1.11.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p>
    Bugfix-only release for 1.11.x branch. It contains fixes for awk,
    bunzip2, cpio, ifupdown, ip, man, start-stop-daemon, uname and vi.
    </p>
  </li>

  <li><b>11 July 2008 -- HOWTO is updated</b>
    <p>
    <a href="http://busybox.net/~vda/HOWTO/i486-linux-uclibc/HOWTO.txt">
    "How to build static busybox for i486-linux-uclibc"</a> is updated
    and tested on a fresh Fedora 9 install. Please report if it doesn't
    work for you.
    </p>
  </li>



  <li><b>Old News</b><p>
    Click here to read <a href="oldnews.html">older news</a>
    </p>
  </li>

</ul>

<!--#include file="footer.html" -->