website: announce stable point releases
[oweals/busybox.git] / docs / busybox.net / news.html
1 <!--#include file="header.html" -->
2
3 <ul>
4 <!--#include file="header.html" -->
5
6 <ul>
7   <li><b>21 March 2008 -- BusyBox stable releases</b>
8     <p>
9     Bugfix-only releases for four past brances. Links to locations
10     for future hot patches are in parenthesis.
11     <p>
12     <a href=http://busybox.net/downloads/busybox-1.9.2.tar.bz2>1.9.2</a>
13     (<a href=http://busybox.net/downloads/fixes-1.9.2/>patches</a>),
14     <a href=http://busybox.net/downloads/busybox-1.8.3.tar.bz2>1.8.3</a>
15     (<a href=http://busybox.net/downloads/fixes-1.8.3/>patches</a>),
16     <a href=http://busybox.net/downloads/busybox-1.7.5.tar.bz2>1.7.5</a>
17     (<a href=http://busybox.net/downloads/fixes-1.7.5/>patches</a>),
18     <a href=http://busybox.net/downloads/busybox-1.5.2.tar.bz2>1.5.2</a>
19     (<a href=http://busybox.net/downloads/fixes-1.5.2/>patches</a>).
20     <p>
21     <a href=http://busybox.net/fix.html>How to add a patch.</a>
22     <p>
23     <a href=http://busybox.net/~vda/HOWTO_bbox_with_uclibc.txt>How to build static busybox against uclibc</a>
24     <p>
25     The email address gpl@busybox.net is the recommended way to contact
26     the Software Freedom Law Center to report BusyBox license violations.</p>
27
28   <li><b>12 February 2008 -- BusyBox 1.9.1 (stable)</b>
29     <p><a href=http://busybox.net/downloads/busybox-1.9.1.tar.bz2>BusyBox 1.9.1</a>.
30     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_9_stable/>svn</a>,
31     <a href=http://busybox.net/downloads/fixes-1.9.1/>patches</a>,
32     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
33
34     <p>This is a bugfix-only release, with fixes to fsck,
35     iproute, mdev, mkswap, msh, nameif, stty, test, zcip.</p>
36     <p>hush has `command` expansion re-enabled for NOMMU, although it is
37     inherently unsafe (by virtue of NOMMU's use of vfork instead of fork).
38     The plan is to make this less likely to bite people in future versions.</p>
39   </li>
40
41   <li><b>24 December 2007 -- BusyBox 1.9.0 (unstable)</b>
42     <p><a href=http://busybox.net/downloads/busybox-1.9.0.tar.bz2>BusyBox 1.9.0</a>.
43     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_9_stable/>svn</a>,
44     <a href=http://busybox.net/downloads/fixes-1.9.0/>patches</a>,
45     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
46
47     <p>Sizes of busybox-1.8.2 and busybox-1.9.0 (with almost full config, static uclibc build):<pre>
48    text    data     bss     dec     hex filename
49  792796     978    9724  803498   c42aa busybox-1.8.2
50  783803     683    7508  791994   c15ba busybox-1.9.0
51 </pre>
52     <p>Top 10 stack users:<pre>
53 busybox-1.8.2:               busybox-1.9.0:
54 input_tab             10428  echo_dg                4116
55 umount_main            8252  bb_full_fd_action      4112
56 rtnl_talk              8240  discard_dg             4096
57 xrtnl_dump_filter      8240  echo_stream            4096
58 sendMTFValues          5316  discard_stream         4096
59 mainSort               4700  find_list_entry2       4096
60 mkfs_minix_main        4288  readlink_main          4096
61 grave                  4260  ipaddr_list_or_flush   3900
62 unix_do_one            4156  iproute_list_or_flush  3680
63 parse_prompt           4132  insmod_main            3152
64 </pre>
65
66     <p>lash is deleted from this release. hush can be configured down to almost
67        the same size, but it is significantly less buggy. It even works
68        on NOMMU machines (interactive mode and backticks are not working on NOMMU,
69        though). "lash" applet is still available, but it runs hush.
70
71     <p>init has some changes in this release, please report if it causes
72        problems for you.
73
74     <p>Changes since previous release:
75       <ul>
76         <li>Build system improvements
77         <li>Testsuite additions
78         <li>Stack size reductions, code size reductions, data/bss reductions
79         <li>An option to prefer IPv4 address if host has both
80         <li>New applets: hd, sestatus
81         <li>Removed applets: lash
82         <li>hush: fixed a few bugs, wired up echo and test to be builtins
83         <li>init: simplify forking of children
84         <li>getty: special handling of '#' and '@' is removed
85         <li>[su]login: sanitize environment if called by non-root
86         <li>udhcpc: support "bad" servers which send oversized packets
87           (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
88         <li>udhcpc: -O option allows to specify which options to ask for
89           (Stefan Hellermann &lt;stefan at the2masters.de&gt;)
90         <li>udhcpc: optionally check whether given IP is really free (by ARP ping)
91           (Jonas Danielsson &lt;jonas.danielsson at axis.com&gt;)
92         <li>vi: now handles files with unlimited line length
93         <li>vi: speedup for huge line lengths
94         <li>vi: Del key works
95         <li>sed: support GNUism '\t'
96         <li>cp/mv/install: optionally use bigger buffer for bulk copying
97         <li>line editing: don't eat stack like crazy
98         <li>passwd: follows symlinked /etc/passwd
99         <li>renice: accepts priority with +N too
100         <li>netstat: wide output mode
101         <li>nameif: extended matching (Nico Erfurth &lt;masta at perlgolf.de&gt;)
102         <li>test: become NOFORK applet
103         <li>find: -iname (Alexander Griesser &lt;alexander.griesser at lkh-vil.or.at&gt;)
104         <li>df: -i option (show inode info) (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
105         <li>hexdump: -R option (Pascal Bellard &lt;pascal.bellard at ads-lu.com&gt;)
106       </ul>
107
108
109   <li><b>23 November 2007 -- BusyBox 1.8.2 (stable), BusyBox 1.7.4 (stable)</b>
110     <p><a href=http://busybox.net/downloads/busybox-1.8.2.tar.bz2>BusyBox 1.8.2</a>.
111     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/>svn</a>,
112     <a href=http://busybox.net/downloads/fixes-1.8.2/>patches</a>,
113     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
114     <p><a href=http://busybox.net/downloads/busybox-1.7.4.tar.bz2>BusyBox 1.7.4</a>.
115     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/>svn</a>,
116     <a href=http://busybox.net/downloads/fixes-1.7.4/>patches</a>,
117     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
118
119     <p>These are bugfix-only releases.
120     1.8.2 contains fixes for inetd, lash, tar, tr, and build system.
121     1.7.4 contains a fix for inetd.</p>
122   </li>
123
124   <li><b>9 November 2007 -- BusyBox 1.8.1 (stable)</b>
125     <p><a href=http://busybox.net/downloads/busybox-1.8.1.tar.bz2>BusyBox 1.8.1</a>.
126     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/>svn</a>,
127     <a href=http://busybox.net/downloads/fixes-1.8.1/>patches</a>,
128     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
129
130     <p>This is a bugfix-only release, with fixes to login (PAM), modprobe, syslogd, telnetd, unzip.</p>
131   </li>
132
133   <li><b>4 November 2007 -- BusyBox 1.8.0 (unstable)</b>
134     <p><a href=http://busybox.net/downloads/busybox-1.8.0.tar.bz2>BusyBox 1.8.0</a>.
135     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_8_stable/>svn</a>,
136     <a href=http://busybox.net/downloads/fixes-1.8.0/>patches</a>,
137     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
138
139     <p>Note: this is probably the very last release with lash. It will be dropped. Please migrate to hush.
140
141     <p>Applets which had many changes since 1.7.x:
142     <p>httpd:
143       <ul>
144         <li>does not clear environment, CGIs will see all environment variables which were set for httpd
145         <li>fix bug where we were trying to read more POSTDATA than content-length
146         <li>fix trivial bug (spotted by Alex Landau)
147         <li>optional support for partial downloads
148         <li>simplified CGI i/o loop (now it looks good to me)
149         <li>small auth and IPv6 fixes (Kim B. Heino &lt;Kim.Heino at bluegiga.com>)
150         <li>support for proxying connection to other http server (by Alex Landau &lt;landau_alex at yahoo.com>)
151       </ul>
152
153     <p>top:
154       <ul>
155         <li>TOPMEM feature - 's(how sizes)' command
156         <li>don't wait before final bailout (try top -b -n1)
157         <li>fix for command line wrapping
158       </ul>
159
160     <p>Build system improvements: libbusybox mode restored (it was lost in transition to new makefiles).
161
162     <p>Code and data size in comparison with 1.7.3:<pre>
163 Equivalent .config, i386 uclibc static builds:
164    text    data     bss     dec     hex filename
165  768123    1055   10768  779946   be6aa busybox-1.7.3/busybox
166  759693     974    9420  770087   bc027 busybox-1.8.0/busybox</pre>
167
168     <p>New applets:
169       <ul>
170         <li>microcom: new applet by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;
171         <li>kbd_mode: new applet by Loic Grenie &lt;loic.grenie at gmail.com&gt;
172         <li>bzip2: port bzip2 1.0.4 to busybox, 9 kb of code
173         <li>pgrep, pkill: new applets by Loic Grenie &lt;loic.grenie at gmail.com&gt;
174         <li>setsebool: new applet (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
175       </ul>
176
177     <p>Other changes since previous release (abridged):
178       <ul>
179         <li>cp: -r and -R imply -d (coreutils compat)
180         <li>cp: detect and prevent infinite recursion
181         <li>cp: make it a bit closer to POSIX, but still refuse to open and overwrite symbolic link
182         <li>hdparm: reduce possibility of numeric overflow in -T
183         <li>hdparm: simplify timing measurement
184         <li>wget: -O FILE is allowed to overwrite existing file (compat)
185         <li>wget: allow dots in header field names
186         <li>telnetd: add -K option to close sessions as soon as child exits
187         <li>telnetd: don't SIGKILL child when closing the session, kernel will send SIGHUP for us
188         <li>ed: large cleanup, add line editing
189         <li>hush: feeble attempt at making it more NOMMU-friendly
190         <li>hush: fix glob()
191         <li>hush: stop doing manual accounting of open fd's, kernel can do it for us
192         <li>adduser: implement -S and fix uid selection
193         <li>ash: fix prompt expansion (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
194         <li>ash: revert "cat | jobs" fix, it causes more problems than good
195         <li>find: fix -xdev behavior in the presence of two or more nested mount points
196         <li>grep: fix grep -F -e str1 -e str2 (was matching str2 only)
197         <li>grep: optimization: stop on first -e match
198         <li>gunzip: support concatenated gz files
199         <li>inetd: fix bug 1562 "inetd does not set argv[0] properly" (fix by Ilya Panfilov)
200         <li>install: 'support' (by ignoring) -v and -b
201         <li>install: fix bug in "install -c file dir" (tried to copy dir into dir too)
202         <li>ip: tunnel parameter parsing fix by Jean Wolter &lt;jw5 at os.inf.tu-dresden.de&gt;
203         <li>isrv: use monotonic_sec
204         <li>less: make 'f' key page forward
205         <li>libiproute: add missing break statements
206         <li>load_policy: update (Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
207         <li>logger: fix a problem of losing all argv except first
208         <li>login: do reject wrong passwords with PAM auth
209         <li>losetup: support -f (Loic Grenie &lt;loic.grenie at gmail.com&gt;)
210         <li>fdisk: make fdisk compile on libc without llseek64
211         <li>libbb: by popular request allow PATH to be customized at build time
212         <li>mkswap: selinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
213         <li>mount: allow (and ignore) -i
214         <li>mount: ignore NFS bg option on NOMMU machines
215         <li>mount: mount helpers support (by Vladimir Dronnikov &lt;dronnikov at gmail.ru&gt;)
216         <li>passwd: handle Ctrl-C, restore termios on Ctrl-C
217         <li>passwd: SELinux support by KaiGai Kohei &lt;kaigai at ak.jp.nec.com&gt;
218         <li>ping: make -I ethN work too (-I addr already worked)
219         <li>ps: fix RSS parsing (rss field in /proc/PID/stat is in pages, not bytes)
220         <li>read_line_input: fix it to not do any fancy editing if echoing is disabled
221         <li>run_parts: make it sort executables by name (required by API)
222         <li>runsv: do not use clock_gettime if !MONOTONIC_CLOCK
223         <li>runsvdir: fix "linear wait time" bug
224         <li>sulogin: remove alarm handling, it is redundant there
225         <li>svlogd: compat: svlogd -tt should timestamp stderr too
226         <li>syslogd: bail out if you see null read from Unix socket
227         <li>syslogd: do not need to poll(), we can just block in read()
228         <li>tail: work correctly on /proc files (Kazuo TAKADA &lt;kztakada at sm.sony.co.jp&gt;)
229         <li>tar + gzip/bzip2/etc: support NOMMU machines (by Alex Landau &lt;landau_alex at yahoo.com&gt;)
230         <li>tar: strip leading '/' BEFORE memorizing hardlink's name
231         <li>tftp: fix infinite retry bug
232         <li>umount: support (by ignoring) -i; style fixes
233         <li>unzip: fix endianness bugs
234         <li>vi: don't wait 50 ms before reading ESC sequences
235         <li>watchdog: allow millisecond spec (-t 250ms)
236         <li>zcip: fix unaligned trap on ARM
237       </ul>
238     </p>
239
240   </li>
241
242   <li><b>4 November 2007 -- BusyBox 1.7.3 (stable)</b>
243     <p><a href=http://busybox.net/downloads/busybox-1.7.3.tar.bz2>BusyBox 1.7.3</a>.
244     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/>svn</a>,
245     <a href=http://busybox.net/downloads/fixes-1.7.3/>patches</a>,
246     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
247
248     <p>This is a bugfix-only release, with fixes to ash, httpd, inetd, iptun, logger, login, tail.</p>
249   </li>
250
251   <li><b>30 September 2007 -- BusyBox 1.7.2 (stable)</b>
252     <p><a href=http://busybox.net/downloads/busybox-1.7.2.tar.bz2>BusyBox 1.7.2</a>.
253     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/>svn</a>,
254     <a href=http://busybox.net/downloads/fixes-1.7.2/>patches</a>,
255     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
256
257     <p>This is a bugfix-only release, with fixes to install, find, login, httpd, runsvdir, chcon, setfiles, fdisk and line editing.</p>
258   </li>
259
260   <li><b>16 September 2007 -- BusyBox 1.7.1 (stable)</b>
261     <p><a href=http://busybox.net/downloads/busybox-1.7.1.tar.bz2>BusyBox 1.7.1</a>.
262     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/>svn</a>,
263     <a href=http://busybox.net/downloads/fixes-1.7.1/>patches</a>,
264     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
265
266     <p>This is a bugfix-only release, with fixes to cp, runsv, tar, busybox --install and build system.</p>
267   </li>
268
269   <li><b>24 August 2007 -- BusyBox 1.7.0 (unstable)</b>
270     <p><a href=http://busybox.net/downloads/busybox-1.7.0.tar.bz2>BusyBox 1.7.0</a>.
271     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/>svn</a>,
272     <a href=http://busybox.net/downloads/fixes-1.7.0/>patches</a>,
273     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
274
275     <p>Applets which had many changes since 1.6.x:
276     <p>httpd:
277       <ul>
278         <li>works in standalone mode on NOMMU machines now (partly by Alex Landau &lt;landau_alex at yahoo.com&gt;)
279         <li>indexer example is rewritten in C
280         <li>optional support for error pages (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
281         <li>stop reading headers using 1-byte reads
282         <li>new option -v[v]: prints client addresses, HTTP codes returned, URLs
283         <li>extended -p PORT to -p [IP[v6]:]PORT
284         <li>sendfile support (by Pierre Metras &lt;genepi at sympatico.ca&gt;)
285         <li>add support for Status: CGI header
286         <li>fix CGI handling bug (we were closing wrong fd)
287         <li>CGI I/O loop still doesn't look 100% ok to me...
288       </ul>
289
290     <p>udhcp[cd]:
291       <ul>
292         <li>add -f "foreground" and -S "syslog" options
293         <li>fixed "ifupdown + udhcpc_without_pidfile_creation" bug
294         <li>new config option "Rewrite the lease file at every new acknowledge" (Mats Erik Andersson &lt;mats at blue2net.com&gt; (Blue2Net AB))
295         <li>consistently treat server_config.start/end IPs as host-order
296         <li>fix IP parsing for 64bit machines
297         <li>fix unsafe hton macro usage in read_opt()
298         <li>do not chdir to / when daemonizing
299       </ul>
300
301     <p>top, ps, killall, pidof:
302       <ul>
303         <li>simpler loadavg processing
304         <li>truncate usernames to 8 chars
305         <li>fix non-CONFIG_DESKTOP ps -ww (by rockeychu)
306         <li>improve /proc/PID/cmdinfo reading code
307         <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)
308         <li>reduce CPU usage in decimal conversion (optional) (corresponding speedup on kernel side is accepted in mainline Linux kernel, yay!)
309         <li>make percentile (0.1%) calculations configurable
310         <li>add config option and code for global CPU% display
311         <li>reorder columns, so that [P]PIDs are together and VSZ/%MEM are together - makes more sense
312       </ul>
313
314     <p>Build system improvements: doesn't link against libraries we don't need,
315         generates verbose link output and map file, allows for custom link
316         scripts (useful for removing extra padding, among other things).
317
318     <p>Code and data size in comparison with 1.6.1:<pre>
319 Equivalent .config, i386 glibc dynamic builds:
320    text    data     bss     dec     hex filename
321  672671    2768   16808  692247   a9017 busybox-1.6.1/busybox
322  662948    2660   13528  679136   a5ce0 busybox-1.7.0/busybox
323  662783    2631   13416  678830   a5bae busybox-1.7.0/busybox.customld
324
325 Same .config built against static uclibc:
326  765021    1059   11020  777100   bdb8c busybox-1.7.0/busybox_uc</pre>
327
328     <p>Code/data shrink done in applets: crond, hdparm, dd, cal, od, nc, expr, uuencode,
329         test, slattach, diff, ping, tr, syslogd, hwclock, zcip, find, pidof, ash, uudecode,
330         runit/*, in libbb.
331
332     <p>New applets:
333       <ul>
334         <li>pscan, expand, unexpand (from Tito &lt;farmatito at tiscali.it&gt;)
335         <li>setfiles, restorecon (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
336         <li>chpasswd (by Alexander Shishkin &lt;virtuoso at slind.org&gt;)
337         <li>slattach, ttysize
338       </ul>
339
340     <p>Unfortunately, not much work is done on shells. This was mostly stalled
341         by lack of time (read: laziness) on my part to learn how to adapt existing
342         qemu-runnable image for a NOMMU architechture (available on qemu website)
343         for local testing of cross-compiled busybox on my machine.
344
345     <p>Other changes since previous release (abridged):
346       <ul>
347         <li>addgroup: disallow addgroup -g num user group; make -g 0 work (Tito &lt;farmatito at tiscali.it&gt;)
348         <li>adduser: close /etc/{passwd,shadow} before calling passwd etc. Spotted by Natanael Copa &lt;natanael.copa at gmail.com&gt;
349         <li>arping: -i should be -I, fixed
350         <li>ash: make "jobs | cat" work like in bash (was giving empty output)
351         <li>ash: recognize -l as --login equivalent; do not recognize +-login
352         <li>ash: fix buglet in DEBUG code (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
353         <li>ash: fix SEGV if type has zero parameters
354         <li>awk: fix -F 'regex' bug (miscounted fields if last field is empty)
355         <li>catv: catv without arguments was trying to use environ as argv (Alex Landau &lt;landau_alex at yahoo.com&gt;)
356         <li>catv: don't die on open error (emit warning)
357         <li>chown/chgrp: completely match coreutils 6.8 wrt symlink handling
358         <li>correct_password: do not print "no shadow passwd..." message
359         <li>crond: don't start sendmail with absolute path, don't report obsolete version (report true bbox version)
360         <li>dd: fix bug where we assume count=INT_MAX when count is unspecified
361         <li>devfsd: sanitization by Tito &lt;farmatito at tiscali.it&gt;
362         <li>echo: fix non-fancy echo
363         <li>fdisk: make it work with big disks (read: typical today's disks) even if CONFIG_LFS is unset
364         <li>find: -context support for SELinux (KaiGai Kohei &lt;kaigai at kaigai.gr.jp&gt;)
365         <li>find: add conditional support for -maxdepth and -regex, make -size match GNU find
366         <li>find: fix build failure on certain configs (found by Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
367         <li>fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one
368         <li>grep: implement -m MAX_MATCHES, fix buglets with context printing
369         <li>grep: fix selection done by FEATURE_GREP_EGREP_ALIAS (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
370         <li>hush: add missing dependencies (Maxime Bizon &lt;mbizon at freebox.fr&gt; (Freebox))
371         <li>hush: fix read builtin to not read ahead past EOL and to not use insane amounts of stack
372         <li>ifconfig: make it work with ifaces with interface no. &gt; 255
373         <li>ifup/ifdown: make location of ifstate configurable
374         <li>ifupdown: make netmask parsing smaller and more strict (was accepting 255.0.255.0, 255.1234.0.0 etc...)
375         <li>install: fix -s (strip) option, fix install a b /a/link/to/dir
376         <li>libbb: consolidate ARRAY_SIZE macro (Walter Harms &lt;wharms at bfs.de&gt;)
377         <li>libbb: make /etc/network parsing configurable. -200 bytes when off
378         <li>libbb: nuke BB_GETOPT_ERROR, always die if there are mutually exclusive options
379         <li>libbb: xioctl and friends by Tito &lt;farmatito at tiscali.it&gt;
380         <li>login: optional support for PAM
381         <li>login: make /etc/nologin support configurable (-240 bytes)
382         <li>login: ask passwords even for wrong usernames
383         <li>md5_sha1_sum: fix mishandling when run as /bin/md5sum
384         <li>mdev: add support for firmware loading
385         <li>mdev: work even when CONFIG_SYSFS_DEPRECATED in kernel is off
386         <li>modprobe: add scanning of /lib/modules/`uname -r`/modules.symbols (by Yann E. MORIN &lt;yann.morin.1998 at anciens.enib.fr&gt;)
387         <li>more: fixes by Tristan Schmelcher &lt;tpkschme at engmail.uwaterloo.ca&gt;
388         <li>nc: make connecting to IPv4 from IPv6-enabled hosts easier (was requiring -s local_addr)
389         <li>passwd: fix bug "updating shadow even if user's record is in passwd"
390         <li>patch: fix -p -1 handling
391         <li>patch: fix bad line ending handling (Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
392         <li>ping: display roundtrip times with 1/1000th of ms, not 1/10 ms precision.
393         <li>ping: fix incorrect handling of -I (Iouri Kharon &lt;bc-info at styx.cabel.net&gt;)
394         <li>ping: fix non-fancy ping6
395         <li>printenv: fix "printenv VAR1 VAR2" bug (spotted by Kalyanatejaswi Balabhadrapatruni &lt;kalyanatejaswi at yahoo.co.in&gt;)
396         <li>ps: fix -Z (by Yuichi Nakamura &lt;ynakam at hitachisoft.jp&gt;)
397         <li>rpm: add optional support for bz2 data. +50 bytes of code
398         <li>rpm: fix bogus "package is not installed" case
399         <li>sed: fix 'q' command handling (by Nguyen Thai Ngoc Duy &lt;pclouds at gmail.com&gt;)
400         <li>start_stop_daemon: NOMMU fixes by Alex Landau &lt;landau_alex at yahoo.com&gt;
401         <li>stat: fix option -Z SEGV
402         <li>strings: strings a b was processing a twice, fix that
403         <li>svlogd: fix timestamping, do not warn if config is missing
404         <li>syslogd, logread: get rid of head pointer, fix logread bug in the process
405         <li>syslogd: do not convert tabs to ^I, set syslog IPC buffer to mode 0644
406         <li>tar: improve OLDGNU compat, make old SUN compat configurable
407         <li>test: fix testing primary expressions like '"-u" = "-u"'
408         <li>uudecode: fix to base64 decode by Jorgen Cederlof &lt;jcz at google.com&gt;
409         <li>vi: multiple fixes by Natanael Copa &lt;natanael.copa at gmail.com&gt;
410         <li>wget: fix bug in base64 encoding (bug 1404). +10 bytes
411         <li>wget: lift 256 chars limitation on terminal width
412         <li>wget, zcip: use monotonic_sec instead of gettimeofday
413       </ul>
414     </p>
415   </li>
416
417   <li><b>30 June 2007 -- BusyBox 1.6.1 (stable)</b>
418     <p><a href=http://busybox.net/downloads/busybox-1.6.1.tar.bz2>BusyBox 1.6.1</a>.
419     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/>svn</a>,
420     <a href=http://busybox.net/downloads/fixes-1.6.1/>patches</a>,
421     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
422
423     <p>This is a bugfix-only release, with fixes to echo, hush, and wget.</p>
424   </li>
425
426   <li><b>1 June 2007 -- BusyBox 1.6.0 (unstable)</b>
427     <p><a href=http://busybox.net/downloads/busybox-1.6.0.tar.bz2>BusyBox 1.6.0</a>.
428     (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/>svn</a>,
429     <a href=http://busybox.net/downloads/fixes-1.6.0/>patches</a>,
430     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
431
432     <p>Since this is a x.x.0 release, it probably does not deserve "stable"
433     label. Please help making 1.6.1 stable by testing 1.6.0.</p>
434     <p>Note that hush shell had many changes and (hopefully) is much improved now,
435     but there is a possibility that it regressed in some obscure cases. Please
436     report any such cases.</p>
437     <p>lash users please note: lash is going to be deprecated in busybox 1.7.0
438     and removed in the more distant future. Please migrate to hush.</p>
439     <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>
440     <p>Other changes since previous release:
441     <ul>
442 <li>NOFORK: audit small applets and mark some of them as NOFORK. Put big scary warnings in relevant places
443 <li>NOFORK: factor out NOFORK/NOEXEC code from find. Use NOFORK/NOEXEC in find and xargs
444 <li>NOFORK: remove potential xmalloc from NOFORK path in bb_full_fd_action
445 <li>NOMMU: random fixes; compressed --help now works for NOMMU
446 <li>SELinux: load_policy applet
447 <li>[u]mount: extend -t option (Roy Marples &lt;uberlord at gentoo.org&gt;)
448 <li>addgroup: clean up, fix adding users to existing groups and make it optional (Tito)
449 <li>adduser: don't bomb out if shadow password file doesn't exist (from Tito &lt;farmatito at tiscali.it&gt;)
450 <li>applet.c: do not even try to read config if run by real root; fix suid config handling
451 <li>ash: fix infinite loop on exit if tty is not there anymore
452 <li>ash: fix kill -l (by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
453 <li>ash: implement type -p, costs less than 10 bytes (patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
454 <li>awk: don't segfault on printf(%*s). Closes bug 1337
455 <li>awk: guard against empty environment
456 <li>awk: some 'lineno' vars were shorts, made them ints (code got smaller)
457 <li>cat: stop using stdio.h opens
458 <li>config system: clarify PREFER_APPLETS/SH_STANDALONE effects in help text
459 <li>cryptpw: new applet (by Thomas Lundquist &lt;lists at zelow.no&gt;)
460 <li>cttyhack: new applet
461 <li>dd: NOEXEC fix; fix skip= parse error (spotted by Dirk Clemens &lt;develop at cle-mens.de&gt;)
462 <li>deluser: add optional support for removing users from groups (by Tito &lt;farmatito at tiscali.it&gt;)
463 <li>diff: fix SEGV (NULL deref) in diff -N
464 <li>diff: fix segfault on empty dirs (Peter Korsgaard &lt;peter.korsgaard at barco.com&gt;)
465 <li>dnsd: fix several buglets, make smaller; openlog(), so that applet's name is logged
466 <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;)
467 <li>dpkg: use bitfields which are a bit closer to typical short/char. Code size -800 bytes
468 <li>dumpleases: getopt32()-ization (from Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;)
469 <li>e2fsprogs: stop using statics in chattr. Minor code shrinkage (-130 bytes)
470 <li>ether-wake: close bug 1317. Reorder fuctions to avoid forward refs while at it
471 <li>ether-wake: save a few more bytes of code
472 <li>find: -group, -depth (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
473 <li>find: add support for -delete, -path (by Natanael Copa)
474 <li>find: fix -prune. Add big comment about it
475 <li>find: improve usage text (Natanael Copa &lt;natanael.copa at gmail.com&gt;)
476 <li>find: missed 'static' on const data; size and prune were mixed up; use index_in_str_array
477 <li>find: un-DESKTOPize (Kai Schwenzfeier &lt;niteblade at gmx.net&gt;)
478 <li>find_root_device: teach to deal with /dev/ subdirs (by Kirill K. Smirnov &lt;lich at math.spbu.ru&gt;)
479 <li>find_root_device: use lstat - don't follow links
480 <li>getopt32: fix llist_t options ordering. llist_rev is now unused
481 <li>getopt: use getopt32 for option parsing - inspired by patch by Mats Erik Andersson &lt;mats.andersson64 at comhem.se&gt;
482 <li>hdparm: fix multisector mode setting (from Toni Mirabete &lt;amirabete at catix.cat&gt;)
483 <li>hdparm: make -T -t code smaller (-194 bytes), and output prettier
484 <li>ifupdown: make it possible to use DHCP clients different from udhcp
485 <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;
486 <li>ifupdown: small optimization (avoid doing useless work if we are not going to update state file)
487 <li>ip: fix compilation if FEATURE_TR_CLASSES is off
488 <li>ip: mv ip*_main into ip.c; use a dispatcher to save on needless duplication. Saves a minor 12b
489 <li>ip: rewrite the ip applet to be less bloaty. Convert to index_in_(sub)str_array()
490 <li>ip: set the scope properly. Thanks to Jean Wolter
491 <li>iplink: shrink iplink; sanitize libiproute a bit (-916 bytes)
492 <li>iproute: shrink a bit (-200 bytes)
493 <li>kill: know much more signals; make code smaller; use common code for kill applet and ash kill builtin
494 <li>klogd: remove dependency on syslogd
495 <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.
496 <li>lash: fix kill buglet (didn't properly recognize ESRCH)
497 <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;)
498 <li>lash: recognize and use NOFORK applets
499 <li>less: fix case when regex search finds nothing; fix very obscure memory corruption bug; fix less &lt;HUGEFILE + [End] busy loop
500 <li>libbb: add xsendto, xunlink, xpipe
501 <li>libbb: fix segfault in reset_ino_dev_hashtable() when *hashtable was NULL
502 <li>libbb: make pidfile writing configurable
503 <li>libbb: make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
504 <li>libbb: rework NOMMU helper API so that it makes more sense and easier to use
505 <li>libiproute: audit callgraph, shortcut error paths into die() functions
506 <li>lineedit: do not try to open NULL history file
507 <li>lineedit: nuke two unused variables and code which sets them
508 <li>login: remove setpgrp call (makes it work from shell prompt again); sanitize stdio descriptors (we are suid, need to be careful!)
509 <li>login: shrink login and set_environment by ~100 bytes
510 <li>mount: fix incorrect usage of strtok (inadvertently used NULL sometimes)
511 <li>mount: fix mounting of symlinks (mount from util-linux allows that)
512 <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
513 <li>nc: port nc 1.10 to busybox
514 <li>netstat: fix for bogus state value for raw sockets
515 <li>netstat: introduce -W: wide, ipv6-friendly output; shrink by ~500 bytes
516 <li>nmeter: should die if stdout doesn't like him anymore
517 <li>patch: do not try to delete same file twice
518 <li>ping: fix wrong sign extension of packet id (bug 1373)
519 <li>ps: add -o tty and -o rss support; make a bit smaller; work around libc bug: printf("%.*s\n", MAX_INT, buffer)
520 <li>run_parts: rewrite
521 <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;
522 <li>sed: fix escaped newlines in -f
523 <li>split: new applet
524 <li>stat: remove superfluous bss user (flags) and manually unswitch some areas
525 <li>stty: fix option parsing bug (spotted by Sascha Hauer &lt;s.hauer at pengutronix.de&gt;)
526 <li>svlogd: fix 'SEGV on uninitialized data' and make it honor TERM
527 <li>tail: fix SEGV on "tail -N"
528 <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/
529 <li>test: close bug 1371; plug a memory leak; code size reduction
530 <li>tftp: code diet, and I think retransmits were broken
531 <li>tr: fix bug where we did not reject invalid classes like '[[:alpha'. debloat while at it
532 <li>udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata; use pipe instead of socketpair
533 <li>udhcp[cd]: stop using atexit magic fir pidfile removal; stop deleting our own pidfile if we daemonize
534 <li>xargs: shrink code, ~80 bytes; simplify word list management
535 <li>zcip: make it work on NOMMU (+ improve NOMMU support machinery)
536     </ul>
537     </p>
538   </li>
539
540   <li><b>20 May 2007 -- BusyBox 1.5.1 (stable)</b>
541     <p><a href=http://busybox.net/downloads/busybox-1.5.1.tar.bz2>BusyBox 1.5.1</a>.
542     (<a href=http://busybox.net/downloads/fixes-1.5.1/>patches</a>,
543     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
544
545     <p>This is a bugfix-only release, with fixes to hdparm, hush, ifupdown, ps
546     and sed.</p>
547   </li>
548
549   <li><b>23 March 2007 -- BusyBox 1.5.0 (unstable)</b>
550     <p><a href=http://busybox.net/downloads/busybox-1.5.0.tar.bz2>BusyBox 1.5.0</a>.
551     (<a href=http://busybox.net/downloads/fixes-1.5.0/>patches</a>,
552     <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
553
554     <p>Since this is a x.x.0 release, it probably does not deserve "stable"
555     label. Please help making 1.5.1 stable by testing 1.5.0.</p>
556     <p>Notable changes since previous release:
557     <ul>
558     <li>find: added support for -user, -not, fixed -mtime, -mmin, -perm
559     <li>[de]archivers: merge common logic into one module
560     <li>ping[6]: unified code for both
561     <li>less: regex search improved
562     <li>ash: more readable code, testsuite added
563     <li>sed: several very obscure bugs fixed
564     <li>chown: -H, -L, -P support (required by POSIX)
565     <li>tar: handle (broken) checksums a-la Sun; tar restores mode again
566     <li>grep: implement -w, "implement" -a and -I by ignoring them
567     <li>cp: more sane behavior when overwriting existing files
568     <li>init: stop doing silly things with the console (-400 bytes)
569     <li>httpd: make httpd usable for NOMMU CPUs; fix POSTDATA handling bugs
570     <li>httpd: run interpreter for configured file extensions in any dir,
571         not only in /cgi-bin/
572     <li>chrt: new applet
573     <li>SELinux: SELinux-related code and -Z option added to several applets,
574         new SELinux-specific applets: chcon, runcon.
575     <li>Build system: produces link map, uses -Wwrite-strings to catch
576         improper usage of string constants.
577     <li>Data and bss section usage audited and reduced - should help NOMMU
578         targets.
579     <li>Applets with bug fixes: gunzip, vi, syslogd, dpkg, ls, adjtimex, resize,
580         sv, printf, diff, awk, sort, dpkg, diff, tftp
581     <li>Applets with usability improvements: swapon, more, ifup/ifdown, hwclock,
582         udhcpd, start_stop_daemon, cmp
583     <li>Applets with code cleaned up: telnet, fdisk, fsck_minix, mkfs_minix,
584         syslogd, swapon, runsv, svlogd, klogd
585     </ul>
586     </p>
587   </li>
588
589   <li><b>18 March 2007 -- BusyBox 1.4.2 (stable)</b>
590     <p><a href=http://busybox.net/downloads/busybox-1.4.2.tar.bz2>BusyBox 1.4.2</a>.
591     </p>
592
593     <p>This release includes only trivial fixes accumulated since 1.4.1.
594     </p>
595   </li>
596
597   <li><b>25 January 2007 -- BusyBox 1.4.1 (stable)</b>
598     <p><a href=http://busybox.net/downloads/busybox-1.4.1.tar.bz2>BusyBox 1.4.1</a>.
599     (<a href=http://busybox.net/downloads/fixes-1.4.1/>patches</a>)</p>
600
601     <p>This release includes only trivial fixes accumulated since 1.4.0.
602     </p>
603   </li>
604
605   <li><b>20 January 2007 -- BusyBox 1.4.0 (stable)</b>
606     <p><a href=http://busybox.net/downloads/busybox-1.4.0.tar.bz2>BusyBox 1.4.0</a>.
607     (<a href=http://busybox.net/downloads/fixes-1.4.0/>patches</a>)</p>
608
609     <p>Since this is a x.x.0 release, it probably is a bit less "stable"
610     than usual.</p>
611     <p>Changes since previous release:
612     <ul>
613     <li>e2fsprogs are mostly removed from busybox. Some smaller parts remain,
614     the rest of it sits disabled in e2fsprogs/old_e2fsprogs/*, because
615     it's too bloated. Really. I'm afraid it's about the only way we can
616     ever get e2fsprogs cleaned up.
617     <li>less: many improvements. Now can display binary files
618     (although I expect it to have trouble with displays where 8bit chars
619     don't have 1-to-1 char/glyph relationship). Regexp search is not buggy
620     anymore. Less does not read entire input up-front. Reads input
621     as it appears (yay!). Works rather nice as man pager. I recommend it
622     for general use now.
623     <li>IPv6: generic support is in place, many networking applets are
624     upgraded to be IPv6 capable. Probably some work remains, but it is
625     already much better than what we had previously.
626     <li>arp: new applet (thanks to Eric Spakman).
627     <li>fakeidentd: non-forking standalone server part was taking ~90%
628     of the applet. Factored it out (in fact, rewrote it).
629     <li>syslogd: mostly rewritten.
630     <li>decompress_unzip, gzip: sanitized a bit.
631     <li>sed: better hadling of NULs
632     <li>httpd: stop adding our own "Content-type:" to CGI output
633     <li>chown: user.grp works again.
634     <li>minor bugfixes to: passwd, date, tftp, start_stop_daemon, tar,
635     ps, ifupdown, time, su, stty, awk, ping[6], sort,...
636     </ul>
637     </p>
638   </li>
639
640   <li><b>20 January 2007 -- BusyBox 1.3.2 (stable)</b>
641     <p><a href=http://busybox.net/downloads/busybox-1.3.2.tar.bz2>BusyBox 1.3.2</a>.</p>
642
643     <p>This release includes only one trivial fix accumulated since 1.3.1
644     </p>
645   </li>
646
647   <li><b>27 December 2006 -- BusyBox 1.3.1 (stable)</b>
648     <p><a href=http://busybox.net/downloads/busybox-1.3.1.tar.bz2>BusyBox 1.3.1</a>.
649     (<a href=http://busybox.net/downloads/fixes-1.3.1/>patches</a>)</p>
650
651     <p>Closing 2006 with new release. It includes only trivial fixes accumulated since 1.3.0
652     </p>
653   </li>
654
655   <li><b>14 December 2006 -- BusyBox 1.3.0 (stable)</b>
656     <p><a href=http://busybox.net/downloads/busybox-1.3.0.tar.bz2>BusyBox 1.3.0</a>.
657     (<a href=http://busybox.net/downloads/fixes-1.3.0/>patches</a>)</p>
658
659     <p>This release has CONFIG_DESKTOP option which enables features
660     needed for busybox usage on desktop machine. For example, find, chmod
661     and chown get several less frequently used options, od is significantly
662     bigger but matches GNU coreutils, etc. Intended to eventually make
663     busybox a viable alternative for "standard" utilities for slightly
664     adventurous desktop users.
665     <p>Changes since previous release:
666     <ul>
667     <li>find: taking many more of standard options
668     <li>ps: POSIX-compliant -o implemented
669     <li>cp: added -s, -l
670     <li>grep: added -r, fixed -h
671     <li>watch: make it exec child like standard one does (was totally
672         incompatible)
673     <li>tar: fix limitations which were preventing bbox tar usage
674         on big directories: long names and linknames, pax headers
675         (Linux kernel tarballs have that). Fixed a number of obscure bugs.
676         Raised max file limit (now 64Gb). Security fixes (/../ attacks).
677     <li>httpd: added -i (inetd), -f (foreground), support for
678         directory indexer CGI (example is included), bugfixes.
679     <li>telnetd: fixed/improved IPv6 support, inetd+standalone support,
680         other fixes. Useful IPv6 stuff factored out into libbb.
681     <li>runit/*: new applets adapted from http://smarden.sunsite.dk/runit/
682         (these are my personal favorite small-and-beautiful toys)
683     <li>minor bugfixes to: login, dd, mount, umount, chmod, chown, ln, udhcp,
684         fdisk, ifconfig, sort, tee, mkswap, wget, insmod.
685     </ul>
686     <p>Note that GnuPG key used to sign this release is different.
687     1.2.2.1 is also signed post-factum now. Sorry for the mess.
688     </p>
689   </li>
690
691   <li><b>29 October 2006 -- BusyBox 1.2.2.1 (fix)</b>
692     <p><a href=http://busybox.net/downloads/busybox-1.2.2.1.tar.bz2>BusyBox 1.2.2.1</a>.</p>
693
694     <p>Added compile-time warning that static linking against glibc
695     produces buggy executables.
696   </li>
697
698   <li><b>24 October 2006 -- BusyBox 1.2.2 (stable)</b>
699     <p>It's a bit overdue, but
700     <a href=http://busybox.net/downloads/busybox-1.2.2.tar.bz2>here is
701     BusyBox 1.2.2</a>.</p>
702
703     <p>This release has dozens of fixes backported from the ongoing development
704     branch.  There are a couple of bugfixes to sed, two fixes to documentation
705     generation (BusyBox.html shouldn't have USE() macros in it anymore), fix
706     umount to report the right errno on failure and to umount block devices by
707     name with newer kernels, fix mount to handle symlinks properly, make mdev
708     delete device nodes when called for hotplug remove, fix a segfault
709     in traceroute, a minor portability fix to md5sum option parsing, a build
710     fix for httpd with old gccs, an options parsing tweak to hdparm, make test
711     fail gracefully when getgroups() returns -1, fix a race condition in
712     modprobe when two instances run at once (hotplug does this), make "tar xf
713     foo.tar dir/dir" extract all subdirectories, make our getty initialize the
714     terminal more like mingetty, an selinux build fix, an endianness fix in
715     ping6, fix for zcip defending addresses, clean up some global variables in
716     gzip to save memory, fix sulogin -tNNN, a help text tweak, several warning
717     fixes and build fixes, fixup dnsd a bit, and a partridge in a pear tree.</p>
718
719     <p>As <a href=http://lwn.net/Articles/202106/>Linux Weekly News noted</a>,
720     this is my (Rob's) last release of BusyBox.  The new maintainer is Denis
721     Vlasenko, I'm off to do <a href=http://landley.net/code>other things</a>.
722     </p>
723   </li>
724
725   <li><b>29 September 2006 -- New license email address.</b>
726     <p>The email address gpl@busybox.net is now the recommended way to contact
727     the Software Freedom Law Center to report BusyBox license violations.</p>
728
729   <li><b>31 July 2006 -- BusyBox 1.2.1 (stable)</b>
730     <p>Since nobody seems to have objected too loudly over the weekend, I
731     might as well point you all at
732     <a href="http://busybox.net/downloads/busybox-1.2.1.tar.bz2">Busybox
733     1.2.1</a>, a bugfix-only release with no new features.</p>
734
735     <p>It has three shell fixes (two to lash: going "var=value" without
736     saying "export" should now work, plus a missing null pointer check, and
737     one to ash when redirecting output to a file that fills up.)  Fix three
738     embarassing thinkos in the new dmesg command.  Two build tweaks
739     (dependencies for the compressed usage messages and running make in the
740     libbb subdirectory).  One fix to tar so it can extract git-generated
741     tarballs (rather than barfing on the pax extensions).  And a partridge
742     in a pear...  Ahem.</p>
743
744     <p>But wait, there's more!  A passwd changing fix so an empty
745     gecos field doesn't trigger a false objection that the new passwd contains
746     the gecos field.  Make all our setuid() and setgid() calls check the return
747     value in case somebody's using per-process resource limits that prevent
748     a user from having too many processes (and thus prevent a process from
749     switching away from root, in which case the process will now _die_ rather
750     than continue with root privileges).  A fix to adduser to make sure that
751     /etc/group gets updated.  And a fix to modprobe to look for modules.conf
752     in the right place on 2.6 kernels.</p>
753
754   <li><b>30 June 2006 -- BusyBox 1.2.0</b>
755     <p>The -devel branch has been stabilized and the result is
756     <a href="http://busybox.net/downloads/busybox-1.2.0.tar.bz2">Busybox
757     1.2.0</a>.  Lots of stuff changed, I need to work up a decent changelog
758     over the weekend.</p>
759
760     <p>I'm still experimenting with how long is best for the development
761     cycle, and since we've got some largeish projects queued up I'm going to
762     try a longer one.  Expect 1.3.0 in December.  (Expect 1.2.1 any time
763     we fix enough bugs. :)</p>
764
765     <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>
766
767   <li><b>17 May 2006 -- BusyBox 1.1.3 (stable)</b>
768     <p><a href="http://busybox.net/downloads/busybox-1.1.3.tar.bz2">BusyBox
769     1.1.3</a> is another bugfix release.  It makes passwd use salt, fixes a
770     memory freeing bug in ls, fixes "build all sources at once" mode, makes
771     mount -a not abort on the first failure, fixes msh so ctrl-c doesn't kill
772     background processes, makes patch work with patch hunks that don't have a
773     timestamp, make less's text search a lot more robust (the old one could
774     segfault), and fixes readlink -f when built against uClibc.</p>
775
776     <p>Expect 1.2.0 sometime next month, which won't be a bugfix release.</p>
777
778   <li><b>10 April 2006 -- BusyBox 1.1.2 (stable)</b>
779     <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
780     backported from the development branch: Some build fixes, several fixes
781     for mount and nfsmount, a fix for insmod on big endian systems, a fix for
782     find -xdev, and a fix for comm.  Check the file "changelog" in the tarball
783     for more info.</p>
784
785     <p>The next new development release (1.2.0) is slated for June.  A 1.1.3
786     will be released before then if more bug fixes crop up.  (The new plan is
787     to have a 1.x.0 new development release every 3 months, with 1.x.y stable
788     bugfix only releases based on that as appropriate.)</p>
789
790   <li><b>27 March 2006 -- Software Freedom Law Center representing BusyBox and uClibc</b>
791     <p>One issue Erik Andersen wanted to resolve when handing off BusyBox
792     maintainership to Rob Landley was license enforcement.  BusyBox and
793     uClibc's existing license enforcement efforts (pro-bono representation
794     by Erik's father's law firm, and the
795     <a href="http://www.busybox.net/shame.html">Hall of Shame</a>), haven't
796     scaled to match the popularity of the projects.  So we put our heads
797     together and did the obvious thing: ask Pamela Jones of
798     <a href="http://www.groklaw.net">Groklaw</a> for suggestions.  She
799     referred us to the fine folks at softwarefreedom.org.</p>
800
801     <p>As a result, we're pleased to announce that the
802     <a href="http://www.softwarefreedom.org">Software Freedom Law Center</a>
803     has agreed to represent BusyBox and uClibc.  We join a number of other
804     free and open source software projects (such as
805     <a href="http://lwn.net/Articles/141806/">X.org</a>,
806     <a href="http://lwn.net/Articles/135413/">Wine</a>, and
807     <a href="http://plone.org/foundation/newsitems/software-freedom-law-center-support/">Plone</a>
808     in being represented by a fairly cool bunch of lawyers, which is not a
809     phrase you get to use every day.</p>
810
811   <li><b>22 March 2006 -- BusyBox 1.1.1</b>
812     <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>
813     <p>Update: Rather than put out an endless stream of 1.1.1.x releases,
814     the various small fixes have been collected together into a
815     <a href="http://busybox.net/downloads/busybox-1.1.1.fixes.patch">patch</a>,
816     and new fixes will be appended to that as needed.  Expect 1.1.2 around
817     June.</p>
818   </li>
819   <li><b>11 January 2006 -- 1.1.0 is out</b>
820     <p>The new stable release is
821     <a href="http://www.busybox.net/downloads/busybox-1.1.0.tar.bz2">BusyBox
822     1.1.0</a>.  It has a number of improvements, including several new applets.
823     (It also has <a href="http://www.busybox.net/lists/busybox/2006-January/017733.html">a few rough spots</a>,
824     but we're trying out a "release early, release often" strategy to see how
825     that works.  Expect 1.1.1 sometime in March.)</p>
826
827     <li><b>Old News</b><p>
828     <a href="/oldnews.html">Click here to read older news</a>
829     </p>
830     </li>
831
832
833 </ul>
834
835 <!--#include file="footer.html" -->
836