2a7182c604ef494686171ab84b606a94db0ceae0
[platform/upstream/busybox.git] / docs / busybox.net / oldnews.html
1 <!--#include file="header.html" -->
2
3 <h3>News archive</h3>
4
5 <ul>
6
7   <li><b>25 June 2008 -- BusyBox 1.11.0 (unstable), BusyBox 1.10.4 (stable)</b>
8     <p><a href="http://busybox.net/downloads/busybox-1.11.0.tar.bz2">BusyBox 1.11.0</a>.
9     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_11_stable/">svn</a>,
10     <a href="http://busybox.net/downloads/fixes-1.11.0/">patches</a>,
11     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
12     <p><a href="http://busybox.net/downloads/busybox-1.10.4.tar.bz2">BusyBox 1.10.4</a>.
13     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
14     <a href="http://busybox.net/downloads/fixes-1.10.4/">patches</a>,
15     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
16     <p>Sizes of busybox-1.10.4 and busybox-1.11.0 (with equivalent config, static uclibc build):<pre>
17    text    data     bss     dec     hex filename
18  800675     636    7080  808391   c55c7 busybox-1.10.4
19  798392     611    6900  805903   c4c0f busybox-1.11.0
20 </pre>
21
22     <p>New applets: inotify (Vladimir Dronnikov), man (Ivana Varekova),
23     fbsplash (Michele Sanges), depmod (Bernhard Fischer)
24
25     <p>Changes since previous release:
26       <ul>
27         <li>build system: reinstate CONFIG_CROSS_COMPILE_PREFIX</li>
28         <li>ash: optional bash compatibility features added; other fixes</li>
29         <li>hush: lots and lots of fixes</li>
30         <li>msh: fix the case where the file has exec bit but can't be run directly (runs "$SHELL file" instead)</li>
31         <li>msh: fix exit codes when command is not found or can't be execed</li>
32         <li>udhcpc: added workaround for buggy kernels</li>
33         <li>mount: fix mishandling of proto=tcp/udp</li>
34         <li>diff: make it work on non-seekable streams</li>
35         <li>openvt: made more compatible with "standard" one</li>
36         <li>mdev: fix block/char device detection</li>
37         <li>ping: add -w, -W support (James Simmons)</li>
38         <li>crond: add handling of "MAILTO=user" lines</li>
39         <li>start-stop-daemon: make --exec follow symlinks (Joakim Tjernlund)</li>
40         <li>date: make it accept ISO date format</li>
41         <li>echo: fix echo -e -n "msg\n\0" (David Pinedo)</li>
42         <li>httpd: fix several bugs triggered by relative path in -h DIR</li>
43         <li>printf: fix printf -%s- foo, printf -- -%s- foo</li>
44         <li>syslogd: do not error out on missing files to rotate</li>
45         <li>ls: support Unicode in names</li>
46         <li>ip: support for the LOWER_UP flag (Natanael Copa)</li>
47         <li>mktemp: make argument optional (coreutil 6.12 compat)</li>
48         <li>libiproute: fix option parsing, so that "ip -o link" works again</li>
49         <li>other fixes and code size reductions in many applets</li>
50       </ul>
51     <p>
52     The email address gpl@busybox.net is the recommended way to contact
53     the Software Freedom Law Center to report BusyBox license violations.
54     </p>
55   </li>
56
57   <li><b>12 June 2008 -- Sponsors!</b>
58     <p>We want to thank the following companies which are providing support
59     for the BusyBox project:
60     </p>
61       <ul>
62         <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
63         TYPO3 development agency</a> contributes financially.</li>
64         <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided
65         a <a href="http://docs.blackfin.uclinux.org/doku.php?id=bf537_quick_start">
66         Blackfin development board</a> free of charge.
67         <a href="http://www.analog.com/blackfin">Blackfin</a>
68         is a NOMMU processor, and its availability for testing is invaluable.
69         If you are an embedded device developer,
70         please note that Analog Devices has entire Linux distribution available
71         for download for this board. Visit
72         <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a>
73         for more information.
74         </li>
75       </ul>
76   </li>
77
78   <li><b>5 June 2008 -- BusyBox 1.10.3 (stable)</b>
79     <p><a href="http://busybox.net/downloads/busybox-1.10.3.tar.bz2">BusyBox 1.10.3</a>.
80     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
81     <a href="http://busybox.net/downloads/fixes-1.10.3/">patches</a>,
82     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
83     <p>
84     Bugfix-only release for 1.10.x branch. It contains fixes for dnsd, fuser, hush,
85     ip, mdev and syslogd.
86     </p>
87   </li>
88
89   <li><b>8 May 2008 -- BusyBox 1.10.2 (stable)</b>
90     <p><a href="http://busybox.net/downloads/busybox-1.10.2.tar.bz2">BusyBox 1.10.2</a>.
91     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
92     <a href="http://busybox.net/downloads/fixes-1.10.2/">patches</a>,
93     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
94     <p>
95     Bugfix-only release for 1.10.x branch. It contains fixes for echo, httpd, pidof,
96     start-stop-daemon, tar, taskset, tab completion in shells, build system.
97     <p>Please note that mdev was backported from current svn trunk. Please
98     report if you encounter any problems with it.
99     </p>
100   </li>
101
102   <li><b>19 April 2008 -- BusyBox 1.10.1 (stable)</b>
103     <p><a href="http://busybox.net/downloads/busybox-1.10.1.tar.bz2">BusyBox 1.10.1</a>.
104     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
105     <a href="http://busybox.net/downloads/fixes-1.10.1/">patches</a>,
106     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
107     <p>
108     Bugfix-only release for 1.10.x branch. It contains fixes for
109     fuser, init, less, nameif, tail, taskset, tcpudp, top, udhcp.
110   </li>
111
112   <li><b>21 March 2008 -- BusyBox 1.10.0 (unstable)</b>
113     <p><a href="http://busybox.net/downloads/busybox-1.10.0.tar.bz2">BusyBox 1.10.0</a>.
114     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
115     <a href="http://busybox.net/downloads/fixes-1.10.0/">patches</a>,
116     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
117
118     <p>Sizes of busybox-1.9.2 and busybox-1.10.0 (with almost full config, static uclibc build):<pre>
119    text    data     bss     dec     hex filename
120  781405     679    7500  789584   c0c50 busybox-1.9.2
121  773551     640    7372  781563   becfb busybox-1.10.0
122 </pre>
123     <p>Top 10 stack users:<pre>
124 busybox-1.9.2:               busybox-1.10.0:
125 echo_dg                 4116 bb_full_fd_action       4112
126 bb_full_fd_action       4112 find_list_entry2        4096
127 discard_dg              4108 readlink_main           4096
128 discard_dg              4096 ipaddr_list_or_flush    3900
129 echo_stream             4096 iproute_list_or_flush   3680
130 discard_stream          4096 insmod_main             3152
131 find_list_entry2        4096 fallbackSort            2952
132 readlink_main           4096 do_iproute              2492
133 ipaddr_list_or_flush    3900 cal_main                2464
134 iproute_list_or_flush   3680 readhere                2308
135 </pre>
136
137     <p>New applets: brctl, chat (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
138         findfs, ifenslave (closes bug 115), lpd (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
139         lpr+lpq (by Walter Harms), script (by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;),
140         sendmail (Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;), tac, tftpd.
141     </p>
142     <p>Made NOMMU-compatible: crond, crontab, ifupdown, inetd, init, runsv, svlogd, tcpsvd, udpsvd.
143     </p>
144     <p>Changes since previous release:
145     </p>
146       <ul>
147         <li>globally: add -Wunused-parameter</li>
148         <li>globally: add optimization barrier to all "G trick" locations</li>
149         <li>adduser/addgroup: check username for invalid chars (by Tito &lt;farmatito AT tiscali.it&gt;)</li>
150         <li>adduser: optional support for long options. Closes bug 2134</li>
151         <li>ash: handle "A=1 A=2 B=$A; echo $B". Closes bug 947</li>
152         <li>ash: make ash -c "if set -o barfoo 2&gt;/dev/null; then echo foo; else echo bar; fi" work. Closes bug 1142</li>
153         <li>build system: don't use "gcc -o /dev/null", old gcc can delete /dev/null in this case</li>
154         <li>build system: fixes for cross-compiling on an OS X host</li>
155         <li>build system: make it do without "od -t"</li>
156         <li>build system: pass CFLAGS to link stage too. Closes bug 1376</li>
157         <li>build system: add CONFIG_NOMMU</li>
158         <li>cp: add ENABLE_FEATURE_VERBOSE_CP_MESSAGE. Closes bug 1470</li>
159         <li>crontab: almost complete rewrite</li>
160         <li>dnsd: properly set _src_ IP:port on outgoing UDP packets</li>
161         <li>dpkg: fix bug where existence check was reversed</li>
162         <li>eject: add -s for SCSI- and USB-devices (Nico Erfurth)</li>
163         <li>fdisk: fix a case where break was reached only for DOS labels</li>
164         <li>fsck: don't kill pid -1! (Roy Marples &lt;roy at marples.name&gt;)</li>
165         <li>fsck_minix: fix bug in map_block2: s/(blknr &gt;= 256 * 256)/(blknr &lt; 256 * 256)/</li>
166         <li>fuser: substantial rewrite</li>
167         <li>getopt: add support for "a+" specifier for nonnegative int parameters. By Vladimir Dronnikov &lt;dronnikov at gmail.com&gt;</li>
168         <li>getty: don't try to detect parity on local lines (Joakim Tjernlund &lt;Joakim.Tjernlund at transmode.se&gt;)</li>
169         <li>halt: write wtmp entry if wtmp support is enabled</li>
170         <li>httpd: "HEAD" support. Closes bug 1530</li>
171         <li>httpd: fix bug 2004: wrong argv when interpreter is invoked</li>
172         <li>httpd: fix bug where we did chdir("") if CGI path had only one "/"</li>
173         <li>httpd: fix for POST upload</li>
174         <li>httpd: support for "I:index.xml" syntax (Peter Korsgaard &lt;jacmet AT uclibc.org&gt;)</li>
175         <li>hush: fix a case where none of pipe members could be started because of fork failure</li>
176         <li>hush: more correct handling of piping</li>
177         <li>hush: reinstate `cmd` handling for NOMMU</li>
178         <li>hush: report [v]fork failures</li>
179         <li>hush: set CLOEXEC on script file being executed</li>
180         <li>hush: try to add a bit more of vfork-friendliness</li>
181         <li>inetd: make "udp nowait" work</li>
182         <li>inetd: make inetd IPv6-capable</li>
183         <li>init: add FEATURE_KILL_REMOVED (Eugene Bordenkircher &lt;eugebo AT gmail.com&gt;)</li>
184         <li>init: allow last line of config file to be not terminated by "\n"</li>
185         <li>init: do not die if "/dev/null" is missing</li>
186         <li>init: fix bug 1111: restart actions were not splitting words</li>
187         <li>init: wait for orphaned children too while waiting for sysinit-like processes (harald-tuxbox AT arcor.de)</li>
188         <li>ip route: "ip route" was misbehaving (extra argv+1 ate 1st env var)</li>
189         <li>last: do not go into endless loop on read error</li>
190         <li>less,klogd,syslogd,nc,tcpudp: exit on signal by killing itself, not exit(1)</li>
191         <li>less: "examine" command will not bomb out on bad file name now</li>
192         <li>less: fix bug where backspace wasn't actually deleting chars</li>
193         <li>less: make it a bit more resistant against status line corruption</li>
194         <li>less: improve search when data is not supplied fast enough by stdin - now will try reading for 1-2 seconds before declaring that there is no match. This fixes a very common annoyance with long manpages</li>
195         <li>less: update line input so that it doesn't interfere with screen update. Makes "man bash", [enter], [/], &lt;enter search pattern&gt;, [enter] more usable - manpage now draws even as you enter the pattern!</li>
196         <li>libbb: filename completion matches dangling symlinks too</li>
197         <li>libbb: fix getopt state corruption for NOFORK applets</li>
198         <li>libbb: full_read/write now will report partial data counts prior to error</li>
199         <li>libbb: intrduce and use safe_gethostname. By Tito &lt;farmatito AT tiscali.it&gt;</li>
200         <li>libbb: introduce and use nonblock_safe_read(). Yay! Our shells are immune from this nasty O_NONBLOCK now!</li>
201         <li>login,su: avoid clearing environment with some options, as was intended</li>
202         <li>microcom: read more than 1 byte from device, if possible</li>
203         <li>microcom: split -d (delay) option away from -t</li>
204         <li>mktemp: support -p DIR (Timo Teras &lt;timo.teras at iki.fi&gt;)</li>
205         <li>mount: #ifdef out MOUNT_LABEL code parts if it is not selected</li>
206         <li>mount: add another mount helper call method</li>
207         <li>mount: allow and ignore _netdev option</li>
208         <li>mount: make -f work even without mtab support (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)</li>
209         <li>mount: optional support for -vv verbosity</li>
210         <li>mount: plug a hole where FEATURE_MOUNT_HELPERS could allow execution of arbitrary command</li>
211         <li>mount: recognize "dirsync" (closes bug 835)</li>
212         <li>mount: sanitize environment if called by non-root</li>
213         <li>mount: support for mount by label. Closes bug 1143</li>
214         <li>mount: with -vv -f, say what mount() calls we were going to make</li>
215         <li>msh: create testsuite (based on hush one)</li>
216         <li>msh: don't use floating point in "times" builtin</li>
217         <li>msh: fix Ctrl-C handling with line editing</li>
218         <li>msh: fix for bug 846 ("break" didn't work second time)</li>
219         <li>msh: glob0/glob1/glob2/glob3 were just a sorting routine, removed</li>
220         <li>msh: instead of fixing "ls | cd", "cd | ls" etc disallow builtins in pipes. They make no sense there anyway</li>
221         <li>msh: stop trying to parse variables in "msh SCRIPT VAR=val param". They are passed as ordinary parameters</li>
222         <li>netstat: print control chars as "^C" etc</li>
223         <li>nmeter: fix bug where %[mf] behaves as %[mt]</li>
224         <li>nohup: compat patch by Christoph Gysin &lt;mailinglist.cache at gmail.com&gt;</li>
225         <li>od: handle /proc files (which have filesize 0) correctly</li>
226         <li>patch: don't trash permissions of patched file</li>
227         <li>ps: add conditional support for -o [e]time</li>
228         <li>ps: fix COMMAND column adjustment; overflow in USER and VSZ columns</li>
229         <li>reset: call "stty sane". Closes bug 1414</li>
230         <li>rmdir: optional long options support for Debian users. By Roberto Gordo Saez &lt;roberto.gordo AT gmail.com&gt;</li>
231         <li>run-parts: add --reverse</li>
232         <li>script: correctly handle buffered "tail" of output</li>
233         <li>sed: "n" command must reset "we had successful subst" flag. Closes bug 1214</li>
234         <li>sort: -z outputs NUL terminated lines. Closes bug 1591</li>
235         <li>stty: fix mishandling of control keywords (Ralf Friedl &lt;Ralf.Friedl AT online.de&gt;)</li>
236         <li>switch_root: stop at first non-option. Closes bug 1425</li>
237         <li>syslogd: avoid excessive time() system calls</li>
238         <li>syslogd: don't die if remote host's IP cannot be resolved. Retry resolutions every two minutes instead</li>
239         <li>syslogd: fix shmat error check</li>
240         <li>syslogd: optional support for dropping dups. Closes bug 436</li>
241         <li>syslogd: send "\n"-terminated messages over the network. Fully closes bug 1574</li>
242         <li>syslogd: tighten up hostname handling</li>
243         <li>tail: fix "tail -c 20 /dev/huge_disk" (was taking ages)</li>
244         <li>tar: compat: handle tarballs with only one zero block at the end</li>
245         <li>tar: autodetection of gz/bz2 compressed tarballs. Closes bug 992</li>
246         <li>tar: real support for -p. By Natanael Copa &lt;natanael.copa at gmail.com&gt;</li>
247         <li>tcpudp: narrow down time window where we have no wildcard socket</li>
248         <li>telnetd: use login always, not "sometimes login, sometimes shell"</li>
249         <li>test: fix mishandling of "test ! arg1 op arg2 more args"</li>
250         <li>trylink: instead of build error, disable --gc-sections if GLIBC and STATIC are selected</li>
251         <li>udhcp: make file paths configurable</li>
252         <li>udhcp: optional support for non-standard DHCP ports</li>
253         <li>udhcp: set correct op byte in the packet for DHCPDECLINE</li>
254         <li>udhcpc: filter unwanted packets in kernel (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn AT axis.com&gt;)</li>
255         <li>udhcpc: fix wrong options in decline and release packets (Jonas Danielsson &lt;jonas.danielsson AT axis.com&gt;)</li>
256         <li>umount: do not complain several times about the same mountpoint</li>
257         <li>umount: do not try to free loop device or erase mtab if remounted ro</li>
258         <li>umount: instead of non-standard -D, use -d with opposite meaning. Closes bug 1604</li>
259         <li>unlzma: shrink by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;</li>
260         <li>unzip: do not try to read entire compressed stream at once (it can be huge)</li>
261         <li>unzip: handle short reads correctly</li>
262         <li>vi: many fixes</li>
263         <li>zcip: don't chdir to root</li>
264         <li>zcip: open ARP socket before openlog (else we can trash syslog socket)</li>
265       </ul>
266   </li>
267
268   <li><b>21 March 2008 -- BusyBox old stable releases</b>
269     <p>
270     Bugfix-only releases for four past branches. Links to locations
271     for future hot patches are in parentheses.
272     <p>
273     <a href="http://busybox.net/downloads/busybox-1.9.2.tar.bz2">1.9.2</a>
274     (<a href="http://busybox.net/downloads/fixes-1.9.2/">patches</a>),
275     <a href="http://busybox.net/downloads/busybox-1.8.3.tar.bz2">1.8.3</a>
276     (<a href="http://busybox.net/downloads/fixes-1.8.3/">patches</a>),
277     <a href="http://busybox.net/downloads/busybox-1.7.5.tar.bz2">1.7.5</a>
278     (<a href="http://busybox.net/downloads/fixes-1.7.5/">patches</a>),
279     <a href="http://busybox.net/downloads/busybox-1.5.2.tar.bz2">1.5.2</a>
280     (<a href="http://busybox.net/downloads/fixes-1.5.2/">patches</a>).
281     <p>
282     <a href="http://busybox.net/fix.html">How to add a patch.</a>
283     </p>
284
285
286   <li><b>12 February 2008 -- BusyBox 1.9.1 (stable)</b>
287     <p><a href="http://busybox.net/downloads/busybox-1.9.1.tar.bz2">BusyBox 1.9.1</a>.
288     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_9_stable/">svn</a>,
289     <a href="http://busybox.net/downloads/fixes-1.9.1/">patches</a>,
290     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
291
292     <p>This is a bugfix-only release, with fixes to fsck,
293     iproute, mdev, mkswap, msh, nameif, stty, test, zcip.</p>
294     <p>hush has `command` expansion re-enabled for NOMMU, although it is
295     inherently unsafe (by virtue of NOMMU's use of vfork instead of fork).
296     The plan is to make this less likely to bite people in future versions.</p>
297   </li>
298
299   <li><b>24 December 2007 -- BusyBox 1.9.0 (unstable)</b>
300     <p><a href="http://busybox.net/downloads/busybox-1.9.0.tar.bz2">BusyBox 1.9.0</a>.
301     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_9_stable/">svn</a>,
302     <a href="http://busybox.net/downloads/fixes-1.9.0/">patches</a>,
303     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
304
305     <p>Sizes of busybox-1.8.2 and busybox-1.9.0 (with almost full config, static uclibc build):<pre>
306    text    data     bss     dec     hex filename
307  792796     978    9724  803498   c42aa busybox-1.8.2
308  783803     683    7508  791994   c15ba busybox-1.9.0
309 </pre>
310     <p>Top 10 stack users:<pre>
311 busybox-1.8.2:               busybox-1.9.0:
312 input_tab             10428  echo_dg                4116
313 umount_main            8252  bb_full_fd_action      4112
314 rtnl_talk              8240  discard_dg             4096
315 xrtnl_dump_filter      8240  echo_stream            4096
316 sendMTFValues          5316  discard_stream         4096
317 mainSort               4700  find_list_entry2       4096
318 mkfs_minix_main        4288  readlink_main          4096
319 grave                  4260  ipaddr_list_or_flush   3900
320 unix_do_one            4156  iproute_list_or_flush  3680
321 parse_prompt           4132  insmod_main            3152
322 </pre>
323
324     <p>lash is deleted from this release. hush can be configured down to almost
325        the same size, but it is significantly less buggy. It even works
326        on NOMMU machines (interactive mode and backticks are not working on NOMMU,
327        though). "lash" applet is still available, but it runs hush.
328
329     <p>init has some changes in this release, please report if it causes
330        problems for you.
331
332     <p>Changes since previous release:
333       <ul>
334         <li>Build system improvements
335         <li>Testsuite additions
336         <li>Stack size reductions, code size reductions, data/bss reductions
337         <li>An option to prefer IPv4 address if host has both
338         <li>New applets: hd, sestatus
339         <li>Removed applets: lash
340         <li>hush: fixed a few bugs, wired up echo and test to be builtins
341         <li>init: simplify forking of children
342         <li>getty: special handling of '#' and '@' is removed
343         <li>[su]login: sanitize environment if called by non-root
344         <li>udhcpc: support "bad" servers which send oversized packets
345           (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
346         <li>udhcpc: -O option allows to specify which options to ask for
347           (Stefan Hellermann &lt;stefan at the2masters.de&gt;)
348         <li>udhcpc: optionally check whether given IP is really free (by ARP ping)
349           (Jonas Danielsson &lt;jonas.danielsson at axis.com&gt;)
350         <li>vi: now handles files with unlimited line length
351         <li>vi: speedup for huge line lengths
352         <li>vi: Del key works
353         <li>sed: support GNUism '\t'
354         <li>cp/mv/install: optionally use bigger buffer for bulk copying
355         <li>line editing: don't eat stack like crazy
356         <li>passwd: follows symlinked /etc/passwd
357         <li>renice: accepts priority with +N too
358         <li>netstat: wide output mode
359         <li>nameif: extended matching (Nico Erfurth &lt;masta at perlgolf.de&gt;)
360         <li>test: become NOFORK applet
361         <li>find: -iname (Alexander Griesser &lt;alexander.griesser at lkh-vil.or.at&gt;)
362         <li>df: -i option (show inode info) (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
363         <li>hexdump: -R option (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
364       </ul>
365   </li>
366
367   <li><b>23 November 2007 -- BusyBox 1.8.2 (stable), BusyBox 1.7.4 (stable)</b>
368     <p><a href="http://busybox.net/downloads/busybox-1.8.2.tar.bz2">BusyBox 1.8.2</a>.
369     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/">svn</a>,
370     <a href="http://busybox.net/downloads/fixes-1.8.2/">patches</a>,
371     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
372     <p><a href="http://busybox.net/downloads/busybox-1.7.4.tar.bz2">BusyBox 1.7.4</a>.
373     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
374     <a href="http://busybox.net/downloads/fixes-1.7.4/">patches</a>,
375     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
376
377     <p>These are bugfix-only releases.
378     1.8.2 contains fixes for inetd, lash, tar, tr, and build system.
379     1.7.4 contains a fix for inetd.</p>
380   </li>
381
382   <li><b>9 November 2007 -- BusyBox 1.8.1 (stable)</b>
383     <p><a href="http://busybox.net/downloads/busybox-1.8.1.tar.bz2">BusyBox 1.8.1</a>.
384     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/">svn</a>,
385     <a href="http://busybox.net/downloads/fixes-1.8.1/">patches</a>,
386     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
387
388     <p>This is a bugfix-only release, with fixes to login (PAM), modprobe, syslogd, telnetd, unzip.</p>
389   </li>
390
391   <li><b>4 November 2007 -- BusyBox 1.8.0 (unstable)</b>
392     <p><a href="http://busybox.net/downloads/busybox-1.8.0.tar.bz2">BusyBox 1.8.0</a>.
393     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/">svn</a>,
394     <a href="http://busybox.net/downloads/fixes-1.8.0/">patches</a>,
395     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
396
397     <p>Note: this is probably the very last release with lash. It will be dropped. Please migrate to hush.
398
399     <p>Applets which had many changes since 1.7.x:
400     <p>httpd:
401       <ul>
402         <li>does not clear environment, CGIs will see all environment variables which were set for httpd
403         <li>fix bug where we were trying to read more POSTDATA than content-length
404         <li>fix trivial bug (spotted by Alex Landau)
405         <li>optional support for partial downloads
406         <li>simplified CGI i/o loop (now it looks good to me)
407         <li>small auth and IPv6 fixes (Kim B. Heino &lt;Kim.Heino at bluegiga.com>)
408         <li>support for proxying connection to other http server (by Alex Landau &lt;landau_alex at yahoo.com>)
409       </ul>
410
411     <p>top:
412       <ul>
413         <li>TOPMEM feature - 's(how sizes)' command
414         <li>don't wait before final bailout (try top -b -n1)
415         <li>fix for command line wrapping
416       </ul>
417
418     <p>Build system improvements: libbusybox mode restored (it was lost in transition to new makefiles).
419
420     <p>Code and data size in comparison with 1.7.3:<pre>
421 Equivalent .config, i386 uclibc static builds:
422    text    data     bss     dec     hex filename
423  768123    1055   10768  779946   be6aa busybox-1.7.3/busybox
424  759693     974    9420  770087   bc027 busybox-1.8.0/busybox</pre>
425
426     <p>New applets:
427       <ul>
428         <li>microcom: new applet by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;
429         <li>kbd_mode: new applet by Loic Grenie &lt;loic.grenie at gmail.com&gt;
430         <li>bzip2: port bzip2 1.0.4 to busybox, 9 kb of code
431         <li>pgrep, pkill: new applets by Loic Grenie &lt;loic.grenie at gmail.com&gt;
432         <li>setsebool: new applet (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
433       </ul>
434
435     <p>Other changes since previous release (abridged):
436       <ul>
437         <li>cp: -r and -R imply -d (coreutils compat)
438         <li>cp: detect and prevent infinite recursion
439         <li>cp: make it a bit closer to POSIX, but still refuse to open and overwrite symbolic link
440         <li>hdparm: reduce possibility of numeric overflow in -T
441         <li>hdparm: simplify timing measurement
442         <li>wget: -O FILE is allowed to overwrite existing file (compat)
443         <li>wget: allow dots in header field names
444         <li>telnetd: add -K option to close sessions as soon as child exits
445         <li>telnetd: don't SIGKILL child when closing the session, kernel will send SIGHUP for us
446         <li>ed: large cleanup, add line editing
447         <li>hush: feeble attempt at making it more NOMMU-friendly
448         <li>hush: fix glob()
449         <li>hush: stop doing manual accounting of open fd's, kernel can do it for us
450         <li>adduser: implement -S and fix uid selection
451         <li>ash: fix prompt expansion (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
452         <li>ash: revert "cat | jobs" fix, it causes more problems than good
453         <li>find: fix -xdev behavior in the presence of two or more nested mount points
454         <li>grep: fix grep -F -e str1 -e str2 (was matching str2 only)
455         <li>grep: optimization: stop on first -e match
456         <li>gunzip: support concatenated gz files
457         <li>inetd: fix bug 1562 "inetd does not set argv[0] properly" (fix by Ilya Panfilov)
458         <li>install: 'support' (by ignoring) -v and -b
459         <li>install: fix bug in "install -c file dir" (tried to copy dir into dir too)
460         <li>ip: tunnel parameter parsing fix by Jean Wolter &lt;jw5 at os.inf.tu-dresden.de&gt;
461         <li>isrv: use monotonic_sec
462         <li>less: make 'f' key page forward
463         <li>libiproute: add missing break statements
464         <li>load_policy: update (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
465         <li>logger: fix a problem of losing all argv except first
466         <li>login: do reject wrong passwords with PAM auth
467         <li>losetup: support -f (Loic Grenie &lt;loic.grenie at gmail.com&gt;)
468         <li>fdisk: make fdisk compile on libc without llseek64
469         <li>libbb: by popular request allow PATH to be customized at build time
470         <li>mkswap: selinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
471         <li>mount: allow (and ignore) -i
472         <li>mount: ignore NFS bg option on NOMMU machines
473         <li>mount: mount helpers support (by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;)
474         <li>passwd: handle Ctrl-C, restore termios on Ctrl-C
475         <li>passwd: SELinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
476         <li>ping: make -I ethN work too (-I addr already worked)
477         <li>ps: fix RSS parsing (rss field in /proc/PID/stat is in pages, not bytes)
478         <li>read_line_input: fix it to not do any fancy editing if echoing is disabled
479         <li>run_parts: make it sort executables by name (required by API)
480         <li>runsv: do not use clock_gettime if !MONOTONIC_CLOCK
481         <li>runsvdir: fix "linear wait time" bug
482         <li>sulogin: remove alarm handling, it is redundant there
483         <li>svlogd: compat: svlogd -tt should timestamp stderr too
484         <li>syslogd: bail out if you see null read from Unix socket
485         <li>syslogd: do not need to poll(), we can just block in read()
486         <li>tail: work correctly on /proc files (Kazuo TAKADA &lt;kztakada at sm.sony.co.jp&gt;)
487         <li>tar + gzip/bzip2/etc: support NOMMU machines (by Alex Landau &lt;landau_alex at yahoo.com&gt;)
488         <li>tar: strip leading '/' BEFORE memorizing hardlink's name
489         <li>tftp: fix infinite retry bug
490         <li>umount: support (by ignoring) -i; style fixes
491         <li>unzip: fix endianness bugs
492         <li>vi: don't wait 50 ms before reading ESC sequences
493         <li>watchdog: allow millisecond spec (-t 250ms)
494         <li>zcip: fix unaligned trap on ARM
495       </ul>
496   </li>
497
498   <li><b>4 November 2007 -- BusyBox 1.7.3 (stable)</b>
499     <p><a href="http://busybox.net/downloads/busybox-1.7.3.tar.bz2">BusyBox 1.7.3</a>.
500     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
501     <a href="http://busybox.net/downloads/fixes-1.7.3/">patches</a>,
502     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
503
504     <p>This is a bugfix-only release, with fixes to ash, httpd, inetd, iptun, logger, login, tail.</p>
505   </li>
506
507   <li><b>30 September 2007 -- BusyBox 1.7.2 (stable)</b>
508     <p><a href="http://busybox.net/downloads/busybox-1.7.2.tar.bz2">BusyBox 1.7.2</a>.
509     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
510     <a href="http://busybox.net/downloads/fixes-1.7.2/">patches</a>,
511     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
512
513     <p>This is a bugfix-only release, with fixes to install, find, login, httpd, runsvdir, chcon, setfiles, fdisk and line editing.</p>
514   </li>
515
516   <li><b>16 September 2007 -- BusyBox 1.7.1 (stable)</b>
517     <p><a href="http://busybox.net/downloads/busybox-1.7.1.tar.bz2">BusyBox 1.7.1</a>.
518     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
519     <a href="http://busybox.net/downloads/fixes-1.7.1/">patches</a>,
520     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
521
522     <p>This is a bugfix-only release, with fixes to cp, runsv, tar, busybox --install and build system.</p>
523   </li>
524
525   <li><b>24 August 2007 -- BusyBox 1.7.0 (unstable)</b>
526     <p><a href="http://busybox.net/downloads/busybox-1.7.0.tar.bz2">BusyBox 1.7.0</a>.
527     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/">svn</a>,
528     <a href="http://busybox.net/downloads/fixes-1.7.0/">patches</a>,
529     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
530
531     <p>Applets which had many changes since 1.6.x:
532     <p>httpd:
533       <ul>
534         <li>works in standalone mode on NOMMU machines now (partly by Alex Landau &lt;landau_alex at yahoo.com&gt;)
535         <li>indexer example is rewritten in C
536         <li>optional support for error pages (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
537         <li>stop reading headers using 1-byte reads
538         <li>new option -v[v]: prints client addresses, HTTP codes returned, URLs
539         <li>extended -p PORT to -p [IP[v6]:]PORT
540         <li>sendfile support (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
541         <li>add support for Status: CGI header
542         <li>fix CGI handling bug (we were closing wrong fd)
543         <li>CGI I/O loop still doesn't look 100% ok to me...
544       </ul>
545
546     <p>udhcp[cd]:
547       <ul>
548         <li>add -f "foreground" and -S "syslog" options
549         <li>fixed "ifupdown + udhcpc_without_pidfile_creation" bug
550         <li>new config option "Rewrite the lease file at every new acknowledge" (Mats Erik Andersson &lt;mats at blue2net.com&gt; (Blue2Net AB))
551         <li>consistently treat server_config.start/end IPs as host-order
552         <li>fix IP parsing for 64bit machines
553         <li>fix unsafe hton macro usage in read_opt()
554         <li>do not chdir to / when daemonizing
555       </ul>
556
557     <p>top, ps, killall, pidof:
558       <ul>
559         <li>simpler loadavg processing
560         <li>truncate usernames to 8 chars
561         <li>fix non-CONFIG_DESKTOP ps -ww (by rockeychu)
562         <li>improve /proc/PID/cmdinfo reading code
563         <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)
564         <li>reduce CPU usage in decimal conversion (optional) (corresponding speedup on kernel side is accepted in mainline Linux kernel, yay!)
565         <li>make percentile (0.1%) calculations configurable
566         <li>add config option and code for global CPU% display
567         <li>reorder columns, so that [P]PIDs are together and VSZ/%MEM are together - makes more sense
568       </ul>
569
570     <p>Build system improvements: doesn't link against libraries we don't need,
571         generates verbose link output and map file, allows for custom link
572         scripts (useful for removing extra padding, among other things).
573
574     <p>Code and data size in comparison with 1.6.1:<pre>
575 Equivalent .config, i386 glibc dynamic builds:
576    text    data     bss     dec     hex filename
577  672671    2768   16808  692247   a9017 busybox-1.6.1/busybox
578  662948    2660   13528  679136   a5ce0 busybox-1.7.0/busybox
579  662783    2631   13416  678830   a5bae busybox-1.7.0/busybox.customld
580
581 Same .config built against static uclibc:
582  765021    1059   11020  777100   bdb8c busybox-1.7.0/busybox_uc</pre>
583
584     <p>Code/data shrink done in applets: crond, hdparm, dd, cal, od, nc, expr, uuencode,
585         test, slattach, diff, ping, tr, syslogd, hwclock, zcip, find, pidof, ash, uudecode,
586         runit/*, in libbb.
587
588     <p>New applets:
589       <ul>
590         <li>pscan, expand, unexpand (from Tito &lt;farmatito at tiscali.it&gt;)
591         <li>setfiles, restorecon (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
592         <li>chpasswd (by Alexander Shishkin &lt;virtuoso at slind.org&gt;)
593         <li>slattach, ttysize
594       </ul>
595
596     <p>Unfortunately, not much work is done on shells. This was mostly stalled
597         by lack of time (read: laziness) on my part to learn how to adapt existing
598         qemu-runnable image for a NOMMU architechture (available on qemu website)
599         for local testing of cross-compiled busybox on my machine.
600
601     <p>Other changes since previous release (abridged):
602       <ul>
603         <li>addgroup: disallow addgroup -g num user group; make -g 0 work (Tito &lt;farmatito at tiscali.it&gt;)
604         <li>adduser: close /etc/{passwd,shadow} before calling passwd etc. Spotted by Natanael Copa &lt;natanael.copa at gmail.com&gt;
605         <li>arping: -i should be -I, fixed
606         <li>ash: make "jobs | cat" work like in bash (was giving empty output)
607         <li>ash: recognize -l as --login equivalent; do not recognize +-login
608         <li>ash: fix buglet in DEBUG code (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
609         <li>ash: fix SEGV if type has zero parameters
610         <li>awk: fix -F 'regex' bug (miscounted fields if last field is empty)
611         <li>catv: catv without arguments was trying to use environ as argv (Alex Landau &lt;landau_alex at yahoo.com&gt;)
612         <li>catv: don't die on open error (emit warning)
613         <li>chown/chgrp: completely match coreutils 6.8 wrt symlink handling
614         <li>correct_password: do not print "no shadow passwd..." message
615         <li>crond: don't start sendmail with absolute path, don't report obsolete version (report true bbox version)
616         <li>dd: fix bug where we assume count=INT_MAX when count is unspecified
617         <li>devfsd: sanitization by Tito &lt;farmatito at tiscali.it&gt;
618         <li>echo: fix non-fancy echo
619         <li>fdisk: make it work with big disks (read: typical today's disks) even if CONFIG_LFS is unset
620         <li>find: -context support for SELinux (KaiGai Kohei &lt;kaigai at kaigai.gr.jp&gt;)
621         <li>find: add conditional support for -maxdepth and -regex, make -size match GNU find
622         <li>find: fix build failure on certain configs (found by Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
623         <li>fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one
624         <li>grep: implement -m MAX_MATCHES, fix buglets with context printing
625         <li>grep: fix selection done by FEATURE_GREP_EGREP_ALIAS (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
626         <li>hush: add missing dependencies (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
627         <li>hush: fix read builtin to not read ahead past EOL and to not use insane amounts of stack
628         <li>ifconfig: make it work with ifaces with interface no. &gt; 255
629         <li>ifup/ifdown: make location of ifstate configurable
630         <li>ifupdown: make netmask parsing smaller and more strict (was accepting 255.0.255.0, 255.1234.0.0 etc...)
631         <li>install: fix -s (strip) option, fix install a b /a/link/to/dir
632         <li>libbb: consolidate ARRAY_SIZE macro (Walter Harms &lt;wharms at bfs.de&gt;)
633         <li>libbb: make /etc/network parsing configurable. -200 bytes when off
634         <li>libbb: nuke BB_GETOPT_ERROR, always die if there are mutually exclusive options
635         <li>libbb: xioctl and friends by Tito &lt;farmatito at tiscali.it&gt;
636         <li>login: optional support for PAM
637         <li>login: make /etc/nologin support configurable (-240 bytes)
638         <li>login: ask passwords even for wrong usernames
639         <li>md5_sha1_sum: fix mishandling when run as /bin/md5sum
640         <li>mdev: add support for firmware loading
641         <li>mdev: work even when CONFIG_SYSFS_DEPRECATED in kernel is off
642         <li>modprobe: add scanning of /lib/modules/`uname -r`/modules.symbols (by Yann E. MORIN &lt;yann.morin.1998 at anciens.enib.fr&gt;)
643         <li>more: fixes by Tristan Schmelcher &lt;tpkschme at engmail.uwaterloo.ca&gt;
644         <li>nc: make connecting to IPv4 from IPv6-enabled hosts easier (was requiring -s local_addr)
645         <li>passwd: fix bug "updating shadow even if user's record is in passwd"
646         <li>patch: fix -p -1 handling
647         <li>patch: fix bad line ending handling (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
648         <li>ping: display roundtrip times with 1/1000th of ms, not 1/10 ms precision.
649         <li>ping: fix incorrect handling of -I (Iouri Kharon &lt;bc-info at styx.cabel.net&gt;)
650         <li>ping: fix non-fancy ping6
651         <li>printenv: fix "printenv VAR1 VAR2" bug (spotted by Kalyanatejaswi Balabhadrapatruni &lt;kalyanatejaswi at yahoo.co.in&gt;)
652         <li>ps: fix -Z (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
653         <li>rpm: add optional support for bz2 data. +50 bytes of code
654         <li>rpm: fix bogus "package is not installed" case
655         <li>sed: fix 'q' command handling (by Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
656         <li>start_stop_daemon: NOMMU fixes by Alex Landau &lt;landau_alex at yahoo.com&gt;
657         <li>stat: fix option -Z SEGV
658         <li>strings: strings a b was processing a twice, fix that
659         <li>svlogd: fix timestamping, do not warn if config is missing
660         <li>syslogd, logread: get rid of head pointer, fix logread bug in the process
661         <li>syslogd: do not convert tabs to ^I, set syslog IPC buffer to mode 0644
662         <li>tar: improve OLDGNU compat, make old SUN compat configurable
663         <li>test: fix testing primary expressions like '"-u" = "-u"'
664         <li>uudecode: fix to base64 decode by Jorgen Cederlof &lt;jcz at google.com&gt;
665         <li>vi: multiple fixes by Natanael Copa &lt;natanael.copa at gmail.com&gt;
666         <li>wget: fix bug in base64 encoding (bug 1404). +10 bytes
667         <li>wget: lift 256 chars limitation on terminal width
668         <li>wget, zcip: use monotonic_sec instead of gettimeofday
669       </ul>
670   </li>
671
672   <li><b>30 June 2007 -- BusyBox 1.6.1 (stable)</b>
673     <p><a href="http://busybox.net/downloads/busybox-1.6.1.tar.bz2">BusyBox 1.6.1</a>.
674     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/">svn</a>,
675     <a href="http://busybox.net/downloads/fixes-1.6.1/">patches</a>,
676     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
677
678     <p>This is a bugfix-only release, with fixes to echo, hush, and wget.</p>
679   </li>
680
681   <li><b>1 June 2007 -- BusyBox 1.6.0 (unstable)</b>
682     <p><a href="http://busybox.net/downloads/busybox-1.6.0.tar.bz2">BusyBox 1.6.0</a>.
683     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/">svn</a>,
684     <a href="http://busybox.net/downloads/fixes-1.6.0/">patches</a>,
685     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
686
687     <p>Since this is a x.x.0 release, it probably does not deserve "stable"
688     label. Please help making 1.6.1 stable by testing 1.6.0.</p>
689     <p>Note that hush shell had many changes and (hopefully) is much improved now,
690     but there is a possibility that it regressed in some obscure cases. Please
691     report any such cases.</p>
692     <p>lash users please note: lash is going to be deprecated in busybox 1.7.0
693     and removed in the more distant future. Please migrate to hush.</p>
694     <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>
695     <p>Other changes since previous release:
696     <ul>
697 <li>NOFORK: audit small applets and mark some of them as NOFORK. Put big scary warnings in relevant places
698 <li>NOFORK: factor out NOFORK/NOEXEC code from find. Use NOFORK/NOEXEC in find and xargs
699 <li>NOFORK: remove potential xmalloc from NOFORK path in bb_full_fd_action
700 <li>NOMMU: random fixes; compressed --help now works for NOMMU
701 <li>SELinux: load_policy applet
702 <li>[u]mount: extend -t option (Roy Marples &lt;uberlord at gentoo.org&gt;)
703 <li>addgroup: clean up, fix adding users to existing groups and make it optional (Tito)
704 <li>adduser: don't bomb out if shadow password file doesn't exist (from Tito &lt;farmatito at tiscali.it&gt;)
705 <li>applet.c: do not even try to read config if run by real root; fix suid config handling
706 <li>ash: fix infinite loop on exit if tty is not there anymore
707 <li>ash: fix kill -l (by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
708 <li>ash: implement type -p, costs less than 10 bytes (patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
709 <li>awk: don't segfault on printf(%*s). Closes bug 1337
710 <li>awk: guard against empty environment
711 <li>awk: some 'lineno' vars were shorts, made them ints (code got smaller)
712 <li>cat: stop using stdio.h opens
713 <li>config system: clarify PREFER_APPLETS/SH_STANDALONE effects in help text
714 <li>cryptpw: new applet (by Thomas Lundquist &lt;lists at zelow.no&gt;)
715 <li>cttyhack: new applet
716 <li>dd: NOEXEC fix; fix skip= parse error (spotted by Dirk Clemens &lt;develop at cle-mens.de&gt;)
717 <li>deluser: add optional support for removing users from groups (by Tito &lt;farmatito at tiscali.it&gt;)
718 <li>diff: fix SEGV (NULL deref) in diff -N
719 <li>diff: fix segfault on empty dirs (Peter Korsgaard &lt;peter.korsgaard at barco.com&gt;)
720 <li>dnsd: fix several buglets, make smaller; openlog(), so that applet's name is logged
721 <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;)
722 <li>dpkg: use bitfields which are a bit closer to typical short/char. Code size -800 bytes
723 <li>dumpleases: getopt32()-ization (from Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
724 <li>e2fsprogs: stop using statics in chattr. Minor code shrinkage (-130 bytes)
725 <li>ether-wake: close bug 1317. Reorder fuctions to avoid forward refs while at it
726 <li>ether-wake: save a few more bytes of code
727 <li>find: -group, -depth (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
728 <li>find: add support for -delete, -path (by Natanael Copa)
729 <li>find: fix -prune. Add big comment about it
730 <li>find: improve usage text (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
731 <li>find: missed 'static' on const data; size and prune were mixed up; use index_in_str_array
732 <li>find: un-DESKTOPize (Kai Schwenzfeier &lt;niteblade at gmx.net&gt;)
733 <li>find_root_device: teach to deal with /dev/ subdirs (by Kirill K. Smirnov &lt;lich at math.spbu.ru&gt;)
734 <li>find_root_device: use lstat - don't follow links
735 <li>getopt32: fix llist_t options ordering. llist_rev is now unused
736 <li>getopt: use getopt32 for option parsing - inspired by patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;
737 <li>hdparm: fix multisector mode setting (from Toni Mirabete &lt;amirabete at catix.cat&gt;)
738 <li>hdparm: make -T -t code smaller (-194 bytes), and output prettier
739 <li>ifupdown: make it possible to use DHCP clients different from udhcp
740 <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;
741 <li>ifupdown: small optimization (avoid doing useless work if we are not going to update state file)
742 <li>ip: fix compilation if FEATURE_TR_CLASSES is off
743 <li>ip: mv ip*_main into ip.c; use a dispatcher to save on needless duplication. Saves a minor 12b
744 <li>ip: rewrite the ip applet to be less bloaty. Convert to index_in_(sub)str_array()
745 <li>ip: set the scope properly. Thanks to Jean Wolter
746 <li>iplink: shrink iplink; sanitize libiproute a bit (-916 bytes)
747 <li>iproute: shrink a bit (-200 bytes)
748 <li>kill: know much more signals; make code smaller; use common code for kill applet and ash kill builtin
749 <li>klogd: remove dependency on syslogd
750 <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.
751 <li>lash: fix kill buglet (didn't properly recognize ESRCH)
752 <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;)
753 <li>lash: recognize and use NOFORK applets
754 <li>less: fix case when regex search finds nothing; fix very obscure memory corruption bug; fix less &lt;HUGEFILE + [End] busy loop
755 <li>libbb: add xsendto, xunlink, xpipe
756 <li>libbb: fix segfault in reset_ino_dev_hashtable() when *hashtable was NULL
757 <li>libbb: make pidfile writing configurable
758 <li>libbb: make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
759 <li>libbb: rework NOMMU helper API so that it makes more sense and easier to use
760 <li>libiproute: audit callgraph, shortcut error paths into die() functions
761 <li>lineedit: do not try to open NULL history file
762 <li>lineedit: nuke two unused variables and code which sets them
763 <li>login: remove setpgrp call (makes it work from shell prompt again); sanitize stdio descriptors (we are suid, need to be careful!)
764 <li>login: shrink login and set_environment by ~100 bytes
765 <li>mount: fix incorrect usage of strtok (inadvertently used NULL sometimes)
766 <li>mount: fix mounting of symlinks (mount from util-linux allows that)
767 <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
768 <li>nc: port nc 1.10 to busybox
769 <li>netstat: fix for bogus state value for raw sockets
770 <li>netstat: introduce -W: wide, ipv6-friendly output; shrink by ~500 bytes
771 <li>nmeter: should die if stdout doesn't like him anymore
772 <li>patch: do not try to delete same file twice
773 <li>ping: fix wrong sign extension of packet id (bug 1373)
774 <li>ps: add -o tty and -o rss support; make a bit smaller; work around libc bug: printf("%.*s\n", MAX_INT, buffer)
775 <li>run_parts: rewrite
776 <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;
777 <li>sed: fix escaped newlines in -f
778 <li>split: new applet
779 <li>stat: remove superfluous bss user (flags) and manually unswitch some areas
780 <li>stty: fix option parsing bug (spotted by Sascha Hauer &lt;s.hauer at pengutronix.de&gt;)
781 <li>svlogd: fix 'SEGV on uninitialized data' and make it honor TERM
782 <li>tail: fix SEGV on "tail -N"
783 <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/
784 <li>test: close bug 1371; plug a memory leak; code size reduction
785 <li>tftp: code diet, and I think retransmits were broken
786 <li>tr: fix bug where we did not reject invalid classes like '[[:alpha'. debloat while at it
787 <li>udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata; use pipe instead of socketpair
788 <li>udhcp[cd]: stop using atexit magic fir pidfile removal; stop deleting our own pidfile if we daemonize
789 <li>xargs: shrink code, ~80 bytes; simplify word list management
790 <li>zcip: make it work on NOMMU (+ improve NOMMU support machinery)
791     </ul>
792   </li>
793
794   <li><b>20 May 2007 -- BusyBox 1.5.1 (stable)</b>
795     <p><a href="http://busybox.net/downloads/busybox-1.5.1.tar.bz2">BusyBox 1.5.1</a>.
796     (<a href="http://busybox.net/downloads/fixes-1.5.1/">patches</a>,
797     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
798
799     <p>This is a bugfix-only release, with fixes to hdparm, hush, ifupdown, ps
800     and sed.</p>
801   </li>
802
803   <li><b>23 March 2007 -- BusyBox 1.5.0 (unstable)</b>
804     <p><a href="http://busybox.net/downloads/busybox-1.5.0.tar.bz2">BusyBox 1.5.0</a>.
805     (<a href="http://busybox.net/downloads/fixes-1.5.0/">patches</a>,
806     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
807
808     <p>Since this is a x.x.0 release, it probably does not deserve "stable"
809     label. Please help making 1.5.1 stable by testing 1.5.0.</p>
810     <p>Notable changes since previous release:
811     <ul>
812     <li>find: added support for -user, -not, fixed -mtime, -mmin, -perm
813     <li>[de]archivers: merge common logic into one module
814     <li>ping[6]: unified code for both
815     <li>less: regex search improved
816     <li>ash: more readable code, testsuite added
817     <li>sed: several very obscure bugs fixed
818     <li>chown: -H, -L, -P support (required by POSIX)
819     <li>tar: handle (broken) checksums a-la Sun; tar restores mode again
820     <li>grep: implement -w, "implement" -a and -I by ignoring them
821     <li>cp: more sane behavior when overwriting existing files
822     <li>init: stop doing silly things with the console (-400 bytes)
823     <li>httpd: make httpd usable for NOMMU CPUs; fix POSTDATA handling bugs
824     <li>httpd: run interpreter for configured file extensions in any dir,
825         not only in /cgi-bin/
826     <li>chrt: new applet
827     <li>SELinux: SELinux-related code and -Z option added to several applets,
828         new SELinux-specific applets: chcon, runcon.
829     <li>Build system: produces link map, uses -Wwrite-strings to catch
830         improper usage of string constants.
831     <li>Data and bss section usage audited and reduced - should help NOMMU
832         targets.
833     <li>Applets with bug fixes: gunzip, vi, syslogd, dpkg, ls, adjtimex, resize,
834         sv, printf, diff, awk, sort, dpkg, diff, tftp
835     <li>Applets with usability improvements: swapon, more, ifup/ifdown, hwclock,
836         udhcpd, start_stop_daemon, cmp
837     <li>Applets with code cleaned up: telnet, fdisk, fsck_minix, mkfs_minix,
838         syslogd, swapon, runsv, svlogd, klogd
839     </ul>
840   </li>
841
842   <li><b>18 March 2007 -- BusyBox 1.4.2 (stable)</b>
843     <p><a href="http://busybox.net/downloads/busybox-1.4.2.tar.bz2">BusyBox 1.4.2</a>.
844     </p>
845
846     <p>This release includes only trivial fixes accumulated since 1.4.1.
847     </p>
848   </li>
849
850   <li><b>25 January 2007 -- BusyBox 1.4.1 (stable)</b>
851     <p><a href="http://busybox.net/downloads/busybox-1.4.1.tar.bz2">BusyBox 1.4.1</a>.
852     (<a href="http://busybox.net/downloads/fixes-1.4.1/">patches</a>)</p>
853
854     <p>This release includes only trivial fixes accumulated since 1.4.0.
855     </p>
856   </li>
857
858   <li><b>20 January 2007 -- BusyBox 1.4.0 (stable)</b>
859     <p><a href="http://busybox.net/downloads/busybox-1.4.0.tar.bz2">BusyBox 1.4.0</a>.
860     (<a href="http://busybox.net/downloads/fixes-1.4.0/">patches</a>)</p>
861
862     <p>Since this is a x.x.0 release, it probably is a bit less "stable"
863     than usual.</p>
864     <p>Changes since previous release:
865     <ul>
866     <li>e2fsprogs are mostly removed from busybox. Some smaller parts remain,
867     the rest of it sits disabled in e2fsprogs/old_e2fsprogs/*, because
868     it's too bloated. Really. I'm afraid it's about the only way we can
869     ever get e2fsprogs cleaned up.
870     <li>less: many improvements. Now can display binary files
871     (although I expect it to have trouble with displays where 8bit chars
872     don't have 1-to-1 char/glyph relationship). Regexp search is not buggy
873     anymore. Less does not read entire input up-front. Reads input
874     as it appears (yay!). Works rather nice as man pager. I recommend it
875     for general use now.
876     <li>IPv6: generic support is in place, many networking applets are
877     upgraded to be IPv6 capable. Probably some work remains, but it is
878     already much better than what we had previously.
879     <li>arp: new applet (thanks to Eric Spakman).
880     <li>fakeidentd: non-forking standalone server part was taking ~90%
881     of the applet. Factored it out (in fact, rewrote it).
882     <li>syslogd: mostly rewritten.
883     <li>decompress_unzip, gzip: sanitized a bit.
884     <li>sed: better hadling of NULs
885     <li>httpd: stop adding our own "Content-type:" to CGI output
886     <li>chown: user.grp works again.
887     <li>minor bugfixes to: passwd, date, tftp, start_stop_daemon, tar,
888     ps, ifupdown, time, su, stty, awk, ping[6], sort,...
889     </ul>
890   </li>
891
892   <li><b>20 January 2007 -- BusyBox 1.3.2 (stable)</b>
893     <p><a href="http://busybox.net/downloads/busybox-1.3.2.tar.bz2">BusyBox 1.3.2</a>.</p>
894
895     <p>This release includes only one trivial fix accumulated since 1.3.1
896     </p>
897   </li>
898
899   <li><b>27 December 2006 -- BusyBox 1.3.1 (stable)</b>
900     <p><a href="http://busybox.net/downloads/busybox-1.3.1.tar.bz2">BusyBox 1.3.1</a>.
901     (<a href="http://busybox.net/downloads/fixes-1.3.1/">patches</a>)</p>
902
903     <p>Closing 2006 with new release. It includes only trivial fixes accumulated since 1.3.0
904     </p>
905   </li>
906
907   <li><b>14 December 2006 -- BusyBox 1.3.0 (stable)</b>
908     <p><a href="http://busybox.net/downloads/busybox-1.3.0.tar.bz2">BusyBox 1.3.0</a>.
909     (<a href="http://busybox.net/downloads/fixes-1.3.0/">patches</a>)</p>
910
911     <p>This release has CONFIG_DESKTOP option which enables features
912     needed for busybox usage on desktop machine. For example, find, chmod
913     and chown get several less frequently used options, od is significantly
914     bigger but matches GNU coreutils, etc. Intended to eventually make
915     busybox a viable alternative for "standard" utilities for slightly
916     adventurous desktop users.
917     <p>Changes since previous release:
918     <ul>
919     <li>find: taking many more of standard options
920     <li>ps: POSIX-compliant -o implemented
921     <li>cp: added -s, -l
922     <li>grep: added -r, fixed -h
923     <li>watch: make it exec child like standard one does (was totally
924         incompatible)
925     <li>tar: fix limitations which were preventing bbox tar usage
926         on big directories: long names and linknames, pax headers
927         (Linux kernel tarballs have that). Fixed a number of obscure bugs.
928         Raised max file limit (now 64Gb). Security fixes (/../ attacks).
929     <li>httpd: added -i (inetd), -f (foreground), support for
930         directory indexer CGI (example is included), bugfixes.
931     <li>telnetd: fixed/improved IPv6 support, inetd+standalone support,
932         other fixes. Useful IPv6 stuff factored out into libbb.
933     <li>runit/*: new applets adapted from http://smarden.sunsite.dk/runit/
934         (these are my personal favorite small-and-beautiful toys)
935     <li>minor bugfixes to: login, dd, mount, umount, chmod, chown, ln, udhcp,
936         fdisk, ifconfig, sort, tee, mkswap, wget, insmod.
937     </ul>
938     <p>Note that GnuPG key used to sign this release is different.
939     1.2.2.1 is also signed post-factum now. Sorry for the mess.
940     </p>
941   </li>
942
943   <li><b>29 October 2006 -- BusyBox 1.2.2.1 (fix)</b>
944     <p><a href="http://busybox.net/downloads/busybox-1.2.2.1.tar.bz2">BusyBox 1.2.2.1</a>.</p>
945
946     <p>Added compile-time warning that static linking against glibc
947     produces buggy executables.
948   </li>
949
950   <li><b>24 October 2006 -- BusyBox 1.2.2 (stable)</b>
951     <p>It's a bit overdue, but
952     <a href="http://busybox.net/downloads/busybox-1.2.2.tar.bz2">here is
953     BusyBox 1.2.2</a>.</p>
954
955     <p>This release has dozens of fixes backported from the ongoing development
956     branch.  There are a couple of bugfixes to sed, two fixes to documentation
957     generation (BusyBox.html shouldn't have USE() macros in it anymore), fix
958     umount to report the right errno on failure and to umount block devices by
959     name with newer kernels, fix mount to handle symlinks properly, make mdev
960     delete device nodes when called for hotplug remove, fix a segfault
961     in traceroute, a minor portability fix to md5sum option parsing, a build
962     fix for httpd with old gccs, an options parsing tweak to hdparm, make test
963     fail gracefully when getgroups() returns -1, fix a race condition in
964     modprobe when two instances run at once (hotplug does this), make "tar xf
965     foo.tar dir/dir" extract all subdirectories, make our getty initialize the
966     terminal more like mingetty, an selinux build fix, an endianness fix in
967     ping6, fix for zcip defending addresses, clean up some global variables in
968     gzip to save memory, fix sulogin -tNNN, a help text tweak, several warning
969     fixes and build fixes, fixup dnsd a bit, and a partridge in a pear tree.</p>
970
971     <p>As <a href="http://lwn.net/Articles/202106/">Linux Weekly News noted</a>,
972     this is my (Rob's) last release of BusyBox.  The new maintainer is Denis
973     Vlasenko, I'm off to do <a href="http://landley.net/code">other things</a>.
974     </p>
975   </li>
976
977   <li><b>29 September 2006 -- New license email address.</b>
978     <p>The email address gpl@busybox.net is now the recommended way to contact
979     the Software Freedom Law Center to report BusyBox license violations.</p>
980
981   <li><b>31 July 2006 -- BusyBox 1.2.1 (stable)</b>
982     <p>Since nobody seems to have objected too loudly over the weekend, I
983     might as well point you all at
984     <a href="http://busybox.net/downloads/busybox-1.2.1.tar.bz2">Busybox
985     1.2.1</a>, a bugfix-only release with no new features.</p>
986
987     <p>It has three shell fixes (two to lash: going "var=value" without
988     saying "export" should now work, plus a missing null pointer check, and
989     one to ash when redirecting output to a file that fills up.)  Fix three
990     embarassing thinkos in the new dmesg command.  Two build tweaks
991     (dependencies for the compressed usage messages and running make in the
992     libbb subdirectory).  One fix to tar so it can extract git-generated
993     tarballs (rather than barfing on the pax extensions).  And a partridge
994     in a pear...  Ahem.</p>
995
996     <p>But wait, there's more!  A passwd changing fix so an empty
997     gecos field doesn't trigger a false objection that the new passwd contains
998     the gecos field.  Make all our setuid() and setgid() calls check the return
999     value in case somebody's using per-process resource limits that prevent
1000     a user from having too many processes (and thus prevent a process from
1001     switching away from root, in which case the process will now _die_ rather
1002     than continue with root privileges).  A fix to adduser to make sure that
1003     /etc/group gets updated.  And a fix to modprobe to look for modules.conf
1004     in the right place on 2.6 kernels.</p>
1005
1006   <li><b>30 June 2006 -- BusyBox 1.2.0</b>
1007     <p>The -devel branch has been stabilized and the result is
1008     <a href="http://busybox.net/downloads/busybox-1.2.0.tar.bz2">Busybox
1009     1.2.0</a>.  Lots of stuff changed, I need to work up a decent changelog
1010     over the weekend.</p>
1011
1012     <p>I'm still experimenting with how long is best for the development
1013     cycle, and since we've got some largeish projects queued up I'm going to
1014     try a longer one.  Expect 1.3.0 in December.  (Expect 1.2.1 any time
1015     we fix enough bugs. :)</p>
1016
1017     <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>
1018
1019   <li><b>17 May 2006 -- BusyBox 1.1.3 (stable)</b>
1020     <p><a href="http://busybox.net/downloads/busybox-1.1.3.tar.bz2">BusyBox
1021     1.1.3</a> is another bugfix release.  It makes passwd use salt, fixes a
1022     memory freeing bug in ls, fixes "build all sources at once" mode, makes
1023     mount -a not abort on the first failure, fixes msh so ctrl-c doesn't kill
1024     background processes, makes patch work with patch hunks that don't have a
1025     timestamp, make less's text search a lot more robust (the old one could
1026     segfault), and fixes readlink -f when built against uClibc.</p>
1027
1028     <p>Expect 1.2.0 sometime next month, which won't be a bugfix release.</p>
1029
1030   <li><b>10 April 2006 -- BusyBox 1.1.2 (stable)</b>
1031     <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
1032     backported from the development branch: Some build fixes, several fixes
1033     for mount and nfsmount, a fix for insmod on big endian systems, a fix for
1034     find -xdev, and a fix for comm.  Check the file "changelog" in the tarball
1035     for more info.</p>
1036
1037     <p>The next new development release (1.2.0) is slated for June.  A 1.1.3
1038     will be released before then if more bug fixes crop up.  (The new plan is
1039     to have a 1.x.0 new development release every 3 months, with 1.x.y stable
1040     bugfix only releases based on that as appropriate.)</p>
1041
1042   <li><b>27 March 2006 -- Software Freedom Law Center representing BusyBox and uClibc</b>
1043     <p>One issue Erik Andersen wanted to resolve when handing off BusyBox
1044     maintainership to Rob Landley was license enforcement.  BusyBox and
1045     uClibc's existing license enforcement efforts (pro-bono representation
1046     by Erik's father's law firm, and the
1047     <a href="http://www.busybox.net/shame.html">Hall of Shame</a>), haven't
1048     scaled to match the popularity of the projects.  So we put our heads
1049     together and did the obvious thing: ask Pamela Jones of
1050     <a href="http://www.groklaw.net">Groklaw</a> for suggestions.  She
1051     referred us to the fine folks at softwarefreedom.org.</p>
1052
1053     <p>As a result, we're pleased to announce that the
1054     <a href="http://www.softwarefreedom.org">Software Freedom Law Center</a>
1055     has agreed to represent BusyBox and uClibc.  We join a number of other
1056     free and open source software projects (such as
1057     <a href="http://lwn.net/Articles/141806/">X.org</a>,
1058     <a href="http://lwn.net/Articles/135413/">Wine</a>, and
1059     <a href="http://plone.org/foundation/newsitems/software-freedom-law-center-support/">Plone</a>
1060     in being represented by a fairly cool bunch of lawyers, which is not a
1061     phrase you get to use every day.</p>
1062
1063   <li><b>22 March 2006 -- BusyBox 1.1.1</b>
1064     <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>
1065     <p>Update: Rather than put out an endless stream of 1.1.1.x releases,
1066     the various small fixes have been collected together into a
1067     <a href="http://busybox.net/downloads/busybox-1.1.1.fixes.patch">patch</a>,
1068     and new fixes will be appended to that as needed.  Expect 1.1.2 around
1069     June.</p>
1070   </li>
1071   <li><b>11 January 2006 -- 1.1.0 is out</b>
1072     <p>The new stable release is
1073     <a href="http://www.busybox.net/downloads/busybox-1.1.0.tar.bz2">BusyBox
1074     1.1.0</a>.  It has a number of improvements, including several new applets.
1075     (It also has <a href="http://www.busybox.net/lists/busybox/2006-January/017733.html">a few rough spots</a>,
1076     but we're trying out a "release early, release often" strategy to see how
1077     that works.  Expect 1.1.1 sometime in March.)</p>
1078
1079   <li><b>31 October 2005 -- 1.1.0-pre1</b>
1080     <p>The development branch of busybox is stable enough for wider testing, so
1081     you can now
1082     <a href="http://www.busybox.net/downloads/busybox-1.1.0-pre1.tar.bz2">download</a>,
1083     the first prerelease of 1.1.0.  This prerelease includes a lot of
1084     <a href="http://www.busybox.net/downloads/BusyBox.html">new
1085     functionality</a>: new applets, new features, and extensive rewrites of
1086     several existing applets.  This prerelease should be noticeably more
1087     <a href="http://www.opengroup.org/onlinepubs/009695399/">standards
1088     compliant</a> than earlier versions of busybox, although we're
1089     still working out the <a href="http://bugs.busybox.net">bugs</a>.</p>
1090
1091   <li><b>16 August 2005 -- 1.01 is out</b>
1092
1093     <p>A new stable release (<a href="http://www.busybox.net/downloads/busybox-1.01.tar.bz2">BusyBox
1094     1.01</a>) is now available for download, containing over a hundred
1095     <a href="http://www.busybox.net/lists/busybox/2005-August/015424.html">small
1096     fixes</a> that have cropped up since the 1.00 release.</p>
1097
1098   <li><b>13 January 2005 -- Bug and Patch Tracking</b><p>
1099
1100     Bug reports sometimes get lost when posted to the mailing list.  The
1101     developers of BusyBox are busy people, and have only so much they can keep
1102     in their brains at a time. In my case, I'm lucky if I can remember my own
1103     name, much less a bug report posted last week... To prevent your bug report
1104     from getting lost, if you find a bug in BusyBox, please use the
1105     <a href="http://bugs.busybox.net/">shiny new Bug and Patch Tracking System</a>
1106     to post all the gory details.
1107
1108     <p>
1109
1110     The same applies to patches... Regardless of whether your patch
1111     is a bug fix or adds spiffy new features, please post your patch
1112     to the Bug and Patch Tracking System to make certain it is
1113     properly considered.
1114
1115
1116   <p>
1117   <li><b>13 October 2004 -- BusyBox 1.00 released</b><p>
1118
1119     When you take a careful look at nearly every embedded Linux device or
1120     software distribution shipping today, you will find a copy of BusyBox.
1121     With countless routers, set top boxes, wireless access points, PDAs, and
1122     who knows what else, the future for Linux and BusyBox on embedded devices
1123     is looking very bright.
1124
1125     <p>
1126
1127     It is therefore with great satisfaction that I declare each and every
1128     device already shipping with BusyBox is now officially out of date.
1129     The highly anticipated release of BusyBox 1.00 has arrived!
1130
1131     <p>
1132
1133     Over three years in development, BusyBox 1.00 represents a tremendous
1134     improvement over the old 0.60.x stable series.  Now featuring a Linux
1135     KernelConf based configuration system (as used by the Linux kernel),
1136     Linux 2.6 kernel support, many many new applets, and the development
1137     work and testing of thousands of people from around the world.
1138
1139     <p>
1140
1141     If you are already using BusyBox, you are strongly encouraged to upgrade to
1142     BusyBox 1.00.  If you are considering developing an embedded Linux device
1143     or software distribution, you may wish to investigate if using BusyBox is
1144     right for your application.  If you need help getting started using
1145     BusyBox, if you wish to donate to help cover expenses, or if you find a bug
1146     and need help reporting it, you are invited to visit the <a
1147     href="FAQ.html">BusyBox FAQ</a>.
1148
1149     <p>
1150
1151     As usual you can <a href="downloads">download busybox here</a>.
1152
1153     <p>Have Fun!
1154
1155     <p>
1156     <li><b>Old News</b><p>
1157     <a href="/oldnews.html">Click here to read older news</a>
1158
1159
1160   <li><b>16 August 2004 -- BusyBox 1.0.0-rc3 released</b><p>
1161
1162     Here goes release candidate 3...
1163     <p>
1164     The <a href="downloads/Changelog">changelog</a> has all the details.
1165     And as usual you can <a href="downloads">download busybox here</a>.
1166
1167     <p>Have Fun!
1168
1169   <p>
1170   <li><b>26 July 2004 -- BusyBox 1.0.0-rc2 released</b><p>
1171
1172     Here goes release candidate 2...
1173     <p>
1174     The <a href="downloads/Changelog">changelog</a> has all the details.
1175     And as usual you can <a href="downloads">download busybox here</a>.
1176
1177     <p>Have Fun!
1178
1179   <p>
1180   <li><b>20 July 2004 -- BusyBox 1.0.0-rc1 released</b><p>
1181
1182     Here goes release candidate 1...  This fixes all (most?) of the problems
1183     that have turned up since -pre10.  In particular, loading and unloading of
1184     kernel modules with 2.6.x kernels should be working much better.
1185     <p>
1186
1187     I <b>really</b> want to get BusyBox 1.0.0 released soon and I see no real
1188     reason why the 1.0.0 release shouldn't happen with things pretty much as
1189     is.  BusyBox is in good shape at the moment, and it works nicely for
1190     everything that I'm doing with it.  And from the reports I've been getting,
1191     it works nicely for what most everyone else is doing with it as well.
1192     There will eventually be a 1.0.1 anyway, so we might as well get on with
1193     it.  No, BusyBox is not perfect.  No piece of software ever is.  And while
1194     there is still plenty that can be done to improve things, most of that work
1195     is waiting till we can get a solid 1.0.0 release out the door....
1196     <p>
1197
1198     Please do not bother to send in patches adding cool new features at this
1199     time.  Only bug-fix patches will be accepted.  If you have submitted a
1200     bug-fixing patch to the busybox mailing list and no one has emailed you
1201     explaining why your patch was rejected, it is safe to say that your patch
1202     has been lost or forgotten.  That happens sometimes.  Please re-submit your
1203     bug-fixing patch to the BusyBox mailing list, and be sure to put "[PATCH]"
1204     at the beginning of the email subject line!
1205
1206     <p>
1207     The <a href="downloads/Changelog">changelog</a> has all the details.
1208     And as usual you can <a href="downloads">download busybox here</a>.
1209
1210     <p>Have Fun!
1211
1212     <p>
1213     On a less happy note, My 92 year old grandmother (my dad's mom) passed away
1214     yesterday (June 19th).  The funeral will be Thursday in a little town about
1215     2 hours south of my home.  I've checked and there is absolutely no way I
1216     could be back in time for the funeral if I attend <a
1217     href="http://www.linuxsymposium.org/2004/">OLS</a> and give my presentation
1218     as scheduled.
1219     <p>
1220     As such, it is with great reluctance and sadness that I have come
1221     to the conclusion I will have to make my appologies and skip OLS
1222     this year.
1223     <p>
1224
1225
1226   <p>
1227   <li><b>13 April 2004 -- BusyBox 1.0.0-pre10 released</b><p>
1228
1229     Ok, I lied.  It turns out that -pre9 will not be the final BusyBox
1230     pre-release.  With any luck however -pre10 will be, since I <b>really</b>
1231     want to get BusyBox 1.0.0 released very soon.  As usual, please do not
1232     bother to send in patches adding cool new features at this time.  Only
1233     bug-fix patches will be accepted.  It would also be <b>very</b> helpful if
1234     people could continue to review the BusyBox documentation and submit
1235     improvements.
1236
1237     <p>
1238     The <a href="downloads/Changelog">changelog</a> has all the details.
1239     And as usual you can <a href="downloads">download busybox here</a>.
1240
1241     <p>Have Fun!
1242     <p>
1243
1244
1245   <p>
1246   <li><b>6 April 2004 -- BusyBox 1.0.0-pre9 released</b><p>
1247
1248     Here goes the final BusyBox pre-release...  This is your last chance for
1249     bug fixes.  With luck this will be released as BusyBox 1.0.0 later this
1250     week.  Please do not bother to send in patches adding cool new features at
1251     this time.  Only bug-fix patches will be accepted.  It would also be
1252     <b>very</b> helpful if people could help review the BusyBox documentation
1253     and submit improvements.  I've spent a lot of time updating the
1254     documentation to make it better match reality, but I could really use some
1255     assistance in checking that the features supported by the various applets
1256     match the features listed in the documentation.
1257
1258     <p>
1259     I had hoped to get this released a month ago, but
1260     <a href="http://codepoet.org/gallery/baby_peter/img_1796">
1261     another release on 1 March 2004</a> has kept me busy...
1262
1263     <p>
1264     The <a href="downloads/Changelog">changelog</a> has all the details.
1265     And as usual you can <a href="downloads">download busybox here</a>.
1266
1267     <p>Have Fun!
1268     <p>
1269
1270
1271   <p>
1272   <li><b>23 February 2004 -- BusyBox 1.0.0-pre8 released</b><p>
1273
1274     Here goes yet another BusyBox pre-release...  Please do not bother to send
1275     in patches supplying new features at this time.  Only bug-fix patches will
1276     be accepted.  If you have a cool new feature you would like to see
1277     supported, or if you have an amazing new applet you would like to submit,
1278     please wait and submit such things later.  We really want to get a release
1279     out we can all be proud of.  We are still aiming to finish off the -pre
1280     series in February and move on to the final 1.0.0 release...  So if you
1281     spot any bugs, now would be an excellent time to send in a fix to the
1282     busybox mailing list.  It would also be <b>very</b> helpful if people could
1283     help review the BusyBox documentation and submit improvements.  It would be
1284     especially helpful if people could check that the features supported by the
1285     various applets match the features listed in the documentation.
1286
1287     <p>
1288
1289     The <a href="downloads/Changelog">changelog</a> has all the details.
1290     And as usual you can <a href="downloads">download busybox here</a>.
1291
1292     <p>Have Fun!
1293     <p>
1294
1295
1296   <li><b>4 February 2004 -- BusyBox 1.0.0-pre7 released</b><p>
1297
1298     There was a bug in -pre6 that broke argument parsing for a
1299     number of applets, since a variable was not being zeroed out
1300     properly.  This release is primarily intended to fix that one
1301     problem.  In addition, this release fixes several other
1302     problems, including a rewrite by mjn3 of the code for parsing
1303     the busybox.conf file used for suid handling, some shell updates
1304     from vodz, and a scattering of other small fixes.  We are still
1305     aiming to finish off the -pre series in February and move on to
1306     the final 1.0.0 release...  If you see any problems, of have
1307     suggestions to make, as always, please feel free to email the
1308     busybox mailing list.
1309
1310     <p>
1311
1312     The <a href="downloads/Changelog">changelog</a> has all
1313     the details.  And as usual you can
1314     <a href="downloads">download busybox here</a>.
1315
1316     <p>Have Fun!
1317     <p>
1318
1319
1320   <p>
1321   <li><b>30 January 2004 -- BusyBox 1.0.0-pre6 released</b><p>
1322
1323     Here goes the next pre-release for the new BusyBox stable
1324     series.  This release adds a number of size optimizations,
1325     updates udhcp, fixes up 2.6 modutils support, updates ash
1326     and the shell command line editing, and the usual pile of
1327     bug fixes both large and small.  Things appear to be
1328     settling down now, so with a bit of luck and some testing
1329     perhaps we can finish off the -pre series in February and
1330     move on to the final 1.0.0 release...  If you see any
1331     problems, of have suggestions to make, as always, please
1332     feel free to email the busybox mailing list.
1333
1334     <p>
1335
1336     People who rely on the <a href="downloads/snapshots/">daily BusyBox snapshots</a>
1337     should be aware that snapshots of the old busybox 0.60.x
1338     series are no longer available.  Daily snapshots are now
1339     only available for the BusyBox 1.0.0 series and now use
1340     the naming scheme "busybox-&lt;date&gt;.tar.bz2".  Please
1341     adjust any build scripts using the old naming scheme accordingly.
1342
1343     <p>
1344
1345     The <a href="downloads/Changelog">changelog</a> has all
1346     the details.  And as usual you can
1347     <a href="downloads">download busybox here</a>.
1348
1349     <p>Have Fun!
1350     <p>
1351
1352
1353   <p>
1354   <li><b>23 December 2003 -- BusyBox 1.0.0-pre5 released</b><p>
1355
1356     Here goes the next pre-release for the new BusyBox stable
1357     series.  The most obvious thing in this release is a fix for
1358     a terribly stupid bug in mount that prevented it from working
1359     properly unless you specified the filesystem type.  This
1360     release also fixes a few compile problems, updates udhcp,
1361     fixes a silly bug in fdisk, fixes ifup/ifdown to behave like
1362     the Debian version, updates devfsd, updates the 2.6.x
1363     modutils support, add a new 'rx' applet, removes the obsolete
1364     'loadacm' applet, fixes a few tar bugs, fixes a sed bug, and
1365     a few other odd fixes.
1366
1367     <p>
1368
1369     If you see any problems, of have suggestions to make, as
1370     always, please feel free to send an email to the busybox
1371     mailing list.
1372
1373     <p>
1374
1375     The <a href="downloads/Changelog">changelog</a> has all
1376     the details.  And as usual you can
1377     <a href="downloads">download busybox here</a>.
1378
1379     <p>Have Fun!
1380     <p>
1381
1382
1383
1384   <li><b>10 December 2003 -- BusyBox 1.0.0-pre4 released</b><p>
1385
1386     Here goes the fourth pre-release for the new BusyBox stable
1387     series.  This release includes major rework to sed, lots of
1388     rework on tar, a new tiny implementation of bunzip2, a new
1389     devfsd applet, support for 2.6.x kernel modules, updates to
1390     the ash shell, sha1sum and md5sum have been merged into a
1391     common applet, the dpkg applets has been cleaned up, and tons
1392     of random bugs have been fixed.  Thanks everyone for all the
1393     testing, bug reports, and patches!  Once again, a big
1394     thank-you goes to Glenn McGrath (bug1) for stepping in and
1395     helping get patches merged!
1396
1397     <p>
1398
1399     And of course, if you are reading this, you might have noticed
1400     the busybox website has been completely reworked.  Hopefully
1401     things are now somewhat easier to navigate...  If you see any
1402     problems, of have suggestions to make, as always, please feel
1403     free to send an email to the busybox mailing list.
1404
1405     <p>
1406
1407     The <a href="downloads/Changelog">changelog</a> has all
1408     the details.  And as usual you can
1409     <a href="downloads">download busybox here</a>.
1410
1411     <p>Have Fun!
1412
1413
1414
1415   <p>
1416   <li><b>12 Sept 2003 -- BusyBox 1.0.0-pre3 released</b><p>
1417
1418     Here goes the third pre-release for the new BusyBox stable
1419     series.  The last prerelease has held up quite well under
1420     testing, but a number of problems have turned up as the number
1421     of people using it has increased.  Thanks everyone for all
1422     the testing, bug reports, and patches!
1423
1424     <p>
1425
1426     If you have submitted a patch or a bug report to the busybox
1427     mailing list and no one has emailed you explaining why your
1428     patch was rejected, it is safe to say that your patch has
1429     somehow gotten lost or forgotten.  That happens sometimes.
1430     Please re-submit your patch or bug report to the BusyBox
1431     mailing list!
1432
1433     <p>
1434
1435     The point of the "-preX" versions is to get a larger group of
1436     people and vendors testing, so any problems that turn up can be
1437     fixed prior to the final 1.0.0 release.  The main feature
1438     (besides additional testing) that is still still on the TODO
1439     list before the final BusyBox 1.0.0 release is sorting out the
1440     modutils issues.  For the new 2.6.x kernels, we already have
1441     patches adding insmod and rmmod support and those need to be
1442     integrated.  For 2.4.x kernels, for which busybox only supports
1443     a limited number of architectures, we may want to invest a bit
1444     more work before we cut 1.0.0.  Or we may just leave 2.4.x
1445     module loading alone.
1446
1447     <p>
1448
1449     I had hoped this release would be out a month ago.  And of
1450     course, it wasn't since Erik became busy getting a release of
1451     <a href="http://www.uclibc.org/">uClibc</a>
1452     out the door.  Many thanks to Glenn McGrath (bug1) for
1453     stepping in and helping get a bunch of patches merged!  I am
1454     not even going to state a date for releasing BusyBox 1.0.0
1455     -pre4 (or the final 1.0.0).  We're aiming for late September...
1456     But if this release proves as to be exceptionally stable (or
1457     exceptionally unstable!), the next release may be very soon
1458     indeed.
1459
1460     <p>
1461
1462     The <a href="downloads/Changelog">changelog</a> has all
1463     the details.  And as usual you can
1464     <a href="downloads">download busybox here</a>.
1465
1466     <p>Have Fun!
1467
1468
1469     <p>
1470     <li><b>30 July 2003 -- BusyBox 1.0.0-pre2 released</b><p>
1471
1472     Here goes another pre release for the new BusyBox stable
1473     series.  The last prerelease (pre1) was given quite a lot of
1474     testing (thanks everyone!) which has helped turn up a number of
1475     bugs, and these problems have now been fixed.
1476
1477     <p>
1478
1479     Highlights of -pre2 include updating the 'ash' shell to sync up
1480     with the Debian 'dash' shell, a new 'hdparm' applet was added,
1481     init again supports pivot_root,  The 'reboot' 'halt' and
1482     'poweroff' applets can now be used without using busybox init.
1483     an ifconfig buffer overflow was fixed, losetup now allows
1484     read-write loop devices, uClinux daemon support was added, the
1485     'watchdog', 'fdisk', and 'kill' applets were rewritten, there were
1486     tons of doc updates, and there were many other bugs fixed.
1487     <p>
1488
1489     If you have submitted a patch and it is not included in this
1490     release and Erik has not emailed you explaining why your patch
1491     was rejected, it is safe to say that he has lost your patch.
1492     That happens sometimes.   Please re-submit your patch to the
1493     BusyBox mailing list.
1494     <p>
1495
1496     The point of the "-preX" versions is to get a larger group of
1497     people and vendors testing, so any problems that turn up can be
1498     fixed prior to the final 1.0.0 release.  The main feature that
1499     is still still on the TODO list before the final BusyBox 1.0.0
1500     release is adding module support for the new 2.6.x kernels.  If
1501     necessary, a -pre3 BusyBox release will happen on August 6th.
1502     Hopefully (i.e.  unless some horrible catastrophic problem
1503             turns up) the final BusyBox 1.0.0 release will be ready by
1504     then...
1505     <p>
1506
1507     The <a href="downloads/Changelog">changelog</a> has all
1508     the details.  As usual you can <a href="downloads">download busybox here</a>.
1509
1510     <p>Have Fun!
1511     <p>
1512
1513     <p>
1514   <li><b>15 July 2003 -- BusyBox 1.0.0-pre1 released</b><p>
1515
1516     The busybox development series has been under construction for
1517     nearly two years now.  Which is just entirely too long...  So
1518     it is with great pleasure that I announce the imminent release
1519     of a new stable series.  Due to the huge number of changes
1520     since the last stable release (and the usual mindless version
1521     number inflation) I am branding this new stable series verison
1522     1.0.x...
1523     <p>
1524
1525     The point of "-preX" versions is to get a larger group of
1526     people and vendors testing, so any problems that turn up can be
1527     fixed prior to the magic 1.0.0 release (which should happen
1528     later this month)...  I plan to release BusyBox 1.0.0-pre2 next
1529     Monday (July 21st), and, if necessary, -pre3 on July 28th.
1530     Hopefully (i.e. unless some horrible catastrophic problem turns
1531     up) the final BusyBox 1.0.0 release should be ready by the end
1532     of July.
1533     <p>
1534
1535     If you have submitted patches, and they are not in this release
1536     and I have not emailed you explaining why your patch was
1537     rejected, it is safe to say that I have lost your patch.  That
1538     happens sometimes.  Please do <b>NOT</b> send all your patches,
1539     support questions, etc, directly to Erik.  I get hundreds of
1540     emails every day (which is why I end up losing patches
1541     sometimes in the flood)...  The busybox mailing list is the
1542     right place to send your patches, support questions, etc.
1543     <p>
1544
1545     I would like to especially thank Vladimir Oleynik (vodz), Glenn
1546     McGrath (bug1), Robert Griebl (sandman), and Manuel Novoa III
1547     (mjn3) for their significant efforts and contributions that
1548     have made this release possible.
1549     <p>
1550
1551     As usual you can <a href="downloads">download busybox here</a>.
1552     You don't really need to bother with the
1553     <a href="downloads/Changelog">changelog</a>, as the changes
1554     vs the stable version are way too extensive to easily enumerate.
1555     But you can take a look if you really want too.
1556
1557     <p>Have Fun!
1558     <p>
1559
1560
1561
1562   <p>
1563   <li><b>26 October 2002 -- BusyBox 0.60.5 released</b><p>
1564
1565     I am very pleased to announce that the BusyBox 0.60.5 (stable)
1566     is now available for download.  This is a bugfix release for
1567     the stable series to address all the problems that have turned
1568     up since the last release.  Unfortunately, the previous release
1569     had a few nasty bugs (i.e. init could deadlock, gunzip -c tried
1570     to delete source files, cp -a wouldn't copy symlinks, and init
1571     was not always providing controlling ttys when it should have).
1572     I know I said that the previous release would be the end of the
1573     0.60.x series.  Well, it turns out I'm a liar.  But this time I
1574     mean it (just like last time ;-).  This will be the last
1575     release for the 0.60.x series --  all further development work
1576     will be done for the development busybox tree.  Expect the development
1577     version to have its first real release very very soon now...
1578
1579     <p>
1580     The <a href="downloads/Changelog.full">changelog</a> has all
1581     the details.  As usual you can <a href="downloads">download busybox here</a>.
1582     <p>Have Fun!
1583     <p>
1584
1585   <p>
1586   <li><b>18 September 2002 -- BusyBox 0.60.4 released</b><p>
1587
1588     I am very pleased to announce that the BusyBox 0.60.4
1589     (stable) is now available for download.  This is primarily
1590     a bugfix release for the stable series to address all
1591     the problems that have turned up since the last
1592     release.  This will be the last release for the 0.60.x series.
1593     I mean it this time --  all further development work will be done
1594     on the development busybox tree, which is quite solid now and
1595     should soon be getting its first real release.
1596
1597     <p>
1598     The <a href="downloads/Changelog.full">changelog</a> has all
1599     the details.  As usual you can <a href="downloads">download busybox here</a>.
1600     <p>Have Fun!
1601     <p>
1602
1603
1604   <p>
1605   <li><b>27 April 2002 -- BusyBox 0.60.3 released</b><p>
1606
1607     I am very pleased to announce that the BusyBox 0.60.3 (stable) is
1608     now available for download.  This is primarily a bugfix release
1609     for the stable series.  A number of problems have turned up since
1610     the last release, and this should address most of those problems.
1611     This should be the last release for the 0.60.x series.  The
1612     development busybox tree has been progressing nicely, and will
1613     hopefully be ready to become the next stable release.
1614
1615     <p>
1616     The <a href="downloads/Changelog">changelog</a> has all
1617     the details.  As usual you can <a href="downloads">download busybox here</a>.
1618     <p>Have Fun!
1619     <p>
1620
1621
1622   <p>
1623   <li><b>6 March 2002 -- busybox.net now has mirrors!</b><p>
1624
1625     Busybox.net is now much more available, thanks to
1626     the fine folks at <a href="http://i-netinnovations.com/">http://i-netinnovations.com/</a>
1627     who are providing hosting for busybox.net and
1628     uclibc.org.  In addition, we now have two mirrors:
1629     <a href="http://busybox.linuxmagic.com/">http://busybox.linuxmagic.com/</a>
1630     in Canada and
1631     <a href="http://busybox.csservers.de/">http://busybox.csservers.de/</a>
1632     in Germany.  I hope this makes things much more
1633     accessible for everyone!
1634
1635
1636 <li>
1637 <b>3 January 2002 -- Welcome to busybox.net!</b>
1638
1639 <p>Thanks to the generosity of a number of busybox
1640 users, we have been able to purchase busybox.net
1641 (which is where you are probably reading this).
1642 Right now, busybox.net and uclibc.org are both
1643 living on my home system (at the end of my DSL
1644 line). I apologize for the abrupt move off of
1645 busybox.lineo.com. Unfortunately, I no longer have
1646 the access needed to keep that system updated (for
1647 example, you might notice the daily snapshots there
1648 stopped some time ago).</p>
1649
1650 <p>Busybox.net is currently hosted on my home
1651 server, at the end of a DSL line. Unfortunately,
1652 the load on them is quite heavy. To address this,
1653 I'm trying to make arrangements to get busybox.net
1654 co-located directly at an ISP. To assist in the
1655 co-location effort, <a href=
1656 "http://www.codepoet.org/~markw">Mark Whitley</a>
1657 (author of busybox sed, cut, and grep) has donated
1658 his <a href=
1659 "http://www.netwinder.org/">NetWinder</a> computer
1660 for hosting busybox.net and uclibc.org. Once this
1661 system is co-located, the current speed problems
1662 should be completely eliminated. Hopefully, too,
1663 some of you will volunteer to set up some mirror
1664 sites, to help to distribute the load a bit.</p>
1665
1666 <p><!--
1667     <center>
1668     Click here to help support busybox.net!
1669     <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
1670     <input type="hidden" name="cmd" value="_xclick">
1671     <input type="hidden" name="business" value="andersen@codepoet.org">
1672     <input type="hidden" name="item_name" value="Support Busybox">
1673     <input type="hidden" name="image_url" value="https://codepoet-consulting.com/images/busybox2.jpg">
1674     <input type="hidden" name="no_shipping" value="1">
1675     <input type="image" src="images/donate.png" border="0" name="submit" alt="Make donation using PayPal">
1676     </form>
1677     </center>
1678     -->
1679  Since some people expressed concern over BusyBox
1680 donations, let me assure you that no one is getting
1681 rich here. All BusyBox and uClibc donations will be
1682 spent paying for bandwidth and needed hardware
1683 upgrades. For example, Mark's NetWinder currently
1684 has just 64Meg of memory. As demonstrated when
1685 google spidered the site the other day, 64 Megs in
1686 not enough, so I'm going to be ordering 256Megs of
1687 ram and a larger hard drive for the box today. So
1688 far, donations received have been sufficient to
1689 cover almost all expenses. In the future, we may
1690 have co-location fees to worry about, but for now
1691 we are ok. A <b>HUGE thank-you</b> goes out to
1692 everyone that has contributed!<br>
1693  -Erik</p>
1694 </li>
1695
1696 <li>
1697 <b>20 November 2001 -- BusyBox 0.60.2 released</b>
1698
1699 <p>We am very pleased to announce that the BusyBox
1700 0.60.2 (stable) is now released to the world. This
1701 one is primarily a bugfix release for the stable
1702 series, and it should take care of most everyone's
1703 needs till we can get the nice new stuff we have
1704 been working on in CVS ready to release (with the
1705 wonderful new buildsystem). The biggest change in
1706 this release (beyond bugfixes) is the fact that msh
1707 (the minix shell) has been re-worked by Vladimir N.
1708 Oleynik (vodz) and so it no longer crashes when
1709 told to do complex things with backticks.</p>
1710
1711 <p>This release has been tested on x86, ARM, and
1712 powerpc using glibc 2.2.4, libc5, and uClibc, so it
1713 should work with just about any Linux system you
1714 throw it at. See the <a href=
1715 "downloads/Changelog">changelog</a> for <small>most
1716 of</small> the details. The last release was
1717 <em>very</em> solid for people, and this one should
1718 be even better.</p>
1719
1720 <p>As usual BusyBox 0.60.2 can be downloaded from
1721 <a href=
1722 "downloads">http://www.busybox.net/downloads</a>.</p>
1723
1724 <p>Have Fun.<br>
1725  -Erik</p>
1726 </li>
1727
1728 <li> <b>18 November 2001 -- Help us buy busybox.net!</b>
1729
1730 <!-- Begin PayPal Logo -->
1731 <center>
1732 Click here to help buy busybox.net!
1733 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
1734 <input type="hidden" name="cmd" value="_xclick">
1735 <input type="hidden" name="business" value="andersen@codepoet.org">
1736 <input type="hidden" name="item_name" value="Support Busybox">
1737 <input type="hidden" name="image_url" value="https://busybox.net/images/busybox2.jpg">
1738 <input type="hidden" name="no_shipping" value="1">
1739 <input type="image" src="images/donate.png" name="submit" alt="Make donation using PayPal">
1740 </form>
1741 </center>
1742 <!-- End PayPal Logo -->
1743
1744 I've contacted the current owner of busybox.net and he is willing
1745 to sell the domain name -- for $250.  He also owns busybox.org but
1746 will not part with it...  I will then need to pay the registry fee
1747 for a couple of years and start paying for bandwidth, so this will
1748 initially cost about $300.  I would like to host busybox.net on my
1749 home machine (codepoet.org) so I have full control over the system,
1750 but to do that would require that I increase the level of bandwidth
1751 I am paying for.  Did you know that so far this month, there
1752 have been over 1.4 Gigabytes of busybox ftp downloads?  I don't
1753 even <em>know</em> how much CVS bandwidth it requires.  For the
1754 time being, Lineo has continued to graciously provide this
1755 bandwidth, despite the fact that I no longer work for them.  If I
1756 start running this all on my home machine, paying for the needed bandwidth
1757 will start costing some money.
1758 <p>
1759
1760 I was going to pay it all myself, but my wife didn't like that
1761 idea at all (big surprise).   It turns out &lt;insert argument
1762 where she wins and I don't&gt; she has better ideas
1763 about what we should spend our money on that don't involve
1764 busybox.  She suggested I should ask for contributions on the
1765 mailing list and web page.  So...
1766 <p>
1767
1768 I am hoping that if everyone could contribute a bit, we could pick
1769 up the busybox.net domain name and cover the bandwidth costs.  I
1770 know that busybox is being used by a lot of companies as well as
1771 individuals -- hopefully people and companies that are willing to
1772 contribute back a bit.  So if everyone could please help out, that
1773 would be wonderful!
1774 <p>
1775
1776
1777 <li> <b>23 August 2001 -- BusyBox 0.60.1 released</b>
1778 <br>
1779
1780      This is a relatively minor bug fixing release that fixes
1781      up the bugs that have shown up in the stable release in
1782      the last few weeks.  Fortunately, nothing <em>too</em>
1783      serious has shown up.  This release only fixes bugs -- no
1784      new features, no new applets.  So without further ado,
1785      here it is.  Come and get it.
1786      <p>
1787      The
1788      <a href="downloads/Changelog">changelog</a> has all
1789      the details.  As usual BusyBox 0.60.1 can be downloaded from
1790      <a href="downloads">http://busybox.net/downloads</a>.
1791      <p>Have Fun!
1792      <p>
1793
1794
1795 <li> <b>2 August 2001 -- BusyBox 0.60.0 released</b>
1796 <br>
1797      I am very pleased to announce the immediate availability of
1798      BusyBox 0.60.0.  I have personally tested this release with libc5, glibc,
1799      and <a href="http://uclibc.org/">uClibc</a> on
1800      x86, ARM, and powerpc using linux 2.2 and 2.4, and I know a number
1801      of people using it on everything from ia64 to m68k with great success.
1802      Everything seems to be working very nicely now, so getting a nice
1803      stable bug-free(tm) release out seems to be in order.   This releases fixes
1804      a memory leak in syslogd, a number of bugs in the ash and msh shells, and
1805      cleans up a number of things.
1806
1807      <p>
1808
1809      Those wanting an easy way to test the 0.60.0 release with uClibc can
1810      use <a href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a>
1811      to give it a try by downloading and compiling
1812      <a href="ftp://busybox.net/buildroot.tar.gz">buildroot.tar.gz</a>.
1813      You don't have to be root or reboot your machine to run test this way.
1814      Preconfigured User-Mode Linux kernel source is also on busybox.net.
1815      <p>
1816      Another cool thing is the nifty <a href="downloads/tutorial/index.html">
1817      BusyBox Tutorial</a> contributed by K Computing.  This requires
1818      a ShockWave plugin (or standalone viewer), so you may want to grab the
1819      the GPLed shockwave viewer from <a href="http://www.swift-tools.com/Flash/flash-0.4.10.tgz">here</a>
1820      to view the tutorial.
1821      <p>
1822
1823      Finally, In case you didn't notice anything odd about the
1824      version number of this release, let me point out that this release
1825      is <em>not</em> 0.53, because I bumped the version number up a
1826      bit.  This reflects the fact that this release is intended to form
1827      a new stable BusyBox release series.  If you need to rely on a
1828      stable version of BusyBox, you should plan on using the stable
1829      0.60.x series.  If bugs show up then I will release 0.60.1, then
1830      0.60.2, etc...  This is also intended to deal with the fact that
1831      the BusyBox build system will be getting a major overhaul for the
1832      next release and I don't want that to break products that people
1833      are shipping.  To avoid that, the new build system will be
1834      released as part of a new BusyBox development series that will
1835      have some not-yet-decided-on odd version number.  Once things
1836      stabilize and the new build system is working for everyone, then
1837      I will release that as a new stable release series.
1838
1839      <p>
1840      The
1841      <a href="downloads/Changelog">changelog</a> has all
1842      the details.  As usual BusyBox 0.60.0 can be downloaded from
1843      <a href="downloads">http://busybox.net/downloads</a>.
1844      <p>Have Fun!
1845      <p>
1846
1847
1848 <li> <b>7 July 2001 -- BusyBox 0.52 released</b>
1849 <br>
1850
1851      I am very pleased to announce the immediate availability of
1852      BusyBox 0.52 (the "new-and-improved rock-solid release").  This
1853      release is the result of <em>many</em> hours of work and has tons
1854      of bugfixes, optimizations, and cleanups.  This release adds
1855      several new applets, including several new shells (such as hush, msh,
1856      and ash).
1857
1858      <p>
1859      The
1860      <a href="downloads/Changelog">changelog</a> covers
1861      some of the more obvious details, but there are many many things that
1862      are not mentioned, but have been improved in subtle ways.  As usual,
1863      BusyBox 0.52 can be downloaded from
1864      <a href="downloads">http://busybox.net/downloads</a>.
1865      <p>Have Fun!
1866      <p>
1867
1868
1869 <li> <b>10 April 2001 - Graph of Busybox Growth </b>
1870 <br>
1871 The illustrious Larry Doolittle has made a PostScript chart of the growth
1872 of the Busybox tarball size over time. It is available for downloading /
1873 viewing <a href="busybox-growth.ps"> right here</a>.
1874
1875 <p> (Note that while the number of applets in Busybox has increased, you
1876 can still configure Busybox to be as small as you want by selectively
1877 turning off whichever applets you don't need.)
1878 <p>
1879
1880
1881 <li> <b>10 April 2001 -- BusyBox 0.51 released</b>
1882 <br>
1883
1884      BusyBox 0.51 (the "rock-solid release") is now out there.  This
1885      release adds only 2 new applets: env and vi.  The vi applet,
1886      contributed by Sterling Huxley, is very functional, and is only
1887      22k.  This release fixes 3 critical bugs in the 0.50 release.
1888      There were 2 potential segfaults in lash (the busybox shell) in
1889      the 0.50 release which are now fixed.  Another critical bug in
1890      0.50 which is now fixed: syslogd from 0.50 could potentially
1891      deadlock the init process and thereby break your entire system.
1892      <p>
1893
1894      There are a number of improvements in this release as well.  For
1895      one thing, the wget applet is greatly improved.  Dmitry Zakharov
1896      added FTP support, and Laurence Anderson make wget fully RFC
1897      compliant for HTTP 1.1.  The mechanism for including utility
1898      functions in previous releases was clumsy and error prone.  Now
1899      all utility functions are part of a new libbb library, which makes
1900      maintaining utility functions much simpler.  And BusyBox now
1901      compiles on itanium systems (thanks to the Debian itanium porters
1902      for letting me use their system!).
1903      <p>
1904      You can read the
1905      <a href="downloads/Changelog">changelog</a> for
1906      complete details.  BusyBox 0.51 can be downloaded from
1907      <a href="downloads">http://busybox.net/downloads</a>.
1908      <p>Have Fun!
1909      <p>
1910
1911 <li> <b>Busybox Boot-Floppy Image</b>
1912
1913 <p>Because you asked for it, we have made available a <a href=
1914 "downloads/busybox.floppy.img"> Busybox boot floppy
1915 image</a>. Here's how you use it:
1916
1917 <ol>
1918
1919     <li> <a href="downloads/busybox.floppy.img">
1920     Download the image</a>
1921
1922     <li> dd it onto a floppy like so: <tt> dd if=busybox.floppy.img
1923     of=/dev/fd0 ; sync </tt>
1924
1925     <li> Pop it in a machine and boot up.
1926
1927 </ol>
1928
1929 <p> If you want to look at the contents of the initrd image, do this:
1930
1931 <pre>
1932     mount ./busybox.floppy.img /mnt -o loop -t msdos
1933     cp /mnt/initrd.gz /tmp
1934     umount /mnt
1935     gunzip /tmp/initrd.gz
1936     mount /tmp/initrd /mnt -o loop -t minix
1937 </pre>
1938
1939
1940 <li> <b>15 March 2001 -- BusyBox 0.50 released</b>
1941 <br>
1942
1943      This release adds several new applets including ifconfig, route, pivot_root, stty,
1944      and tftp, and also fixes tons of bugs.  Tab completion in the
1945      shell is now working very well, and the shell's environment variable
1946      expansion was fixed.   Tons of other things were fixed or made
1947      smaller.  For a fairly complete overview, see the
1948      <a href="downloads/Changelog">changelog</a>.
1949      <p>
1950      lash (the busybox shell) is still with us, fixed up a bit so it
1951      now behaves itself quite nicely.  It really is quite usable as
1952      long as you don't expect it to provide Bourne shell grammer.
1953      Standard things like pipes, redirects, command line editing, and
1954      environment variable expansion work great.  But we have found that
1955      this shell, while very usable, does not provide an extensible
1956      framework for adding in full Bourne shell behavior.  So the first order of
1957      business as we begin working on the next BusyBox release will be to merge in the new shell
1958      currently in progress at
1959      <a href="http://doolittle.faludi.com/~larry/parser.html">Larry Doolittle's website</a>.
1960      <p>
1961
1962
1963 <li> <b>27 January 2001 -- BusyBox 0.49 released</b>
1964 <br>
1965
1966      Several new applets, lots of bug fixes, cleanups, and many smaller
1967      things made nicer.  Several cleanups and improvements to the shell.
1968      For a list of the most interesting changes
1969      you might want to look at the <a href="downloads/Changelog">changelog</a>.
1970      <p>
1971      Special thanks go out to Matt Kraai and Larry Doolittle for all their
1972      work on this release, and for keeping on top of things while I've been
1973      out of town.
1974      <p>
1975      <em>Special Note</em><br>
1976
1977      BusyBox 0.49 was supposed to have replaced lash, the BusyBox
1978      shell, with a new shell that understands full Bourne shell/Posix shell grammer.
1979      Well, that simply didn't happen in time for this release.  A new
1980      shell that will eventually replace lash is already under
1981      construction.  This new shell is being developed by Larry
1982      Doolittle, and could use all of our help.  Please see the work in
1983      progress on <a href="http://doolittle.faludi.com/~larry/parser.html">Larry's website</a>
1984      and help out if you can.  This shell will be included in the next
1985      release of BusyBox.
1986      <p>
1987
1988 <li> <b>13 December 2000 -- BusyBox 0.48 released</b>
1989 <br>
1990
1991      This release fixes lots and lots of bugs.  This has had some very
1992      rigorous testing, and looks very, very clean.  The usual tar
1993      update of course: tar no longer breaks hardlinks, tar -xzf is
1994      optionally supported, and the LRP folks will be pleased to know
1995      that 'tar -X' and 'tar --exclude' are both now in.  Applets are
1996      now looked up using a binary search making lash (the busybox
1997      shell) much faster.  For the new debian-installer (for Debian
1998      woody) a .udeb can now be generated.
1999      <p>
2000      The curious can get a list of some of the more interesting changes by reading
2001      the <a href="downloads/Changelog">changelog</a>.
2002      <p>
2003      Many thanks go out to the many many people that have contributed to
2004      this release, especially Matt Kraai, Larry Doolittle, and Kent Robotti.
2005      <p>
2006 <p> <li> <b>26 September 2000 -- BusyBox 0.47 released</b>
2007 <br>
2008
2009      This release fixes lots of bugs (including an ugly bug in 0.46
2010      syslogd that could fork-bomb your system).  Added several new
2011      apps: rdate, wget, getopt, dos2unix, unix2dos, reset, unrpm,
2012      renice, xargs, and expr.  syslogd now supports network logging.
2013      There are the usual tar updates.  Most apps now use getopt for
2014      more correct option parsing.
2015      See the <a href="downloads/Changelog">changelog</a>
2016      for complete details.
2017
2018
2019 <p> <li> <b>11 July 2000 -- BusyBox 0.46 released</b>
2020 <br>
2021
2022      This release fixes several bugs (including a ugly bug in tar,
2023      and fixes for NFSv3 mount support).  Added a dumpkmap to allow
2024      people to dump a binary keymaps for use with 'loadkmap', and a
2025      completely reworked 'grep' and 'sed' which should behave better.
2026      BusyBox shell can now also be used as a login shell.
2027      See the <a href="downloads/Changelog">changelog</a>
2028      for complete details.
2029
2030
2031 <p> <li> <b>21 June 2000 -- BusyBox 0.45 released</b>
2032 <br>
2033
2034      This release has been slow in coming, but is very solid at this
2035      point.  BusyBox now supports libc5 as well as GNU libc.  This
2036      release provides the following new apps: cut, tr, insmod, ar,
2037      mktemp, setkeycodes, md5sum, uuencode, uudecode, which, and
2038      telnet.  There are bug fixes for just about every app as well (see
2039      the <a href="downloads/Changelog">changelog</a> for
2040      details).
2041      <p>
2042      Also, some exciting infrastructure news!  Busybox now has its own
2043      <a href="lists/busybox/">mailing list</a>,
2044      publically browsable
2045      <a href="/cgi-bin/viewcvs.cgi/trunk/busybox/">CVS tree</a>,
2046      anonymous
2047      <a href="cvs_anon.html">CVS access</a>, and
2048      for those that are actively contributing there is even
2049      <a href="cvs_write.html">CVS write access</a>.
2050      I think this will be a huge help to the ongoing development of BusyBox.
2051      <p>
2052      Also, for the curious, there is no 0.44 release.  Somehow 0.44 got announced
2053      a few weeks ago prior to its actually being released.  To avoid any confusion
2054      we are just skipping 0.44.
2055      <p>
2056      Many thanks go out to the many people that have contributed to this release
2057      of BusyBox (esp. Pavel Roskin)!
2058
2059
2060 <p> <li> <b>19 April 2000 -- syslogd bugfix</b>
2061 <br>
2062 Turns out that there was still a bug in busybox syslogd.
2063 For example, with the following test app:
2064 <pre>
2065 #include &lt;syslog.h&gt;
2066
2067 int do_log(char* msg, int delay)
2068 {
2069     openlog("testlog", LOG_PID, LOG_DAEMON);
2070     while(1) {
2071         syslog(LOG_ERR, "%s: testing one, two, three\n", msg);
2072         sleep(delay);
2073     }
2074     closelog();
2075     return(0);
2076 };
2077
2078 int main(void)
2079 {
2080     if (fork()==0)
2081         do_log("A", 2);
2082     do_log("B", 3);
2083 }
2084 </pre>
2085 it should be logging stuff from both "A" and "B".  As released in 0.43 only stuff
2086 from "A" would have been logged.  This means that if init tries to log something
2087 while say ppp has the syslog open, init would block (which is bad, bad, bad).
2088 <p>
2089 Karl M. Hegbloom has created a fix for the problem.
2090 Thanks Karl!
2091
2092
2093 <p> <li> <b>18 April 2000 -- BusyBox 0.43 released (finally!)</b>
2094 <br>
2095 I have finally gotten everything into a state where I feel pretty
2096 good about things.  This is definitely the most stable, solid release
2097 so far.  A lot of bugs have been fixed, and the following new apps
2098 have been added: sh, basename, dirname, killall, uptime,
2099 freeramdisk, tr, echo, test, and usleep.  Tar has been completely
2100 rewritten from scratch.  Bss size has also been greatly reduced.
2101 More details are available in the
2102 <a href="downloads/Changelog">changelog</a>.
2103 Oh, and as a special bonus, I wrote some fairly comprehensive
2104 <em>documentation</em>, complete with examples and full usage information.
2105
2106 <p>
2107 Many thanks go out to the fine people that have helped by submitting patches
2108 and bug reports; particularly instrumental in helping for this release were
2109 Karl Hegbloom, Pavel Roskin, Friedrich Vedder, Emanuele Caratti,
2110 Bob Tinsley, Nicolas Pitre, Avery Pennarun, Arne Bernin, John Beppu, and Jim Gleason.
2111 There were others so if I somehow forgot to mention you, I'm very sorry.
2112 <p>
2113
2114 You can grab BusyBox 0.43 tarballs <a href="downloads">here</a>.
2115
2116 <p> <li> <b>9 April 2000 -- BusyBox 0.43 pre release</b>
2117 <br>
2118 Unfortunately, I have not yet finished all the things I want to
2119 do for BusyBox 0.43, so I am posting this pre-release for people
2120 to poke at.  This contains my complete rewrite of tar, which now weighs in at
2121 5k (7k with all options turned on) and works for reading and writing
2122 tarballs (which it does correctly for everything I have been able to throw
2123 at it).  Tar also (optionally) supports the "--exclude" option (mainly because
2124 the Linux Router Project folks asked for it).  This also has a pre-release
2125 of the micro shell I have been writing.  This pre-release should be stable
2126 enough for production use -- it just isn't a release since I have some structural
2127 changes I still want to make.
2128 <p>
2129 The pre-release can be found <a href="downloads">here</a>.
2130 Please let me know ASAP if you find <em>any</em> bugs.
2131
2132 <p> <li> <b>28 March 2000 -- Andersen Baby Boy release</b>
2133 <br>
2134 I am pleased to announce that on Tuesday March 28th at 5:48pm, weighing in at 7
2135 lbs. 12 oz, Micah Erik Andersen was born at LDS Hospital here in Salt Lake City.
2136 He was born in the emergency room less then 5 minutes after we arrived -- and
2137 it was such a relief that we even made it to the hospital at all.  Despite the
2138 fact that I was driving at an amazingly unlawful speed and honking at everybody
2139 and thinking decidedly unkind thoughts about the people in our way, my wife
2140 (inconsiderate of my feelings and complete lack of medical training) was lying
2141 down in the back seat saying things like "I think I need to start pushing now"
2142 (which she then proceeded to do despite my best encouraging statements to the
2143 contrary).
2144 <p>
2145 Anyway, I'm glad to note that despite the much-faster-than-we-were-expecting
2146 labor, both Shaunalei and our new baby boy are doing wonderfully.
2147 <p>
2148 So now that I am done with my excuse for the slow release cycle...
2149 Progress on the next release of BusyBox has been slow but steady.  I expect
2150 to have a release sometime during the first week of April.  This release will
2151 include a number of important changes, including the addition of a shell, a
2152 re-write of tar (to accommodate the Linux Router Project), and syslogd can now
2153 accept multiple concurrent connections, fixing lots of unexpected blocking
2154 problems.
2155
2156
2157 <p> <li> <b>11 February 2000 -- BusyBox 0.42 released</b>
2158 <br>
2159
2160      This is the most solid BusyBox release so far.  Many, many
2161         bugs have been fixed.   See the
2162         <a href="downloads/Changelog">changelog</a> for details.
2163
2164         Of particular interest, init will now cleanly unmount
2165         filesystems on reboot, cp and mv have been rewritten and
2166         behave much better, and mount and umount no longer leak
2167         loop devices.  Many thanks go out to Randolph Chung,
2168         Karl M. Hegbloom, Taketoshi Sano, and Pavel Roskin for
2169         their hard work on this release of BusyBox.  Please pound
2170         on it and let me know if you find any bugs.
2171
2172 <p> <li> <b>19 January 2000 -- BusyBox 0.41 released</b>
2173 <br>
2174
2175      This release includes bugfixes to cp, mv, logger, true, false,
2176         mkdir, syslogd, and init.  New apps include wc, hostid,
2177         logname, tty, whoami, and yes.  New features include loop device
2178         support in mount and umount, and better TERM handling by init.
2179         The changelog can be found <a href="downloads/Changelog">here</a>.
2180
2181 <p> <li> <b>7 January 2000 -- BusyBox 0.40 released</b>
2182 <br>
2183
2184      This release includes bugfixes to init (now includes inittab support),
2185      syslogd, head, logger, du, grep, cp, mv, sed, dmesg, ls, kill, gunzip, and mknod.
2186      New apps include sort, uniq, lsmod, rmmod, fbset, and loadacm.
2187      In particular, this release fixes an important bug in tar which
2188      in some cases produced serious security problems.
2189      As always, the changelog can be found <a href="downloads/Changelog">here</a>.
2190
2191 <p> <li> <b>11 December 1999 -- BusyBox Website</b>
2192 <br>
2193      I have received permission from Bruce Perens (the original author of BusyBox)
2194         to set up this site as the new primary website for BusyBox.  This website
2195         will always contain pointers to the latest and greatest, and will also
2196         contain the latest documentation on how to use BusyBox, what it can do,
2197         what arguments its apps support, etc.
2198
2199 <p> <li> <b>10 December 1999 -- BusyBox 0.39 released</b>
2200 <br>
2201      This release includes fixes to init, reboot, halt, kill, and ls, and contains
2202      the new apps ping, hostname, mkfifo, free, tail, du, tee, and head.  A full
2203      changelog can be found <a href="downloads/Changelog">here</a>.
2204 <p> <li> <b>5 December 1999 -- BusyBox 0.38 released</b>
2205 <br>
2206      This release includes fixes to tar, cat, ls, dd, rm, umount, find, df,
2207         and make install, and includes new apps syslogd/klogd and logger.
2208
2209
2210 </ul>
2211
2212
2213 <!--#include file="footer.html" -->
2214