summaryrefslogtreecommitdiff
path: root/docs/busybox.net/oldnews.html
blob: 01e608d5c736ce276f7863ce15700b9bedb46f87 (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
<!--#include file="header.html" -->


<ul>
  <li><b>12 February 2008 -- BusyBox 1.9.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.9.1.tar.bz2">BusyBox 1.9.1</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_9_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.9.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>This is a bugfix-only release, with fixes to fsck,
    iproute, mdev, mkswap, msh, nameif, stty, test, zcip.</p>
    <p>hush has `command` expansion re-enabled for NOMMU, although it is
    inherently unsafe (by virtue of NOMMU's use of vfork instead of fork).
    The plan is to make this less likely to bite people in future versions.</p>
  </li>

  <li><b>24 December 2007 -- BusyBox 1.9.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.9.0.tar.bz2">BusyBox 1.9.0</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_9_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.9.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.8.2 and busybox-1.9.0 (with almost full config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 792796     978    9724  803498   c42aa busybox-1.8.2
 783803     683    7508  791994   c15ba busybox-1.9.0
</pre>
    <p>Top 10 stack users:<pre>
busybox-1.8.2:               busybox-1.9.0:
input_tab             10428  echo_dg                4116
umount_main            8252  bb_full_fd_action      4112
rtnl_talk              8240  discard_dg             4096
xrtnl_dump_filter      8240  echo_stream            4096
sendMTFValues          5316  discard_stream         4096
mainSort               4700  find_list_entry2       4096
mkfs_minix_main        4288  readlink_main          4096
grave                  4260  ipaddr_list_or_flush   3900
unix_do_one            4156  iproute_list_or_flush  3680
parse_prompt           4132  insmod_main            3152
</pre>

    <p>lash is deleted from this release. hush can be configured down to almost
       the same size, but it is significantly less buggy. It even works
       on NOMMU machines (interactive mode and backticks are not working on NOMMU,
       though). "lash" applet is still available, but it runs hush.

    <p>init has some changes in this release, please report if it causes
       problems for you.

    <p>Changes since previous release:
      <ul>
	<li>Build system improvements
	<li>Testsuite additions
	<li>Stack size reductions, code size reductions, data/bss reductions
	<li>An option to prefer IPv4 address if host has both
	<li>New applets: hd, sestatus
	<li>Removed applets: lash
	<li>hush: fixed a few bugs, wired up echo and test to be builtins
	<li>init: simplify forking of children
	<li>getty: special handling of '#' and '@' is removed
	<li>[su]login: sanitize environment if called by non-root
	<li>udhcpc: support "bad" servers which send oversized packets
	  (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
	<li>udhcpc: -O option allows to specify which options to ask for
	  (Stefan Hellermann &lt;stefan at the2masters.de&gt;)
	<li>udhcpc: optionally check whether given IP is really free (by ARP ping)
	  (Jonas Danielsson &lt;jonas.danielsson at axis.com&gt;)
	<li>vi: now handles files with unlimited line length
	<li>vi: speedup for huge line lengths
	<li>vi: Del key works
	<li>sed: support GNUism '\t'
	<li>cp/mv/install: optionally use bigger buffer for bulk copying
	<li>line editing: don't eat stack like crazy
	<li>passwd: follows symlinked /etc/passwd
	<li>renice: accepts priority with +N too
	<li>netstat: wide output mode
	<li>nameif: extended matching (Nico Erfurth &lt;masta at perlgolf.de&gt;)
	<li>test: become NOFORK applet
	<li>find: -iname (Alexander Griesser &lt;alexander.griesser at lkh-vil.or.at&gt;)
	<li>df: -i option (show inode info) (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
	<li>hexdump: -R option (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
      </ul>
    </p>

  <li><b>23 November 2007 -- BusyBox 1.8.2 (stable), BusyBox 1.7.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.8.2.tar.bz2">BusyBox 1.8.2</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.8.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.7.4.tar.bz2">BusyBox 1.7.4</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.7.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>These are bugfix-only releases.
    1.8.2 contains fixes for inetd, lash, tar, tr, and build system.
    1.7.4 contains a fix for inetd.</p>
  </li>

  <li><b>9 November 2007 -- BusyBox 1.8.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.8.1.tar.bz2">BusyBox 1.8.1</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.8.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>This is a bugfix-only release, with fixes to login (PAM), modprobe, syslogd, telnetd, unzip.</p>
  </li>

  <li><b>4 November 2007 -- BusyBox 1.8.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.8.0.tar.bz2">BusyBox 1.8.0</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.8.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Note: this is probably the very last release with lash. It will be dropped. Please migrate to hush.

    <p>Applets which had many changes since 1.7.x:
    <p>httpd:
      <ul>
	<li>does not clear environment, CGIs will see all environment variables which were set for httpd
	<li>fix bug where we were trying to read more POSTDATA than content-length
	<li>fix trivial bug (spotted by Alex Landau)
	<li>optional support for partial downloads
	<li>simplified CGI i/o loop (now it looks good to me)
	<li>small auth and IPv6 fixes (Kim B. Heino &lt;Kim.Heino at bluegiga.com>)
	<li>support for proxying connection to other http server (by Alex Landau &lt;landau_alex at yahoo.com>)
      </ul>

    <p>top:
      <ul>
	<li>TOPMEM feature - 's(how sizes)' command
	<li>don't wait before final bailout (try top -b -n1)
	<li>fix for command line wrapping
      </ul>

    <p>Build system improvements: libbusybox mode restored (it was lost in transition to new makefiles).

    <p>Code and data size in comparison with 1.7.3:<pre>
Equivalent .config, i386 uclibc static builds:
   text    data     bss     dec     hex filename
 768123	   1055	  10768	 779946	  be6aa	busybox-1.7.3/busybox
 759693	    974	   9420	 770087	  bc027	busybox-1.8.0/busybox</pre>

    <p>New applets:
      <ul>
	<li>microcom: new applet by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;
	<li>kbd_mode: new applet by Loic Grenie &lt;loic.grenie at gmail.com&gt;
	<li>bzip2: port bzip2 1.0.4 to busybox, 9 kb of code
	<li>pgrep, pkill: new applets by Loic Grenie &lt;loic.grenie at gmail.com&gt;
	<li>setsebool: new applet (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
      </ul>

    <p>Other changes since previous release (abridged):
      <ul>
	<li>cp: -r and -R imply -d (coreutils compat)
	<li>cp: detect and prevent infinite recursion
	<li>cp: make it a bit closer to POSIX, but still refuse to open and overwrite symbolic link
	<li>hdparm: reduce possibility of numeric overflow in -T
	<li>hdparm: simplify timing measurement
	<li>wget: -O FILE is allowed to overwrite existing file (compat)
	<li>wget: allow dots in header field names
	<li>telnetd: add -K option to close sessions as soon as child exits
	<li>telnetd: don't SIGKILL child when closing the session, kernel will send SIGHUP for us
	<li>ed: large cleanup, add line editing
	<li>hush: feeble attempt at making it more NOMMU-friendly
	<li>hush: fix glob()
	<li>hush: stop doing manual accounting of open fd's, kernel can do it for us
	<li>adduser: implement -S and fix uid selection
	<li>ash: fix prompt expansion (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
	<li>ash: revert "cat | jobs" fix, it causes more problems than good
	<li>find: fix -xdev behavior in the presence of two or more nested mount points
	<li>grep: fix grep -F -e str1 -e str2 (was matching str2 only)
	<li>grep: optimization: stop on first -e match
	<li>gunzip: support concatenated gz files
	<li>inetd: fix bug 1562 "inetd does not set argv[0] properly" (fix by Ilya Panfilov)
	<li>install: 'support' (by ignoring) -v and -b
	<li>install: fix bug in "install -c file dir" (tried to copy dir into dir too)
	<li>ip: tunnel parameter parsing fix by Jean Wolter &lt;jw5 at os.inf.tu-dresden.de&gt;
	<li>isrv: use monotonic_sec
	<li>less: make 'f' key page forward
	<li>libiproute: add missing break statements
	<li>load_policy: update (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
	<li>logger: fix a problem of losing all argv except first
	<li>login: do reject wrong passwords with PAM auth
	<li>losetup: support -f (Loic Grenie &lt;loic.grenie at gmail.com&gt;)
	<li>fdisk: make fdisk compile on libc without llseek64
	<li>libbb: by popular request allow PATH to be customized at build time
	<li>mkswap: selinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
	<li>mount: allow (and ignore) -i
	<li>mount: ignore NFS bg option on NOMMU machines
	<li>mount: mount helpers support (by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;)
	<li>passwd: handle Ctrl-C, restore termios on Ctrl-C
	<li>passwd: SELinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
	<li>ping: make -I ethN work too (-I addr already worked)
	<li>ps: fix RSS parsing (rss field in /proc/PID/stat is in pages, not bytes)
	<li>read_line_input: fix it to not do any fancy editing if echoing is disabled
	<li>run_parts: make it sort executables by name (required by API)
	<li>runsv: do not use clock_gettime if !MONOTONIC_CLOCK
	<li>runsvdir: fix "linear wait time" bug
	<li>sulogin: remove alarm handling, it is redundant there
	<li>svlogd: compat: svlogd -tt should timestamp stderr too
	<li>syslogd: bail out if you see null read from Unix socket
	<li>syslogd: do not need to poll(), we can just block in read()
	<li>tail: work correctly on /proc files (Kazuo TAKADA &lt;kztakada at sm.sony.co.jp&gt;)
	<li>tar + gzip/bzip2/etc: support NOMMU machines (by Alex Landau &lt;landau_alex at yahoo.com&gt;)
	<li>tar: strip leading '/' BEFORE memorizing hardlink's name
	<li>tftp: fix infinite retry bug
	<li>umount: support (by ignoring) -i; style fixes
	<li>unzip: fix endianness bugs
	<li>vi: don't wait 50 ms before reading ESC sequences
	<li>watchdog: allow millisecond spec (-t 250ms)
	<li>zcip: fix unaligned trap on ARM
      </ul>
    </p>

  </li>

  <li><b>4 November 2007 -- BusyBox 1.7.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.7.3.tar.bz2">BusyBox 1.7.3</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.7.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>This is a bugfix-only release, with fixes to ash, httpd, inetd, iptun, logger, login, tail.</p>
  </li>

  <li><b>30 September 2007 -- BusyBox 1.7.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.7.2.tar.bz2">BusyBox 1.7.2</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.7.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>This is a bugfix-only release, with fixes to install, find, login, httpd, runsvdir, chcon, setfiles, fdisk and line editing.</p>
  </li>

  <li><b>16 September 2007 -- BusyBox 1.7.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.7.1.tar.bz2">BusyBox 1.7.1</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.7.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>This is a bugfix-only release, with fixes to cp, runsv, tar, busybox --install and build system.</p>
  </li>

  <li><b>24 August 2007 -- BusyBox 1.7.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.7.0.tar.bz2">BusyBox 1.7.0</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.7.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Applets which had many changes since 1.6.x:
    <p>httpd:
      <ul>
	<li>works in standalone mode on NOMMU machines now (partly by Alex Landau &lt;landau_alex at yahoo.com&gt;)
	<li>indexer example is rewritten in C
	<li>optional support for error pages (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
	<li>stop reading headers using 1-byte reads
	<li>new option -v[v]: prints client addresses, HTTP codes returned, URLs
	<li>extended -p PORT to -p [IP[v6]:]PORT
	<li>sendfile support (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
	<li>add support for Status: CGI header
	<li>fix CGI handling bug (we were closing wrong fd)
	<li>CGI I/O loop still doesn't look 100% ok to me...
      </ul>

    <p>udhcp[cd]:
      <ul>
	<li>add -f "foreground" and -S "syslog" options
	<li>fixed "ifupdown + udhcpc_without_pidfile_creation" bug
	<li>new config option "Rewrite the lease file at every new acknowledge" (Mats Erik Andersson &lt;mats at blue2net.com&gt; (Blue2Net AB))
	<li>consistently treat server_config.start/end IPs as host-order
	<li>fix IP parsing for 64bit machines
	<li>fix unsafe hton macro usage in read_opt()
	<li>do not chdir to / when daemonizing
      </ul>

    <p>top, ps, killall, pidof:
      <ul>
	<li>simpler loadavg processing
	<li>truncate usernames to 8 chars
	<li>fix non-CONFIG_DESKTOP ps -ww (by rockeychu)
	<li>improve /proc/PID/cmdinfo reading code
	<li>use cmdline, not comm field (fixes problems with re-execed applets showing as processes with name "exe", and not being found by pidof/killall by applet name)
	<li>reduce CPU usage in decimal conversion (optional) (corresponding speedup on kernel side is accepted in mainline Linux kernel, yay!)
	<li>make percentile (0.1%) calculations configurable
	<li>add config option and code for global CPU% display
	<li>reorder columns, so that [P]PIDs are together and VSZ/%MEM are together - makes more sense
      </ul>

    <p>Build system improvements: doesn't link against libraries we don't need,
	generates verbose link output and map file, allows for custom link
	scripts (useful for removing extra padding, among other things).

    <p>Code and data size in comparison with 1.6.1:<pre>
Equivalent .config, i386 glibc dynamic builds:
   text    data     bss     dec     hex filename
 672671    2768   16808  692247   a9017 busybox-1.6.1/busybox
 662948    2660   13528  679136   a5ce0 busybox-1.7.0/busybox
 662783    2631   13416  678830   a5bae busybox-1.7.0/busybox.customld

Same .config built against static uclibc:
 765021    1059   11020  777100   bdb8c busybox-1.7.0/busybox_uc</pre>

    <p>Code/data shrink done in applets: crond, hdparm, dd, cal, od, nc, expr, uuencode,
	test, slattach, diff, ping, tr, syslogd, hwclock, zcip, find, pidof, ash, uudecode,
	runit/*, in libbb.

    <p>New applets:
      <ul>
	<li>pscan, expand, unexpand (from Tito &lt;farmatito at tiscali.it&gt;)
	<li>setfiles, restorecon (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
	<li>chpasswd (by Alexander Shishkin &lt;virtuoso at slind.org&gt;)
	<li>slattach, ttysize
      </ul>

    <p>Unfortunately, not much work is done on shells. This was mostly stalled
	by lack of time (read: laziness) on my part to learn how to adapt existing
	qemu-runnable image for a NOMMU architechture (available on qemu website)
	for local testing of cross-compiled busybox on my machine.

    <p>Other changes since previous release (abridged):
      <ul>
	<li>addgroup: disallow addgroup -g num user group; make -g 0 work (Tito &lt;farmatito at tiscali.it&gt;)
	<li>adduser: close /etc/{passwd,shadow} before calling passwd etc. Spotted by Natanael Copa &lt;natanael.copa at gmail.com&gt;
	<li>arping: -i should be -I, fixed
	<li>ash: make "jobs | cat" work like in bash (was giving empty output)
	<li>ash: recognize -l as --login equivalent; do not recognize +-login
	<li>ash: fix buglet in DEBUG code (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
	<li>ash: fix SEGV if type has zero parameters
	<li>awk: fix -F 'regex' bug (miscounted fields if last field is empty)
	<li>catv: catv without arguments was trying to use environ as argv (Alex Landau &lt;landau_alex at yahoo.com&gt;)
	<li>catv: don't die on open error (emit warning)
	<li>chown/chgrp: completely match coreutils 6.8 wrt symlink handling
	<li>correct_password: do not print "no shadow passwd..." message
	<li>crond: don't start sendmail with absolute path, don't report obsolete version (report true bbox version)
	<li>dd: fix bug where we assume count=INT_MAX when count is unspecified
	<li>devfsd: sanitization by Tito &lt;farmatito at tiscali.it&gt;
	<li>echo: fix non-fancy echo
	<li>fdisk: make it work with big disks (read: typical today's disks) even if CONFIG_LFS is unset
	<li>find: -context support for SELinux (KaiGai Kohei &lt;kaigai at kaigai.gr.jp&gt;)
	<li>find: add conditional support for -maxdepth and -regex, make -size match GNU find
	<li>find: fix build failure on certain configs (found by Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
	<li>fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one
	<li>grep: implement -m MAX_MATCHES, fix buglets with context printing
	<li>grep: fix selection done by FEATURE_GREP_EGREP_ALIAS (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
	<li>hush: add missing dependencies (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
	<li>hush: fix read builtin to not read ahead past EOL and to not use insane amounts of stack
	<li>ifconfig: make it work with ifaces with interface no. &gt; 255
	<li>ifup/ifdown: make location of ifstate configurable
	<li>ifupdown: make netmask parsing smaller and more strict (was accepting 255.0.255.0, 255.1234.0.0 etc...)
	<li>install: fix -s (strip) option, fix install a b /a/link/to/dir
	<li>libbb: consolidate ARRAY_SIZE macro (Walter Harms &lt;wharms at bfs.de&gt;)
	<li>libbb: make /etc/network parsing configurable. -200 bytes when off
	<li>libbb: nuke BB_GETOPT_ERROR, always die if there are mutually exclusive options
	<li>libbb: xioctl and friends by Tito &lt;farmatito at tiscali.it&gt;
	<li>login: optional support for PAM
	<li>login: make /etc/nologin support configurable (-240 bytes)
	<li>login: ask passwords even for wrong usernames
	<li>md5_sha1_sum: fix mishandling when run as /bin/md5sum
	<li>mdev: add support for firmware loading
	<li>mdev: work even when CONFIG_SYSFS_DEPRECATED in kernel is off
	<li>modprobe: add scanning of /lib/modules/`uname -r`/modules.symbols (by Yann E. MORIN &lt;yann.morin.1998 at anciens.enib.fr&gt;)
	<li>more: fixes by Tristan Schmelcher &lt;tpkschme at engmail.uwaterloo.ca&gt;
	<li>nc: make connecting to IPv4 from IPv6-enabled hosts easier (was requiring -s local_addr)
	<li>passwd: fix bug "updating shadow even if user's record is in passwd"
	<li>patch: fix -p -1 handling
	<li>patch: fix bad line ending handling (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
	<li>ping: display roundtrip times with 1/1000th of ms, not 1/10 ms precision.
	<li>ping: fix incorrect handling of -I (Iouri Kharon &lt;bc-info at styx.cabel.net&gt;)
	<li>ping: fix non-fancy ping6
	<li>printenv: fix "printenv VAR1 VAR2" bug (spotted by Kalyanatejaswi Balabhadrapatruni &lt;kalyanatejaswi at yahoo.co.in&gt;)
	<li>ps: fix -Z (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
	<li>rpm: add optional support for bz2 data. +50 bytes of code
	<li>rpm: fix bogus "package is not installed" case
	<li>sed: fix 'q' command handling (by Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
	<li>start_stop_daemon: NOMMU fixes by Alex Landau &lt;landau_alex at yahoo.com&gt;
	<li>stat: fix option -Z SEGV
	<li>strings: strings a b was processing a twice, fix that
	<li>svlogd: fix timestamping, do not warn if config is missing
	<li>syslogd, logread: get rid of head pointer, fix logread bug in the process
	<li>syslogd: do not convert tabs to ^I, set syslog IPC buffer to mode 0644
	<li>tar: improve OLDGNU compat, make old SUN compat configurable
	<li>test: fix testing primary expressions like '"-u" = "-u"'
	<li>uudecode: fix to base64 decode by Jorgen Cederlof &lt;jcz at google.com&gt;
	<li>vi: multiple fixes by Natanael Copa &lt;natanael.copa at gmail.com&gt;
	<li>wget: fix bug in base64 encoding (bug 1404). +10 bytes
	<li>wget: lift 256 chars limitation on terminal width
	<li>wget, zcip: use monotonic_sec instead of gettimeofday
      </ul>
    </p>
  </li>

  <li><b>30 June 2007 -- BusyBox 1.6.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.6.1.tar.bz2">BusyBox 1.6.1</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.6.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>This is a bugfix-only release, with fixes to echo, hush, and wget.</p>
  </li>

  <li><b>1 June 2007 -- BusyBox 1.6.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.6.0.tar.bz2">BusyBox 1.6.0</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.6.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Since this is a x.x.0 release, it probably does not deserve "stable"
    label. Please help making 1.6.1 stable by testing 1.6.0.</p>
    <p>Note that hush shell had many changes and (hopefully) is much improved now,
    but there is a possibility that it regressed in some obscure cases. Please
    report any such cases.</p>
    <p>lash users please note: lash is going to be deprecated in busybox 1.7.0
    and removed in the more distant future. Please migrate to hush.</p>
    <p><a href="http://busybox.net/~vda/mem_usage-1.6.0.txt">Memory usage has decreased, but we can do better still</a></p>
    <p>Other changes since previous release:
    <ul>
<li>NOFORK: audit small applets and mark some of them as NOFORK. Put big scary warnings in relevant places
<li>NOFORK: factor out NOFORK/NOEXEC code from find. Use NOFORK/NOEXEC in find and xargs
<li>NOFORK: remove potential xmalloc from NOFORK path in bb_full_fd_action
<li>NOMMU: random fixes; compressed --help now works for NOMMU
<li>SELinux: load_policy applet
<li>[u]mount: extend -t option (Roy Marples &lt;uberlord at gentoo.org&gt;)
<li>addgroup: clean up, fix adding users to existing groups and make it optional (Tito)
<li>adduser: don't bomb out if shadow password file doesn't exist (from Tito &lt;farmatito at tiscali.it&gt;)
<li>applet.c: do not even try to read config if run by real root; fix suid config handling
<li>ash: fix infinite loop on exit if tty is not there anymore
<li>ash: fix kill -l (by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
<li>ash: implement type -p, costs less than 10 bytes (patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
<li>awk: don't segfault on printf(%*s). Closes bug 1337
<li>awk: guard against empty environment
<li>awk: some 'lineno' vars were shorts, made them ints (code got smaller)
<li>cat: stop using stdio.h opens
<li>config system: clarify PREFER_APPLETS/SH_STANDALONE effects in help text
<li>cryptpw: new applet (by Thomas Lundquist &lt;lists at zelow.no&gt;)
<li>cttyhack: new applet
<li>dd: NOEXEC fix; fix skip= parse error (spotted by Dirk Clemens &lt;develop at cle-mens.de&gt;)
<li>deluser: add optional support for removing users from groups (by Tito &lt;farmatito at tiscali.it&gt;)
<li>diff: fix SEGV (NULL deref) in diff -N
<li>diff: fix segfault on empty dirs (Peter Korsgaard &lt;peter.korsgaard at barco.com&gt;)
<li>dnsd: fix several buglets, make smaller; openlog(), so that applet's name is logged
<li>dpkg: run_package_script() returns 0 if all ok and non-zero if failure. The result code was checked incorrectly in two places. (from Kim B. Heino &lt;Kim.Heino at bluegiga.com&gt;)
<li>dpkg: use bitfields which are a bit closer to typical short/char. Code size -800 bytes
<li>dumpleases: getopt32()-ization (from Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
<li>e2fsprogs: stop using statics in chattr. Minor code shrinkage (-130 bytes)
<li>ether-wake: close bug 1317. Reorder fuctions to avoid forward refs while at it
<li>ether-wake: save a few more bytes of code
<li>find: -group, -depth (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
<li>find: add support for -delete, -path (by Natanael Copa)
<li>find: fix -prune. Add big comment about it
<li>find: improve usage text (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
<li>find: missed 'static' on const data; size and prune were mixed up; use index_in_str_array
<li>find: un-DESKTOPize (Kai Schwenzfeier &lt;niteblade at gmx.net&gt;)
<li>find_root_device: teach to deal with /dev/ subdirs (by Kirill K. Smirnov &lt;lich at math.spbu.ru&gt;)
<li>find_root_device: use lstat - don't follow links
<li>getopt32: fix llist_t options ordering. llist_rev is now unused
<li>getopt: use getopt32 for option parsing - inspired by patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;
<li>hdparm: fix multisector mode setting (from Toni Mirabete &lt;amirabete at catix.cat&gt;)
<li>hdparm: make -T -t code smaller (-194 bytes), and output prettier
<li>ifupdown: make it possible to use DHCP clients different from udhcp
<li>ifupdown: reread state file before rewriting it. Fixes "ifup started another ifup" state corruption bug. Patch by Natanael Copa &lt;natanael.copa at gmail.com&gt;
<li>ifupdown: small optimization (avoid doing useless work if we are not going to update state file)
<li>ip: fix compilation if FEATURE_TR_CLASSES is off
<li>ip: mv ip*_main into ip.c; use a dispatcher to save on needless duplication. Saves a minor 12b
<li>ip: rewrite the ip applet to be less bloaty. Convert to index_in_(sub)str_array()
<li>ip: set the scope properly. Thanks to Jean Wolter
<li>iplink: shrink iplink; sanitize libiproute a bit (-916 bytes)
<li>iproute: shrink a bit (-200 bytes)
<li>kill: know much more signals; make code smaller; use common code for kill applet and ash kill builtin
<li>klogd: remove dependency on syslogd
<li>lash: "forking" applets are actually can be treated the same way as "non-forked". Also save a bit of space on trailing NULL array elements.
<li>lash: fix kill buglet (didn't properly recognize ESRCH)
<li>lash: make -c work; crush buffer overrun and free of non-malloced ptr (from Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
<li>lash: recognize and use NOFORK applets
<li>less: fix case when regex search finds nothing; fix very obscure memory corruption bug; fix less &lt;HUGEFILE + [End] busy loop
<li>libbb: add xsendto, xunlink, xpipe
<li>libbb: fix segfault in reset_ino_dev_hashtable() when *hashtable was NULL
<li>libbb: make pidfile writing configurable
<li>libbb: make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
<li>libbb: rework NOMMU helper API so that it makes more sense and easier to use
<li>libiproute: audit callgraph, shortcut error paths into die() functions
<li>lineedit: do not try to open NULL history file
<li>lineedit: nuke two unused variables and code which sets them
<li>login: remove setpgrp call (makes it work from shell prompt again); sanitize stdio descriptors (we are suid, need to be careful!)
<li>login: shrink login and set_environment by ~100 bytes
<li>mount: fix incorrect usage of strtok (inadvertently used NULL sometimes)
<li>mount: fix mounting of symlinks (mount from util-linux allows that)
<li>msh: data/bss reduction (more than 9k of it); fix "underscore bug" (a_b=1111 didn't work); fix obscure case with backticks and closed fd 1
<li>nc: port nc 1.10 to busybox
<li>netstat: fix for bogus state value for raw sockets
<li>netstat: introduce -W: wide, ipv6-friendly output; shrink by ~500 bytes
<li>nmeter: should die if stdout doesn't like him anymore
<li>patch: do not try to delete same file twice
<li>ping: fix wrong sign extension of packet id (bug 1373)
<li>ps: add -o tty and -o rss support; make a bit smaller; work around libc bug: printf("%.*s\n", MAX_INT, buffer)
<li>run_parts: rewrite
<li>run_parts: do not check path portion of a name for "bad chars". Needed for ifupdown. Patch by Gabriel L. Somlo &lt;somlo at cmu.edu&gt;
<li>sed: fix escaped newlines in -f
<li>split: new applet
<li>stat: remove superfluous bss user (flags) and manually unswitch some areas
<li>stty: fix option parsing bug (spotted by Sascha Hauer &lt;s.hauer at pengutronix.de&gt;)
<li>svlogd: fix 'SEGV on uninitialized data' and make it honor TERM
<li>tail: fix SEGV on "tail -N"
<li>ipsvd: tcpsvd,udpsvd are new applets, GPL-ed 'clones' of Dan Bernstein's tcpserver. Author: Gerrit Pape &lt;pape at smarden.org&gt;, http://smarden.sunsite.dk/ipsvd/
<li>test: close bug 1371; plug a memory leak; code size reduction
<li>tftp: code diet, and I think retransmits were broken
<li>tr: fix bug where we did not reject invalid classes like '[[:alpha'. debloat while at it
<li>udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata; use pipe instead of socketpair
<li>udhcp[cd]: stop using atexit magic fir pidfile removal; stop deleting our own pidfile if we daemonize
<li>xargs: shrink code, ~80 bytes; simplify word list management
<li>zcip: make it work on NOMMU (+ improve NOMMU support machinery)
    </ul>
    </p>
  </li>

  <li><b>20 May 2007 -- BusyBox 1.5.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.5.1.tar.bz2">BusyBox 1.5.1</a>.
    (<a href="http://busybox.net/downloads/fixes-1.5.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>This is a bugfix-only release, with fixes to hdparm, hush, ifupdown, ps
    and sed.</p>
  </li>

  <li><b>23 March 2007 -- BusyBox 1.5.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.5.0.tar.bz2">BusyBox 1.5.0</a>.
    (<a href="http://busybox.net/downloads/fixes-1.5.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Since this is a x.x.0 release, it probably does not deserve "stable"
    label. Please help making 1.5.1 stable by testing 1.5.0.</p>
    <p>Notable changes since previous release:
    <ul>
    <li>find: added support for -user, -not, fixed -mtime, -mmin, -perm
    <li>[de]archivers: merge common logic into one module
    <li>ping[6]: unified code for both
    <li>less: regex search improved
    <li>ash: more readable code, testsuite added
    <li>sed: several very obscure bugs fixed
    <li>chown: -H, -L, -P support (required by POSIX)
    <li>tar: handle (broken) checksums a-la Sun; tar restores mode again
    <li>grep: implement -w, "implement" -a and -I by ignoring them
    <li>cp: more sane behavior when overwriting existing files
    <li>init: stop doing silly things with the console (-400 bytes)
    <li>httpd: make httpd usable for NOMMU CPUs; fix POSTDATA handling bugs
    <li>httpd: run interpreter for configured file extensions in any dir,
        not only in /cgi-bin/
    <li>chrt: new applet
    <li>SELinux: SELinux-related code and -Z option added to several applets,
        new SELinux-specific applets: chcon, runcon.
    <li>Build system: produces link map, uses -Wwrite-strings to catch
        improper usage of string constants.
    <li>Data and bss section usage audited and reduced - should help NOMMU
        targets.
    <li>Applets with bug fixes: gunzip, vi, syslogd, dpkg, ls, adjtimex, resize,
        sv, printf, diff, awk, sort, dpkg, diff, tftp
    <li>Applets with usability improvements: swapon, more, ifup/ifdown, hwclock,
        udhcpd, start_stop_daemon, cmp
    <li>Applets with code cleaned up: telnet, fdisk, fsck_minix, mkfs_minix,
        syslogd, swapon, runsv, svlogd, klogd
    </ul>
    </p>
  </li>

  <li><b>18 March 2007 -- BusyBox 1.4.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.4.2.tar.bz2">BusyBox 1.4.2</a>.
    </p>

    <p>This release includes only trivial fixes accumulated since 1.4.1.
    </p>
  </li>

  <li><b>25 January 2007 -- BusyBox 1.4.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.4.1.tar.bz2">BusyBox 1.4.1</a>.
    (<a href="http://busybox.net/downloads/fixes-1.4.1/">patches</a>)</p>

    <p>This release includes only trivial fixes accumulated since 1.4.0.
    </p>
  </li>

  <li><b>20 January 2007 -- BusyBox 1.4.0 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.4.0.tar.bz2">BusyBox 1.4.0</a>.
    (<a href="http://busybox.net/downloads/fixes-1.4.0/">patches</a>)</p>

    <p>Since this is a x.x.0 release, it probably is a bit less "stable"
    than usual.</p>
    <p>Changes since previous release:
    <ul>
    <li>e2fsprogs are mostly removed from busybox. Some smaller parts remain,
    the rest of it sits disabled in e2fsprogs/old_e2fsprogs/*, because
    it's too bloated. Really. I'm afraid it's about the only way we can
    ever get e2fsprogs cleaned up.
    <li>less: many improvements. Now can display binary files
    (although I expect it to have trouble with displays where 8bit chars
    don't have 1-to-1 char/glyph relationship). Regexp search is not buggy
    anymore. Less does not read entire input up-front. Reads input
    as it appears (yay!). Works rather nice as man pager. I recommend it
    for general use now.
    <li>IPv6: generic support is in place, many networking applets are
    upgraded to be IPv6 capable. Probably some work remains, but it is
    already much better than what we had previously.
    <li>arp: new applet (thanks to Eric Spakman).
    <li>fakeidentd: non-forking standalone server part was taking ~90%
    of the applet. Factored it out (in fact, rewrote it).
    <li>syslogd: mostly rewritten.
    <li>decompress_unzip, gzip: sanitized a bit.
    <li>sed: better hadling of NULs
    <li>httpd: stop adding our own "Content-type:" to CGI output
    <li>chown: user.grp works again.
    <li>minor bugfixes to: passwd, date, tftp, start_stop_daemon, tar,
    ps, ifupdown, time, su, stty, awk, ping[6], sort,...
    </ul>
    </p>
  </li>

  <li><b>20 January 2007 -- BusyBox 1.3.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.3.2.tar.bz2">BusyBox 1.3.2</a>.</p>

    <p>This release includes only one trivial fix accumulated since 1.3.1
    </p>
  </li>

  <li><b>27 December 2006 -- BusyBox 1.3.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.3.1.tar.bz2">BusyBox 1.3.1</a>.
    (<a href="http://busybox.net/downloads/fixes-1.3.1/">patches</a>)</p>

    <p>Closing 2006 with new release. It includes only trivial fixes accumulated since 1.3.0
    </p>
  </li>

  <li><b>14 December 2006 -- BusyBox 1.3.0 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.3.0.tar.bz2">BusyBox 1.3.0</a>.
    (<a href="http://busybox.net/downloads/fixes-1.3.0/">patches</a>)</p>

    <p>This release has CONFIG_DESKTOP option which enables features
    needed for busybox usage on desktop machine. For example, find, chmod
    and chown get several less frequently used options, od is significantly
    bigger but matches GNU coreutils, etc. Intended to eventually make
    busybox a viable alternative for "standard" utilities for slightly
    adventurous desktop users.
    <p>Changes since previous release:
    <ul>
    <li>find: taking many more of standard options
    <li>ps: POSIX-compliant -o implemented
    <li>cp: added -s, -l
    <li>grep: added -r, fixed -h
    <li>watch: make it exec child like standard one does (was totally
        incompatible)
    <li>tar: fix limitations which were preventing bbox tar usage
        on big directories: long names and linknames, pax headers
        (Linux kernel tarballs have that). Fixed a number of obscure bugs.
        Raised max file limit (now 64Gb). Security fixes (/../ attacks).
    <li>httpd: added -i (inetd), -f (foreground), support for
        directory indexer CGI (example is included), bugfixes.
    <li>telnetd: fixed/improved IPv6 support, inetd+standalone support,
        other fixes. Useful IPv6 stuff factored out into libbb.
    <li>runit/*: new applets adapted from http://smarden.sunsite.dk/runit/
        (these are my personal favorite small-and-beautiful toys)
    <li>minor bugfixes to: login, dd, mount, umount, chmod, chown, ln, udhcp,
        fdisk, ifconfig, sort, tee, mkswap, wget, insmod.
    </ul>
    <p>Note that GnuPG key used to sign this release is different.
    1.2.2.1 is also signed post-factum now. Sorry for the mess.
    </p>
  </li>

  <li><b>29 October 2006 -- BusyBox 1.2.2.1 (fix)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.2.2.1.tar.bz2">BusyBox 1.2.2.1</a>.</p>

    <p>Added compile-time warning that static linking against glibc
    produces buggy executables.
  </li>

  <li><b>24 October 2006 -- BusyBox 1.2.2 (stable)</b>
    <p>It's a bit overdue, but
    <a href="http://busybox.net/downloads/busybox-1.2.2.tar.bz2">here is
    BusyBox 1.2.2</a>.</p>

    <p>This release has dozens of fixes backported from the ongoing development
    branch.  There are a couple of bugfixes to sed, two fixes to documentation
    generation (BusyBox.html shouldn't have USE() macros in it anymore), fix
    umount to report the right errno on failure and to umount block devices by
    name with newer kernels, fix mount to handle symlinks properly, make mdev
    delete device nodes when called for hotplug remove, fix a segfault
    in traceroute, a minor portability fix to md5sum option parsing, a build
    fix for httpd with old gccs, an options parsing tweak to hdparm, make test
    fail gracefully when getgroups() returns -1, fix a race condition in
    modprobe when two instances run at once (hotplug does this), make "tar xf
    foo.tar dir/dir" extract all subdirectories, make our getty initialize the
    terminal more like mingetty, an selinux build fix, an endianness fix in
    ping6, fix for zcip defending addresses, clean up some global variables in
    gzip to save memory, fix sulogin -tNNN, a help text tweak, several warning
    fixes and build fixes, fixup dnsd a bit, and a partridge in a pear tree.</p>

    <p>As <a href="http://lwn.net/Articles/202106/">Linux Weekly News noted</a>,
    this is my (Rob's) last release of BusyBox.  The new maintainer is Denis
    Vlasenko, I'm off to do <a href="http://landley.net/code">other things</a>.
    </p>
  </li>

  <li><b>29 September 2006 -- New license email address.</b>
    <p>The email address gpl@busybox.net is now the recommended way to contact
    the Software Freedom Law Center to report BusyBox license violations.</p>

  <li><b>31 July 2006 -- BusyBox 1.2.1 (stable)</b>
    <p>Since nobody seems to have objected too loudly over the weekend, I
    might as well point you all at
    <a href="http://busybox.net/downloads/busybox-1.2.1.tar.bz2">Busybox
    1.2.1</a>, a bugfix-only release with no new features.</p>

    <p>It has three shell fixes (two to lash: going "var=value" without
    saying "export" should now work, plus a missing null pointer check, and
    one to ash when redirecting output to a file that fills up.)  Fix three
    embarassing thinkos in the new dmesg command.  Two build tweaks
    (dependencies for the compressed usage messages and running make in the
    libbb subdirectory).  One fix to tar so it can extract git-generated
    tarballs (rather than barfing on the pax extensions).  And a partridge
    in a pear...  Ahem.</p>

    <p>But wait, there's more!  A passwd changing fix so an empty
    gecos field doesn't trigger a false objection that the new passwd contains
    the gecos field.  Make all our setuid() and setgid() calls check the return
    value in case somebody's using per-process resource limits that prevent
    a user from having too many processes (and thus prevent a process from
    switching away from root, in which case the process will now _die_ rather
    than continue with root privileges).  A fix to adduser to make sure that
    /etc/group gets updated.  And a fix to modprobe to look for modules.conf
    in the right place on 2.6 kernels.</p>

  <li><b>30 June 2006 -- BusyBox 1.2.0</b>
    <p>The -devel branch has been stabilized and the result is
    <a href="http://busybox.net/downloads/busybox-1.2.0.tar.bz2">Busybox
    1.2.0</a>.  Lots of stuff changed, I need to work up a decent changelog
    over the weekend.</p>

    <p>I'm still experimenting with how long is best for the development
    cycle, and since we've got some largeish projects queued up I'm going to
    try a longer one.  Expect 1.3.0 in December.  (Expect 1.2.1 any time
    we fix enough bugs. :)</p>

    <p>Update: Here are <a href="http://busybox.net/downloads/busybox-1.2.0.fixes.patch">the first few bug fixes</a> that will go into 1.2.1.</p>

  <li><b>17 May 2006 -- BusyBox 1.1.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.1.3.tar.bz2">BusyBox
    1.1.3</a> is another bugfix release.  It makes passwd use salt, fixes a
    memory freeing bug in ls, fixes "build all sources at once" mode, makes
    mount -a not abort on the first failure, fixes msh so ctrl-c doesn't kill
    background processes, makes patch work with patch hunks that don't have a
    timestamp, make less's text search a lot more robust (the old one could
    segfault), and fixes readlink -f when built against uClibc.</p>

    <p>Expect 1.2.0 sometime next month, which won't be a bugfix release.</p>

  <li><b>10 April 2006 -- BusyBox 1.1.2 (stable)</b>
    <p>You can now download <a href="http://busybox.net/downloads/busybox-1.1.2.tar.bz2">BusyBox 1.1.2</a>, a bug fix release consisting of 11 patches
    backported from the development branch: Some build fixes, several fixes
    for mount and nfsmount, a fix for insmod on big endian systems, a fix for
    find -xdev, and a fix for comm.  Check the file "changelog" in the tarball
    for more info.</p>

    <p>The next new development release (1.2.0) is slated for June.  A 1.1.3
    will be released before then if more bug fixes crop up.  (The new plan is
    to have a 1.x.0 new development release every 3 months, with 1.x.y stable
    bugfix only releases based on that as appropriate.)</p>

  <li><b>27 March 2006 -- Software Freedom Law Center representing BusyBox and uClibc</b>
    <p>One issue Erik Andersen wanted to resolve when handing off BusyBox
    maintainership to Rob Landley was license enforcement.  BusyBox and
    uClibc's existing license enforcement efforts (pro-bono representation
    by Erik's father's law firm, and the
    <a href="http://www.busybox.net/shame.html">Hall of Shame</a>), haven't
    scaled to match the popularity of the projects.  So we put our heads
    together and did the obvious thing: ask Pamela Jones of
    <a href="http://www.groklaw.net">Groklaw</a> for suggestions.  She
    referred us to the fine folks at softwarefreedom.org.</p>

    <p>As a result, we're pleased to announce that the
    <a href="http://www.softwarefreedom.org">Software Freedom Law Center</a>
    has agreed to represent BusyBox and uClibc.  We join a number of other
    free and open source software projects (such as
    <a href="http://lwn.net/Articles/141806/">X.org</a>,
    <a href="http://lwn.net/Articles/135413/">Wine</a>, and
    <a href="http://plone.org/foundation/newsitems/software-freedom-law-center-support/">Plone</a>
    in being represented by a fairly cool bunch of lawyers, which is not a
    phrase you get to use every day.</p>

  <li><b>22 March 2006 -- BusyBox 1.1.1</b>
    <p>The new maintainer is Rob Landley, and the new release is <a href="http://busybox.net/downloads/busybox-1.1.1.tar.bz2">BusyBox 1.1.1</a>.  Expect a "what's new" document in a few days.  (Also, Erik and I have have another announcement pending...)</p>
    <p>Update: Rather than put out an endless stream of 1.1.1.x releases,
    the various small fixes have been collected together into a
    <a href="http://busybox.net/downloads/busybox-1.1.1.fixes.patch">patch</a>,
    and new fixes will be appended to that as needed.  Expect 1.1.2 around
    June.</p>
  </li>
  <li><b>11 January 2006 -- 1.1.0 is out</b>
    <p>The new stable release is
    <a href="http://www.busybox.net/downloads/busybox-1.1.0.tar.bz2">BusyBox
    1.1.0</a>.  It has a number of improvements, including several new applets.
    (It also has <a href="http://www.busybox.net/lists/busybox/2006-January/017733.html">a few rough spots</a>,
    but we're trying out a "release early, release often" strategy to see how
    that works.  Expect 1.1.1 sometime in March.)</p>

  <li><b>31 October 2005 -- 1.1.0-pre1</b>
    <p>The development branch of busybox is stable enough for wider testing, so
    you can now
    <a href="http://www.busybox.net/downloads/busybox-1.1.0-pre1.tar.bz2">download</a>,
    the first prerelease of 1.1.0.  This prerelease includes a lot of
    <a href="http://www.busybox.net/downloads/BusyBox.html">new
    functionality</a>: new applets, new features, and extensive rewrites of
    several existing applets.  This prerelease should be noticeably more
    <a href="http://www.opengroup.org/onlinepubs/009695399/">standards
    compliant</a> than earlier versions of busybox, although we're
    still working out the <a href="http://bugs.busybox.net">bugs</a>.</p>

  <li><b>16 August 2005 -- 1.01 is out</b>

    <p>A new stable release (<a href="http://www.busybox.net/downloads/busybox-1.01.tar.bz2">BusyBox
    1.01</a>) is now available for download, containing over a hundred
    <a href="http://www.busybox.net/lists/busybox/2005-August/015424.html">small
    fixes</a> that have cropped up since the 1.00 release.</p>

  <li><b>13 January 2005 -- Bug and Patch Tracking</b><p>

    Bug reports sometimes get lost when posted to the mailing list.  The
    developers of BusyBox are busy people, and have only so much they can keep
    in their brains at a time. In my case, I'm lucky if I can remember my own
    name, much less a bug report posted last week... To prevent your bug report
    from getting lost, if you find a bug in BusyBox, please use the
    <a href="http://bugs.busybox.net/">shiny new Bug and Patch Tracking System</a>
    to post all the gory details.

    <p>

    The same applies to patches... Regardless of whether your patch
    is a bug fix or adds spiffy new features, please post your patch
    to the Bug and Patch Tracking System to make certain it is
    properly considered.


  <p>
  <li><b>13 October 2004 -- BusyBox 1.00 released</b><p>

    When you take a careful look at nearly every embedded Linux device or
    software distribution shipping today, you will find a copy of BusyBox.
    With countless routers, set top boxes, wireless access points, PDAs, and
    who knows what else, the future for Linux and BusyBox on embedded devices
    is looking very bright.

    <p>

    It is therefore with great satisfaction that I declare each and every
    device already shipping with BusyBox is now officially out of date.
    The highly anticipated release of BusyBox 1.00 has arrived!

    <p>

    Over three years in development, BusyBox 1.00 represents a tremendous
    improvement over the old 0.60.x stable series.  Now featuring a Linux
    KernelConf based configuration system (as used by the Linux kernel),
    Linux 2.6 kernel support, many many new applets, and the development
    work and testing of thousands of people from around the world.

    <p>

    If you are already using BusyBox, you are strongly encouraged to upgrade to
    BusyBox 1.00.  If you are considering developing an embedded Linux device
    or software distribution, you may wish to investigate if using BusyBox is
    right for your application.  If you need help getting started using
    BusyBox, if you wish to donate to help cover expenses, or if you find a bug
    and need help reporting it, you are invited to visit the <a
    href="FAQ.html">BusyBox FAQ</a>.

    <p>

    As usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!

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


  <li><b>16 August 2004 -- BusyBox 1.0.0-rc3 released</b><p>

    Here goes release candidate 3...
    <p>
    The <a href="downloads/Changelog">changelog</a> has all the details.
    And as usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!

  <p>
  <li><b>26 July 2004 -- BusyBox 1.0.0-rc2 released</b><p>

    Here goes release candidate 2...
    <p>
    The <a href="downloads/Changelog">changelog</a> has all the details.
    And as usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!

  <p>
  <li><b>20 July 2004 -- BusyBox 1.0.0-rc1 released</b><p>

    Here goes release candidate 1...  This fixes all (most?) of the problems
    that have turned up since -pre10.  In particular, loading and unloading of
    kernel modules with 2.6.x kernels should be working much better.
    <p>

    I <b>really</b> want to get BusyBox 1.0.0 released soon and I see no real
    reason why the 1.0.0 release shouldn't happen with things pretty much as
    is.  BusyBox is in good shape at the moment, and it works nicely for
    everything that I'm doing with it.  And from the reports I've been getting,
    it works nicely for what most everyone else is doing with it as well.
    There will eventually be a 1.0.1 anyway, so we might as well get on with
    it.  No, BusyBox is not perfect.  No piece of software ever is.  And while
    there is still plenty that can be done to improve things, most of that work
    is waiting till we can get a solid 1.0.0 release out the door....
    <p>

    Please do not bother to send in patches adding cool new features at this
    time.  Only bug-fix patches will be accepted.  If you have submitted a
    bug-fixing patch to the busybox mailing list and no one has emailed you
    explaining why your patch was rejected, it is safe to say that your patch
    has been lost or forgotten.  That happens sometimes.  Please re-submit your
    bug-fixing patch to the BusyBox mailing list, and be sure to put "[PATCH]"
    at the beginning of the email subject line!

    <p>
    The <a href="downloads/Changelog">changelog</a> has all the details.
    And as usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!

    <p>
    On a less happy note, My 92 year old grandmother (my dad's mom) passed away
    yesterday (June 19th).  The funeral will be Thursday in a little town about
    2 hours south of my home.  I've checked and there is absolutely no way I
    could be back in time for the funeral if I attend <a
    href="http://www.linuxsymposium.org/2004/">OLS</a> and give my presentation
    as scheduled.
    <p>
    As such, it is with great reluctance and sadness that I have come
    to the conclusion I will have to make my appologies and skip OLS
    this year.
    <p>


  <p>
  <li><b>13 April 2004 -- BusyBox 1.0.0-pre10 released</b><p>

    Ok, I lied.  It turns out that -pre9 will not be the final BusyBox
    pre-release.  With any luck however -pre10 will be, since I <b>really</b>
    want to get BusyBox 1.0.0 released very soon.  As usual, please do not
    bother to send in patches adding cool new features at this time.  Only
    bug-fix patches will be accepted.  It would also be <b>very</b> helpful if
    people could continue to review the BusyBox documentation and submit
    improvements.

    <p>
    The <a href="downloads/Changelog">changelog</a> has all the details.
    And as usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!
    <p>


  <p>
  <li><b>6 April 2004 -- BusyBox 1.0.0-pre9 released</b><p>

    Here goes the final BusyBox pre-release...  This is your last chance for
    bug fixes.  With luck this will be released as BusyBox 1.0.0 later this
    week.  Please do not bother to send in patches adding cool new features at
    this time.  Only bug-fix patches will be accepted.  It would also be
    <b>very</b> helpful if people could help review the BusyBox documentation
    and submit improvements.  I've spent a lot of time updating the
    documentation to make it better match reality, but I could really use some
    assistance in checking that the features supported by the various applets
    match the features listed in the documentation.

    <p>
    I had hoped to get this released a month ago, but
    <a href="http://codepoet.org/gallery/baby_peter/img_1796">
    another release on 1 March 2004</a> has kept me busy...

    <p>
    The <a href="downloads/Changelog">changelog</a> has all the details.
    And as usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!
    <p>


  <p>
  <li><b>23 February 2004 -- BusyBox 1.0.0-pre8 released</b><p>

    Here goes yet another BusyBox pre-release...  Please do not bother to send
    in patches supplying new features at this time.  Only bug-fix patches will
    be accepted.  If you have a cool new feature you would like to see
    supported, or if you have an amazing new applet you would like to submit,
    please wait and submit such things later.  We really want to get a release
    out we can all be proud of.  We are still aiming to finish off the -pre
    series in February and move on to the final 1.0.0 release...  So if you
    spot any bugs, now would be an excellent time to send in a fix to the
    busybox mailing list.  It would also be <b>very</b> helpful if people could
    help review the BusyBox documentation and submit improvements.  It would be
    especially helpful if people could check that the features supported by the
    various applets match the features listed in the documentation.

    <p>

    The <a href="downloads/Changelog">changelog</a> has all the details.
    And as usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!
    <p>


  <li><b>4 February 2004 -- BusyBox 1.0.0-pre7 released</b><p>

    There was a bug in -pre6 that broke argument parsing for a
    number of applets, since a variable was not being zeroed out
    properly.  This release is primarily intended to fix that one
    problem.  In addition, this release fixes several other
    problems, including a rewrite by mjn3 of the code for parsing
    the busybox.conf file used for suid handling, some shell updates
    from vodz, and a scattering of other small fixes.  We are still
    aiming to finish off the -pre series in February and move on to
    the final 1.0.0 release...  If you see any problems, of have
    suggestions to make, as always, please feel free to email the
    busybox mailing list.

    <p>

    The <a href="downloads/Changelog">changelog</a> has all
    the details.  And as usual you can
    <a href="downloads">download busybox here</a>.

    <p>Have Fun!
    <p>


  <p>
  <li><b>30 January 2004 -- BusyBox 1.0.0-pre6 released</b><p>

    Here goes the next pre-release for the new BusyBox stable
    series.  This release adds a number of size optimizations,
    updates udhcp, fixes up 2.6 modutils support, updates ash
    and the shell command line editing, and the usual pile of
    bug fixes both large and small.  Things appear to be
    settling down now, so with a bit of luck and some testing
    perhaps we can finish off the -pre series in February and
    move on to the final 1.0.0 release...  If you see any
    problems, of have suggestions to make, as always, please
    feel free to email the busybox mailing list.

    <p>

    People who rely on the <a href="downloads/snapshots/">daily BusyBox snapshots</a>
    should be aware that snapshots of the old busybox 0.60.x
    series are no longer available.  Daily snapshots are now
    only available for the BusyBox 1.0.0 series and now use
    the naming scheme "busybox-&lt;date&gt;.tar.bz2".  Please
    adjust any build scripts using the old naming scheme accordingly.

    <p>

    The <a href="downloads/Changelog">changelog</a> has all
    the details.  And as usual you can
    <a href="downloads">download busybox here</a>.

    <p>Have Fun!
    <p>


  <p>
  <li><b>23 December 2003 -- BusyBox 1.0.0-pre5 released</b><p>

    Here goes the next pre-release for the new BusyBox stable
    series.  The most obvious thing in this release is a fix for
    a terribly stupid bug in mount that prevented it from working
    properly unless you specified the filesystem type.  This
    release also fixes a few compile problems, updates udhcp,
    fixes a silly bug in fdisk, fixes ifup/ifdown to behave like
    the Debian version, updates devfsd, updates the 2.6.x
    modutils support, add a new 'rx' applet, removes the obsolete
    'loadacm' applet, fixes a few tar bugs, fixes a sed bug, and
    a few other odd fixes.

    <p>

    If you see any problems, of have suggestions to make, as
    always, please feel free to send an email to the busybox
    mailing list.

    <p>

    The <a href="downloads/Changelog">changelog</a> has all
    the details.  And as usual you can
    <a href="downloads">download busybox here</a>.

    <p>Have Fun!
    <p>



  <li><b>10 December 2003 -- BusyBox 1.0.0-pre4 released</b><p>

    Here goes the fourth pre-release for the new BusyBox stable
    series.  This release includes major rework to sed, lots of
    rework on tar, a new tiny implementation of bunzip2, a new
    devfsd applet, support for 2.6.x kernel modules, updates to
    the ash shell, sha1sum and md5sum have been merged into a
    common applet, the dpkg applets has been cleaned up, and tons
    of random bugs have been fixed.  Thanks everyone for all the
    testing, bug reports, and patches!  Once again, a big
    thank-you goes to Glenn McGrath (bug1) for stepping in and
    helping get patches merged!

    <p>

    And of course, if you are reading this, you might have noticed
    the busybox website has been completely reworked.  Hopefully
    things are now somewhat easier to navigate...  If you see any
    problems, of have suggestions to make, as always, please feel
    free to send an email to the busybox mailing list.

    <p>

    The <a href="downloads/Changelog">changelog</a> has all
    the details.  And as usual you can
    <a href="downloads">download busybox here</a>.

    <p>Have Fun!



  <p>
  <li><b>12 Sept 2003 -- BusyBox 1.0.0-pre3 released</b><p>

    Here goes the third pre-release for the new BusyBox stable
    series.  The last prerelease has held up quite well under
    testing, but a number of problems have turned up as the number
    of people using it has increased.  Thanks everyone for all
    the testing, bug reports, and patches!

    <p>

    If you have submitted a patch or a bug report to the busybox
    mailing list and no one has emailed you explaining why your
    patch was rejected, it is safe to say that your patch has
    somehow gotten lost or forgotten.  That happens sometimes.
    Please re-submit your patch or bug report to the BusyBox
    mailing list!

    <p>

    The point of the "-preX" versions is to get a larger group of
    people and vendors testing, so any problems that turn up can be
    fixed prior to the final 1.0.0 release.  The main feature
    (besides additional testing) that is still still on the TODO
    list before the final BusyBox 1.0.0 release is sorting out the
    modutils issues.  For the new 2.6.x kernels, we already have
    patches adding insmod and rmmod support and those need to be
    integrated.  For 2.4.x kernels, for which busybox only supports
    a limited number of architectures, we may want to invest a bit
    more work before we cut 1.0.0.  Or we may just leave 2.4.x
    module loading alone.

    <p>

    I had hoped this release would be out a month ago.  And of
    course, it wasn't since Erik became busy getting a release of
    <a href="http://www.uclibc.org/">uClibc</a>
    out the door.  Many thanks to Glenn McGrath (bug1) for
    stepping in and helping get a bunch of patches merged!  I am
    not even going to state a date for releasing BusyBox 1.0.0
    -pre4 (or the final 1.0.0).  We're aiming for late September...
    But if this release proves as to be exceptionally stable (or
    exceptionally unstable!), the next release may be very soon
    indeed.

    <p>

    The <a href="downloads/Changelog">changelog</a> has all
    the details.  And as usual you can
    <a href="downloads">download busybox here</a>.

    <p>Have Fun!


    <p>
    <li><b>30 July 2003 -- BusyBox 1.0.0-pre2 released</b><p>

    Here goes another pre release for the new BusyBox stable
    series.  The last prerelease (pre1) was given quite a lot of
    testing (thanks everyone!) which has helped turn up a number of
    bugs, and these problems have now been fixed.

    <p>

    Highlights of -pre2 include updating the 'ash' shell to sync up
    with the Debian 'dash' shell, a new 'hdparm' applet was added,
    init again supports pivot_root,  The 'reboot' 'halt' and
    'poweroff' applets can now be used without using busybox init.
    an ifconfig buffer overflow was fixed, losetup now allows
    read-write loop devices, uClinux daemon support was added, the
    'watchdog', 'fdisk', and 'kill' applets were rewritten, there were
    tons of doc updates, and there were many other bugs fixed.
    <p>

    If you have submitted a patch and it is not included in this
    release and Erik has not emailed you explaining why your patch
    was rejected, it is safe to say that he has lost your patch.
    That happens sometimes.   Please re-submit your patch to the
    BusyBox mailing list.
    <p>

    The point of the "-preX" versions is to get a larger group of
    people and vendors testing, so any problems that turn up can be
    fixed prior to the final 1.0.0 release.  The main feature that
    is still still on the TODO list before the final BusyBox 1.0.0
    release is adding module support for the new 2.6.x kernels.  If
    necessary, a -pre3 BusyBox release will happen on August 6th.
    Hopefully (i.e.  unless some horrible catastrophic problem
	    turns up) the final BusyBox 1.0.0 release will be ready by
    then...
    <p>

    The <a href="downloads/Changelog">changelog</a> has all
    the details.  As usual you can <a href="downloads">download busybox here</a>.

    <p>Have Fun!
    <p>

    <p>
  <li><b>15 July 2003 -- BusyBox 1.0.0-pre1 released</b><p>

    The busybox development series has been under construction for
    nearly two years now.  Which is just entirely too long...  So
    it is with great pleasure that I announce the imminent release
    of a new stable series.  Due to the huge number of changes
    since the last stable release (and the usual mindless version
    number inflation) I am branding this new stable series verison
    1.0.x...
    <p>

    The point of "-preX" versions is to get a larger group of
    people and vendors testing, so any problems that turn up can be
    fixed prior to the magic 1.0.0 release (which should happen
    later this month)...  I plan to release BusyBox 1.0.0-pre2 next
    Monday (July 21st), and, if necessary, -pre3 on July 28th.
    Hopefully (i.e. unless some horrible catastrophic problem turns
    up) the final BusyBox 1.0.0 release should be ready by the end
    of July.
    <p>

    If you have submitted patches, and they are not in this release
    and I have not emailed you explaining why your patch was
    rejected, it is safe to say that I have lost your patch.  That
    happens sometimes.  Please do <B>NOT</b> send all your patches,
    support questions, etc, directly to Erik.  I get hundreds of
    emails every day (which is why I end up losing patches
    sometimes in the flood)...  The busybox mailing list is the
    right place to send your patches, support questions, etc.
    <p>

    I would like to especially thank Vladimir Oleynik (vodz), Glenn
    McGrath (bug1), Robert Griebl (sandman), and Manuel Novoa III
    (mjn3) for their significant efforts and contributions that
    have made this release possible.
    <p>

    As usual you can <a href="downloads">download busybox here</a>.
    You don't really need to bother with the
    <a href="downloads/Changelog">changelog</a>, as the changes
    vs the stable version are way too extensive to easily enumerate.
    But you can take a look if you really want too.

    <p>Have Fun!
    <p>



  <p>
  <li><b>26 October 2002 -- BusyBox 0.60.5 released</b><p>

    I am very pleased to announce that the BusyBox 0.60.5 (stable)
    is now available for download.  This is a bugfix release for
    the stable series to address all the problems that have turned
    up since the last release.  Unfortunately, the previous release
    had a few nasty bugs (i.e. init could deadlock, gunzip -c tried
    to delete source files, cp -a wouldn't copy symlinks, and init
    was not always providing controlling ttys when it should have).
    I know I said that the previous release would be the end of the
    0.60.x series.  Well, it turns out I'm a liar.  But this time I
    mean it (just like last time ;-).  This will be the last
    release for the 0.60.x series --  all further development work
    will be done for the development busybox tree.  Expect the development
    version to have its first real release very very soon now...

    <p>
    The <a href="downloads/Changelog.full">changelog</a> has all
    the details.  As usual you can <a href="downloads">download busybox here</a>.
    <p>Have Fun!
    <p>

  <p>
  <li><b>18 September 2002 -- BusyBox 0.60.4 released</b><p>

    I am very pleased to announce that the BusyBox 0.60.4
    (stable) is now available for download.  This is primarily
    a bugfix release for the stable series to address all
    the problems that have turned up since the last
    release.  This will be the last release for the 0.60.x series.
    I mean it this time --  all further development work will be done
    on the development busybox tree, which is quite solid now and
    should soon be getting its first real release.

    <p>
    The <a href="downloads/Changelog.full">changelog</a> has all
    the details.  As usual you can <a href="downloads">download busybox here</a>.
    <p>Have Fun!
    <p>


  <p>
  <li><b>27 April 2002 -- BusyBox 0.60.3 released</b><p>

    I am very pleased to announce that the BusyBox 0.60.3 (stable) is
    now available for download.  This is primarily a bugfix release
    for the stable series.  A number of problems have turned up since
    the last release, and this should address most of those problems.
    This should be the last release for the 0.60.x series.  The
    development busybox tree has been progressing nicely, and will
    hopefully be ready to become the next stable release.

    <p>
    The <a href="downloads/Changelog">changelog</a> has all
    the details.  As usual you can <a href="downloads">download busybox here</a>.
    <p>Have Fun!
    <p>


  <p>
  <li><b>6 March 2002 -- busybox.net now has mirrors!</b><p>

    Busybox.net is now much more available, thanks to
    the fine folks at <a href="http://i-netinnovations.com/">http://i-netinnovations.com/</a>
    who are providing hosting for busybox.net and
    uclibc.org.  In addition, we now have two mirrors:
    <a href="http://busybox.linuxmagic.com/">http://busybox.linuxmagic.com/</a>
    in Canada and
    <a href="http://busybox.csservers.de/">http://busybox.csservers.de/</a>
    in Germany.  I hope this makes things much more
    accessible for everyone!


<li>
<b>3 January 2002 -- Welcome to busybox.net!</b>

<p>Thanks to the generosity of a number of busybox
users, we have been able to purchase busybox.net
(which is where you are probably reading this).
Right now, busybox.net and uclibc.org are both
living on my home system (at the end of my DSL
line). I apologize for the abrupt move off of
busybox.lineo.com. Unfortunately, I no longer have
the access needed to keep that system updated (for
example, you might notice the daily snapshots there
stopped some time ago).</p>

<p>Busybox.net is currently hosted on my home
server, at the end of a DSL line. Unfortunately,
the load on them is quite heavy. To address this,
I'm trying to make arrangements to get busybox.net
co-located directly at an ISP. To assist in the
co-location effort, <a href=
"http://www.codepoet.org/~markw">Mark Whitley</a>
(author of busybox sed, cut, and grep) has donated
his <a href=
"http://www.netwinder.org/">NetWinder</a> computer
for hosting busybox.net and uclibc.org. Once this
system is co-located, the current speed problems
should be completely eliminated. Hopefully, too,
some of you will volunteer to set up some mirror
sites, to help to distribute the load a bit.</p>

<p><!--
    <center>
    Click here to help support busybox.net!
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="andersen@codepoet.org">
    <input type="hidden" name="item_name" value="Support Busybox">
    <input type="hidden" name="image_url" value="https://codepoet-consulting.com/images/busybox2.jpg">
    <input type="hidden" name="no_shipping" value="1">
    <input type="image" src="images/donate.png" border="0" name="submit" alt="Make donation using PayPal">
    </form>
    </center>
    -->
 Since some people expressed concern over BusyBox
donations, let me assure you that no one is getting
rich here. All BusyBox and uClibc donations will be
spent paying for bandwidth and needed hardware
upgrades. For example, Mark's NetWinder currently
has just 64Meg of memory. As demonstrated when
google spidered the site the other day, 64 Megs in
not enough, so I'm going to be ordering 256Megs of
ram and a larger hard drive for the box today. So
far, donations received have been sufficient to
cover almost all expenses. In the future, we may
have co-location fees to worry about, but for now
we are ok. A <b>HUGE thank-you</b> goes out to
everyone that has contributed!<br>
 -Erik</p>
</li>

<li>
<b>20 November 2001 -- BusyBox 0.60.2 released</b>

<p>We am very pleased to announce that the BusyBox
0.60.2 (stable) is now released to the world. This
one is primarily a bugfix release for the stable
series, and it should take care of most everyone's
needs till we can get the nice new stuff we have
been working on in CVS ready to release (with the
wonderful new buildsystem). The biggest change in
this release (beyond bugfixes) is the fact that msh
(the minix shell) has been re-worked by Vladimir N.
Oleynik (vodz) and so it no longer crashes when
told to do complex things with backticks.</p>

<p>This release has been tested on x86, ARM, and
powerpc using glibc 2.2.4, libc5, and uClibc, so it
should work with just about any Linux system you
throw it at. See the <a href=
"downloads/Changelog">changelog</a> for <small>most
of</small> the details. The last release was
<em>very</em> solid for people, and this one should
be even better.</p>

<p>As usual BusyBox 0.60.2 can be downloaded from
<a href=
"downloads">http://www.busybox.net/downloads</a>.</p>

<p>Have Fun.<br>
 -Erik</p>
</li>

<li> <b>18 November 2001 -- Help us buy busybox.net!</b>

<!-- Begin PayPal Logo -->
<center>
Click here to help buy busybox.net!
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="andersen@codepoet.org">
<input type="hidden" name="item_name" value="Support Busybox">
<input type="hidden" name="image_url" value="https://busybox.net/images/busybox2.jpg">
<input type="hidden" name="no_shipping" value="1">
<input type="image" src="images/donate.png" border="0" name="submit" alt="Make donation using PayPal">
</form>
</center>
<!-- End PayPal Logo -->

I've contacted the current owner of busybox.net and he is willing
to sell the domain name -- for $250.  He also owns busybox.org but
will not part with it...  I will then need to pay the registry fee
for a couple of years and start paying for bandwidth, so this will
initially cost about $300.  I would like to host busybox.net on my
home machine (codepoet.org) so I have full control over the system,
but to do that would require that I increase the level of bandwidth
I am paying for.  Did you know that so far this month, there
have been over 1.4 Gigabytes of busybox ftp downloads?  I don't
even <em>know</em> how much CVS bandwidth it requires.  For the
time being, Lineo has continued to graciously provide this
bandwidth, despite the fact that I no longer work for them.  If I
start running this all on my home machine, paying for the needed bandwidth
will start costing some money.
<p>

I was going to pay it all myself, but my wife didn't like that
idea at all (big surprise).   It turns out &lt;insert argument
where she wins and I don't&gt; she has better ideas
about what we should spend our money on that don't involve
busybox.  She suggested I should ask for contributions on the
mailing list and web page.  So...
<p>

I am hoping that if everyone could contribute a bit, we could pick
up the busybox.net domain name and cover the bandwidth costs.  I
know that busybox is being used by a lot of companies as well as
individuals -- hopefully people and companies that are willing to
contribute back a bit.  So if everyone could please help out, that
would be wonderful!
<p>


<li> <b>23 August 2001 -- BusyBox 0.60.1 released</b>
<br>

     This is a relatively minor bug fixing release that fixes
     up the bugs that have shown up in the stable release in
     the last few weeks.  Fortunately, nothing <em>too</em>
     serious has shown up.  This release only fixes bugs -- no
     new features, no new applets.  So without further ado,
     here it is.  Come and get it.
     <p>
     The
     <a href="downloads/Changelog">changelog</a> has all
     the details.  As usual BusyBox 0.60.1 can be downloaded from
     <a href="downloads">http://busybox.net/downloads</a>.
     <p>Have Fun!
     <p>


<li> <b>2 August 2001 -- BusyBox 0.60.0 released</b>
<br>
     I am very pleased to announce the immediate availability of
     BusyBox 0.60.0.  I have personally tested this release with libc5, glibc,
     and <a href="http://uclibc.org/">uClibc</a> on
     x86, ARM, and powerpc using linux 2.2 and 2.4, and I know a number
     of people using it on everything from ia64 to m68k with great success.
     Everything seems to be working very nicely now, so getting a nice
     stable bug-free(tm) release out seems to be in order.   This releases fixes
     a memory leak in syslogd, a number of bugs in the ash and msh shells, and
     cleans up a number of things.

     <p>

     Those wanting an easy way to test the 0.60.0 release with uClibc can
     use <a href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a>
     to give it a try by downloading and compiling
     <a href="ftp://busybox.net/buildroot.tar.gz">buildroot.tar.gz</a>.
     You don't have to be root or reboot your machine to run test this way.
     Preconfigured User-Mode Linux kernel source is also on busybox.net.
     <p>
     Another cool thing is the nifty <a href="downloads/tutorial/index.html">
     BusyBox Tutorial</a> contributed by K Computing.  This requires
     a ShockWave plugin (or standalone viewer), so you may want to grab the
     the GPLed shockwave viewer from <a href="http://www.swift-tools.com/Flash/flash-0.4.10.tgz">here</a>
     to view the tutorial.
     <p>

     Finally, In case you didn't notice anything odd about the
     version number of this release, let me point out that this release
     is <em>not</em> 0.53, because I bumped the version number up a
     bit.  This reflects the fact that this release is intended to form
     a new stable BusyBox release series.  If you need to rely on a
     stable version of BusyBox, you should plan on using the stable
     0.60.x series.  If bugs show up then I will release 0.60.1, then
     0.60.2, etc...  This is also intended to deal with the fact that
     the BusyBox build system will be getting a major overhaul for the
     next release and I don't want that to break products that people
     are shipping.  To avoid that, the new build system will be
     released as part of a new BusyBox development series that will
     have some not-yet-decided-on odd version number.  Once things
     stabilize and the new build system is working for everyone, then
     I will release that as a new stable release series.

     <p>
     The
     <a href="downloads/Changelog">changelog</a> has all
     the details.  As usual BusyBox 0.60.0 can be downloaded from
     <a href="downloads">http://busybox.net/downloads</a>.
     <p>Have Fun!
     <p>


<li> <b>7 July 2001 -- BusyBox 0.52 released</b>
<br>

     I am very pleased to announce the immediate availability of
     BusyBox 0.52 (the "new-and-improved rock-solid release").  This
     release is the result of <em>many</em> hours of work and has tons
     of bugfixes, optimizations, and cleanups.  This release adds
     several new applets, including several new shells (such as hush, msh,
     and ash).

     <p>
     The
     <a href="downloads/Changelog">changelog</a> covers
     some of the more obvious details, but there are many many things that
     are not mentioned, but have been improved in subtle ways.  As usual,
     BusyBox 0.52 can be downloaded from
     <a href="downloads">http://busybox.net/downloads</a>.
     <p>Have Fun!
     <p>


<li> <b>10 April 2001 - Graph of Busybox Growth </b>
<br>
The illustrious Larry Doolittle has made a PostScript chart of the growth
of the Busybox tarball size over time. It is available for downloading /
viewing <a href="busybox-growth.ps"> right here</a>.

<p> (Note that while the number of applets in Busybox has increased, you
can still configure Busybox to be as small as you want by selectively
turning off whichever applets you don't need.)
<p>


<li> <b>10 April 2001 -- BusyBox 0.51 released</b>
<br>

     BusyBox 0.51 (the "rock-solid release") is now out there.  This
     release adds only 2 new applets: env and vi.  The vi applet,
     contributed by Sterling Huxley, is very functional, and is only
     22k.  This release fixes 3 critical bugs in the 0.50 release.
     There were 2 potential segfaults in lash (the busybox shell) in
     the 0.50 release which are now fixed.  Another critical bug in
     0.50 which is now fixed: syslogd from 0.50 could potentially
     deadlock the init process and thereby break your entire system.
     <p>

     There are a number of improvements in this release as well.  For
     one thing, the wget applet is greatly improved.  Dmitry Zakharov
     added FTP support, and Laurence Anderson make wget fully RFC
     compliant for HTTP 1.1.  The mechanism for including utility
     functions in previous releases was clumsy and error prone.  Now
     all utility functions are part of a new libbb library, which makes
     maintaining utility functions much simpler.  And BusyBox now
     compiles on itanium systems (thanks to the Debian itanium porters
     for letting me use their system!).
     <p>
     You can read the
     <a href="downloads/Changelog">changelog</a> for
     complete details.  BusyBox 0.51 can be downloaded from
     <a href="downloads">http://busybox.net/downloads</a>.
     <p>Have Fun!
     <p>

<li> <b>Busybox Boot-Floppy Image</b>

<p>Because you asked for it, we have made available a <a href=
"downloads/busybox.floppy.img"> Busybox boot floppy
image</a>. Here's how you use it:

<ol>

    <li> <a href="downloads/busybox.floppy.img">
    Download the image</a>

    <li> dd it onto a floppy like so: <tt> dd if=busybox.floppy.img
    of=/dev/fd0 ; sync </tt>

    <li> Pop it in a machine and boot up.

</ol>

<p> If you want to look at the contents of the initrd image, do this:

<pre>
    mount ./busybox.floppy.img /mnt -o loop -t msdos
    cp /mnt/initrd.gz /tmp
    umount /mnt
    gunzip /tmp/initrd.gz
    mount /tmp/initrd /mnt -o loop -t minix
</pre>


<li> <b>15 March 2001 -- BusyBox 0.50 released</b>
<br>

     This release adds several new applets including ifconfig, route, pivot_root, stty,
     and tftp, and also fixes tons of bugs.  Tab completion in the
     shell is now working very well, and the shell's environment variable
     expansion was fixed.   Tons of other things were fixed or made
     smaller.  For a fairly complete overview, see the
     <a href="downloads/Changelog">changelog</a>.
     <p>
     lash (the busybox shell) is still with us, fixed up a bit so it
     now behaves itself quite nicely.  It really is quite usable as
     long as you don't expect it to provide Bourne shell grammer.
     Standard things like pipes, redirects, command line editing, and
     environment variable expansion work great.  But we have found that
     this shell, while very usable, does not provide an extensible
     framework for adding in full Bourne shell behavior.  So the first order of
     business as we begin working on the next BusyBox release will be to merge in the new shell
     currently in progress at
     <a href="http://doolittle.faludi.com/~larry/parser.html">Larry Doolittle's website</a>.
     <p>


<li> <b>27 January 2001 -- BusyBox 0.49 released</b>
<br>

     Several new applets, lots of bug fixes, cleanups, and many smaller
     things made nicer.  Several cleanups and improvements to the shell.
     For a list of the most interesting changes
     you might want to look at the <a href="downloads/Changelog">changelog</a>.
     <p>
     Special thanks go out to Matt Kraai and Larry Doolittle for all their
     work on this release, and for keeping on top of things while I've been
     out of town.
     <p>
     <em>Special Note</em><br>

     BusyBox 0.49 was supposed to have replaced lash, the BusyBox
     shell, with a new shell that understands full Bourne shell/Posix shell grammer.
     Well, that simply didn't happen in time for this release.  A new
     shell that will eventually replace lash is already under
     construction.  This new shell is being developed by Larry
     Doolittle, and could use all of our help.  Please see the work in
     progress on <a href="http://doolittle.faludi.com/~larry/parser.html">Larry's website</a>
     and help out if you can.  This shell will be included in the next
     release of BusyBox.
     <p>

<li> <b>13 December 2000 -- BusyBox 0.48 released</b>
<br>

     This release fixes lots and lots of bugs.  This has had some very
     rigorous testing, and looks very, very clean.  The usual tar
     update of course: tar no longer breaks hardlinks, tar -xzf is
     optionally supported, and the LRP folks will be pleased to know
     that 'tar -X' and 'tar --exclude' are both now in.  Applets are
     now looked up using a binary search making lash (the busybox
     shell) much faster.  For the new debian-installer (for Debian
     woody) a .udeb can now be generated.
     <p>
     The curious can get a list of some of the more interesting changes by reading
     the <a href="downloads/Changelog">changelog</a>.
     <p>
     Many thanks go out to the many many people that have contributed to
     this release, especially Matt Kraai, Larry Doolittle, and Kent Robotti.
     <p>
<p> <li> <b>26 September 2000 -- BusyBox 0.47 released</b>
<br>

     This release fixes lots of bugs (including an ugly bug in 0.46
     syslogd that could fork-bomb your system).  Added several new
     apps: rdate, wget, getopt, dos2unix, unix2dos, reset, unrpm,
     renice, xargs, and expr.  syslogd now supports network logging.
     There are the usual tar updates.  Most apps now use getopt for
     more correct option parsing.
     See the <a href="downloads/Changelog">changelog</a>
     for complete details.


<p> <li> <b>11 July 2000 -- BusyBox 0.46 released</b>
<br>

     This release fixes several bugs (including a ugly bug in tar,
     and fixes for NFSv3 mount support).  Added a dumpkmap to allow
     people to dump a binary keymaps for use with 'loadkmap', and a
     completely reworked 'grep' and 'sed' which should behave better.
     BusyBox shell can now also be used as a login shell.
     See the <a href="downloads/Changelog">changelog</a>
     for complete details.


<p> <li> <b>21 June 2000 -- BusyBox 0.45 released</b>
<br>

     This release has been slow in coming, but is very solid at this
     point.  BusyBox now supports libc5 as well as GNU libc.  This
     release provides the following new apps: cut, tr, insmod, ar,
     mktemp, setkeycodes, md5sum, uuencode, uudecode, which, and
     telnet.  There are bug fixes for just about every app as well (see
     the <a href="downloads/Changelog">changelog</a> for
     details).
     <p>
     Also, some exciting infrastructure news!  Busybox now has its own
     <a href="lists/busybox/">mailing list</a>,
     publically browsable
     <a href="/cgi-bin/viewcvs.cgi/trunk/busybox/">CVS tree</a>,
     anonymous
     <a href="cvs_anon.html">CVS access</a>, and
     for those that are actively contributing there is even
     <a href="cvs_write.html">CVS write access</a>.
     I think this will be a huge help to the ongoing development of BusyBox.
     <p>
     Also, for the curious, there is no 0.44 release.  Somehow 0.44 got announced
     a few weeks ago prior to its actually being released.  To avoid any confusion
     we are just skipping 0.44.
     <p>
     Many thanks go out to the many people that have contributed to this release
     of BusyBox (esp. Pavel Roskin)!


<p> <li> <b>19 April 2000 -- syslogd bugfix</b>
<br>
Turns out that there was still a bug in busybox syslogd.
For example, with the following test app:
<pre>
#include &lt;syslog.h&gt;

int do_log(char* msg, int delay)
{
    openlog("testlog", LOG_PID, LOG_DAEMON);
    while(1) {
	syslog(LOG_ERR, "%s: testing one, two, three\n", msg);
	sleep(delay);
    }
    closelog();
    return(0);
};

int main(void)
{
    if (fork()==0)
	do_log("A", 2);
    do_log("B", 3);
}
</pre>
it should be logging stuff from both "A" and "B".  As released in 0.43 only stuff
from "A" would have been logged.  This means that if init tries to log something
while say ppp has the syslog open, init would block (which is bad, bad, bad).
<p>
Karl M. Hegbloom has created a fix for the problem.
Thanks Karl!


<p> <li> <b>18 April 2000 -- BusyBox 0.43 released (finally!)</b>
<br>
I have finally gotten everything into a state where I feel pretty
good about things.  This is definitely the most stable, solid release
so far.  A lot of bugs have been fixed, and the following new apps
have been added: sh, basename, dirname, killall, uptime,
freeramdisk, tr, echo, test, and usleep.  Tar has been completely
rewritten from scratch.  Bss size has also been greatly reduced.
More details are available in the
<a href="downloads/Changelog">changelog</a>.
Oh, and as a special bonus, I wrote some fairly comprehensive
<em>documentation</em>, complete with examples and full usage information.

<p>
Many thanks go out to the fine people that have helped by submitting patches
and bug reports; particularly instrumental in helping for this release were
Karl Hegbloom, Pavel Roskin, Friedrich Vedder, Emanuele Caratti,
Bob Tinsley, Nicolas Pitre, Avery Pennarun, Arne Bernin, John Beppu, and Jim Gleason.
There were others so if I somehow forgot to mention you, I'm very sorry.
<p>

You can grab BusyBox 0.43 tarballs <a href="downloads">here</a>.

<p> <li> <b>9 April 2000 -- BusyBox 0.43 pre release</b>
<br>
Unfortunately, I have not yet finished all the things I want to
do for BusyBox 0.43, so I am posting this pre-release for people
to poke at.  This contains my complete rewrite of tar, which now weighs in at
5k (7k with all options turned on) and works for reading and writing
tarballs (which it does correctly for everything I have been able to throw
at it).  Tar also (optionally) supports the "--exclude" option (mainly because
the Linux Router Project folks asked for it).  This also has a pre-release
of the micro shell I have been writing.  This pre-release should be stable
enough for production use -- it just isn't a release since I have some structural
changes I still want to make.
<p>
The pre-release can be found <a href="downloads">here</a>.
Please let me know ASAP if you find <em>any</em> bugs.

<p> <li> <b>28 March 2000 -- Andersen Baby Boy release</b>
<br>
I am pleased to announce that on Tuesday March 28th at 5:48pm, weighing in at 7
lbs. 12 oz, Micah Erik Andersen was born at LDS Hospital here in Salt Lake City.
He was born in the emergency room less then 5 minutes after we arrived -- and
it was such a relief that we even made it to the hospital at all.  Despite the
fact that I was driving at an amazingly unlawful speed and honking at everybody
and thinking decidedly unkind thoughts about the people in our way, my wife
(inconsiderate of my feelings and complete lack of medical training) was lying
down in the back seat saying things like "I think I need to start pushing now"
(which she then proceeded to do despite my best encouraging statements to the
contrary).
<p>
Anyway, I'm glad to note that despite the much-faster-than-we-were-expecting
labor, both Shaunalei and our new baby boy are doing wonderfully.
<p>
So now that I am done with my excuse for the slow release cycle...
Progress on the next release of BusyBox has been slow but steady.  I expect
to have a release sometime during the first week of April.  This release will
include a number of important changes, including the addition of a shell, a
re-write of tar (to accommodate the Linux Router Project), and syslogd can now
accept multiple concurrent connections, fixing lots of unexpected blocking
problems.


<p> <li> <b>11 February 2000 -- BusyBox 0.42 released</b>
<br>

     This is the most solid BusyBox release so far.  Many, many
	bugs have been fixed.   See the
	<a href="downloads/Changelog">changelog</a> for details.

	Of particular interest, init will now cleanly unmount
	filesystems on reboot, cp and mv have been rewritten and
	behave much better, and mount and umount no longer leak
	loop devices.  Many thanks go out to Randolph Chung,
	Karl M. Hegbloom, Taketoshi Sano, and Pavel Roskin for
	their hard work on this release of BusyBox.  Please pound
	on it and let me know if you find any bugs.

<p> <li> <b>19 January 2000 -- BusyBox 0.41 released</b>
<br>

     This release includes bugfixes to cp, mv, logger, true, false,
	mkdir, syslogd, and init.  New apps include wc, hostid,
	logname, tty, whoami, and yes.  New features include loop device
	support in mount and umount, and better TERM handling by init.
	The changelog can be found <a href="downloads/Changelog">here</a>.

<p> <li> <b>7 January 2000 -- BusyBox 0.40 released</b>
<br>

     This release includes bugfixes to init (now includes inittab support),
     syslogd, head, logger, du, grep, cp, mv, sed, dmesg, ls, kill, gunzip, and mknod.
     New apps include sort, uniq, lsmod, rmmod, fbset, and loadacm.
     In particular, this release fixes an important bug in tar which
     in some cases produced serious security problems.
     As always, the changelog can be found <a href="downloads/Changelog">here</a>.

<p> <li> <b>11 December 1999 -- BusyBox Website</b>
<br>
     I have received permission from Bruce Perens (the original author of BusyBox)
	to set up this site as the new primary website for BusyBox.  This website
	will always contain pointers to the latest and greatest, and will also
	contain the latest documentation on how to use BusyBox, what it can do,
	what arguments its apps support, etc.

<p> <li> <b>10 December 1999 -- BusyBox 0.39 released</b>
<br>
     This release includes fixes to init, reboot, halt, kill, and ls, and contains
     the new apps ping, hostname, mkfifo, free, tail, du, tee, and head.  A full
     changelog can be found <a href="downloads/Changelog">here</a>.
<p> <li> <b>5 December 1999 -- BusyBox 0.38 released</b>
<br>
     This release includes fixes to tar, cat, ls, dd, rm, umount, find, df,
	and make install, and includes new apps syslogd/klogd and logger.


</ul>


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