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