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

<ul>
  <li><b>21 August 2008 -- BusyBox 1.12.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.12.0.tar.bz2">BusyBox 1.12.0</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_12_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.12.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p>Sizes of busybox-1.11.1 and busybox-1.12.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 829687     617    7052  837356   cc6ec busybox-1.11.1/busybox
 822961     594    6832  830387   cabb3 busybox-1.12.0/busybox
</pre>

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

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

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

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

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

  <li><b>25 June 2008 -- BusyBox 1.11.0 (unstable), BusyBox 1.10.4 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.11.0.tar.bz2">BusyBox 1.11.0</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_11_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.11.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p><a href="http://busybox.net/downloads/busybox-1.10.4.tar.bz2">BusyBox 1.10.4</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.10.4/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p>Sizes of busybox-1.10.4 and busybox-1.11.0 (with equivalent config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 800675     636    7080  808391   c55c7 busybox-1.10.4
 798392     611    6900  805903   c4c0f busybox-1.11.0
</pre>

    <p>New applets: inotify (Vladimir Dronnikov), man (Ivana Varekova),
    fbsplash (Michele Sanges), depmod (Bernhard Fischer)

    <p>Changes since previous release:
      <ul>
	<li>build system: reinstate CONFIG_CROSS_COMPILE_PREFIX
	<li>ash: optional bash compatibility features added; other fixes
	<li>hush: lots and lots of fixes
	<li>msh: fix the case where the file has exec bit but can't be run directly (runs "$SHELL file" instead)
	<li>msh: fix exit codes when command is not found or can't be execed
	<li>udhcpc: added workaround for buggy kernels
	<li>mount: fix mishandling of proto=tcp/udp
	<li>diff: make it work on non-seekable streams
	<li>openvt: made more compatible with "standard" one
	<li>mdev: fix block/char device detection
	<li>ping: add -w, -W support (James Simmons)
	<li>crond: add handling of "MAILTO=user" lines
	<li>start-stop-daemon: make --exec follow symlinks (Joakim Tjernlund)
	<li>date: make it accept ISO date format
	<li>echo: fix echo -e -n "msg\n\0" (David Pinedo)
	<li>httpd: fix several bugs triggered by relative path in -h DIR
	<li>printf: fix printf -%s- foo, printf -- -%s- foo
	<li>syslogd: do not error out on missing files to rotate
	<li>ls: support Unicode in names
	<li>ip: support for the LOWER_UP flag (Natanael Copa)
	<li>mktemp: make argument optional (coreutil 6.12 compat)
	<li>libiproute: fix option parsing, so that "ip -o link" works again
	<li>other fixes and code size reductions in many applets
      </ul>
    <p>
    The email address gpl@busybox.net is the recommended way to contact
    the Software Freedom Law Center to report BusyBox license violations.
    </p>

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

  <li><b>5 June 2008 -- BusyBox 1.10.3 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.10.3.tar.bz2">BusyBox 1.10.3</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.10.3/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p>
    Bugfix-only release for 1.10.x branch. It contains fixes for dnsd, fuser, hush,
    ip, mdev and syslogd.
    </p>

  <li><b>8 May 2008 -- BusyBox 1.10.2 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.10.2.tar.bz2">BusyBox 1.10.2</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.10.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p>
    Bugfix-only release for 1.10.x branch. It contains fixes for echo, httpd, pidof,
    start-stop-daemon, tar, taskset, tab completion in shells, build system.
    <p>Please note that mdev was backported from current svn trunk. Please
    report if you encounter any problems with it.
    </p>

  <li><b>19 April 2008 -- BusyBox 1.10.1 (stable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.10.1.tar.bz2">BusyBox 1.10.1</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.10.1/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
    <p>
    Bugfix-only release for 1.10.x branch. It contains fixes for
    fuser, init, less, nameif, tail, taskset, tcpudp, top, udhcp.

  <li><b>21 March 2008 -- BusyBox 1.10.0 (unstable)</b>
    <p><a href="http://busybox.net/downloads/busybox-1.10.0.tar.bz2">BusyBox 1.10.0</a>.
    (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
    <a href="http://busybox.net/downloads/fixes-1.10.0/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.9.2 and busybox-1.10.0 (with almost full config, static uclibc build):<pre>
   text    data     bss     dec     hex filename
 781405     679    7500  789584   c0c50 busybox-1.9.2
 773551     640    7372  781563   becfb busybox-1.10.0
</pre>
    <p>Top 10 stack users:<pre>
busybox-1.9.2:               busybox-1.10.0:
echo_dg                 4116 bb_full_fd_action       4112
bb_full_fd_action       4112 find_list_entry2        4096
discard_dg              4108 readlink_main           4096
discard_dg              4096 ipaddr_list_or_flush    3900
echo_stream             4096 iproute_list_or_flush   3680
discard_stream          4096 insmod_main             3152
find_list_entry2        4096 fallbackSort            2952
readlink_main           4096 do_iproute              2492
ipaddr_list_or_flush    3900 cal_main                2464
iproute_list_or_flush   3680 readhere                2308
</pre>

    <p>New applets: brctl, chat (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
	findfs, ifenslave (closes bug 115), lpd (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
	lpr+lpq (by Walter Harms), script (by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;),
	sendmail (Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;), tac, tftpd.

    <p>Made NOMMU-compatible: crond, crontab, ifupdown, inetd, init, runsv, svlogd, tcpsvd, udpsvd.

    <p>Changes since previous release:
      <ul>
	<li>globally: add -Wunused-parameter
	<li>globally: add optimization barrier to all "G trick" locations
	<li>adduser/addgroup: check username for invalid chars (by Tito &lt;farmatito AT tiscali.it&gt;)
	<li>adduser: optional support for long options. Closes bug 2134
	<li>ash: handle "A=1 A=2 B=$A; echo $B". Closes bug 947
	<li>ash: make ash -c "if set -o barfoo 2&gt;/dev/null; then echo foo; else echo bar; fi" work. Closes bug 1142
	<li>build system: don't use "gcc -o /dev/null", old gcc can delete /dev/null in this case
	<li>build system: fixes for cross-compiling on an OS X host
	<li>build system: make it do without "od -t"
	<li>build system: pass CFLAGS to link stage too. Closes bug 1376
	<li>build system: add CONFIG_NOMMU
	<li>cp: add ENABLE_FEATURE_VERBOSE_CP_MESSAGE. Closes bug 1470
	<li>crontab: almost complete rewrite
	<li>dnsd: properly set _src_ IP:port on outgoing UDP packets
	<li>dpkg: fix bug where existence check was reversed
	<li>eject: add -s for SCSI- and USB-devices (Nico Erfurth)
	<li>fdisk: fix a case where break was reached only for DOS labels
	<li>fsck: don't kill pid -1! (Roy Marples &lt;roy at marples.name&gt;)
	<li>fsck_minix: fix bug in map_block2: s/(blknr &gt;= 256 * 256)/(blknr &lt; 256 * 256)/
	<li>fuser: substantial rewrite
	<li>getopt: add support for "a+" specifier for nonnegative int parameters. By Vladimir Dronnikov &lt;dronnikov at gmail.com&gt;
	<li>getty: don't try to detect parity on local lines (Joakim Tjernlund &lt;Joakim.Tjernlund at transmode.se&gt;)
	<li>halt: write wtmp entry if wtmp support is enabled
	<li>httpd: "HEAD" support. Closes bug 1530
	<li>httpd: fix bug 2004: wrong argv when interpreter is invoked
	<li>httpd: fix bug where we did chdir("") if CGI path had only one "/"
	<li>httpd: fix for POST upload
	<li>httpd: support for "I:index.xml" syntax (Peter Korsgaard &lt;jacmet AT uclibc.org&gt;)
	<li>hush: fix a case where none of pipe members could be started because of fork failure
	<li>hush: more correct handling of piping
	<li>hush: reinstate `cmd` handling for NOMMU
	<li>hush: report [v]fork failures
	<li>hush: set CLOEXEC on script file being executed
	<li>hush: try to add a bit more of vfork-friendliness
	<li>inetd: make "udp nowait" work
	<li>inetd: make inetd IPv6-capable
	<li>init: add FEATURE_KILL_REMOVED (Eugene Bordenkircher &lt;eugebo AT gmail.com&gt;)
	<li>init: allow last line of config file to be not terminated by "\n"
	<li>init: do not die if "/dev/null" is missing
	<li>init: fix bug 1111: restart actions were not splitting words
	<li>init: wait for orphaned children too while waiting for sysinit-like processes (harald-tuxbox AT arcor.de)
	<li>ip route: "ip route" was misbehaving (extra argv+1 ate 1st env var)
	<li>last: do not go into endless loop on read error
	<li>less,klogd,syslogd,nc,tcpudp: exit on signal by killing itself, not exit(1)
	<li>less: "examine" command will not bomb out on bad file name now
	<li>less: fix bug where backspace wasn't actually deleting chars
	<li>less: make it a bit more resistant against status line corruption
	<li>less: improve search when data is not supplied fast enough by stdin - now will try reading for 1-2 seconds before declaring that there is no match. This fixes a very common annoyance with long manpages
	<li>less: update line input so that it doesn't interfere with screen update. Makes "man bash", [enter], [/], &lt;enter search pattern&gt;, [enter] more usable - manpage now draws even as you enter the pattern!
	<li>libbb: filename completion matches dangling symlinks too
	<li>libbb: fix getopt state corruption for NOFORK applets
	<li>libbb: full_read/write now will report partial data counts prior to error
	<li>libbb: intrduce and use safe_gethostname. By Tito &lt;farmatito AT tiscali.it&gt;
	<li>libbb: introduce and use nonblock_safe_read(). Yay! Our shells are immune from this nasty O_NONBLOCK now!
	<li>login,su: avoid clearing environment with some options, as was intended
	<li>microcom: read more than 1 byte from device, if possible
	<li>microcom: split -d (delay) option away from -t
	<li>mktemp: support -p DIR (Timo Teras &lt;timo.teras at iki.fi&gt;)
	<li>mount: #ifdef out MOUNT_LABEL code parts if it is not selected
	<li>mount: add another mount helper call method
	<li>mount: allow and ignore _netdev option
	<li>mount: make -f work even without mtab support (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
	<li>mount: optional support for -vv verbosity
	<li>mount: plug a hole where FEATURE_MOUNT_HELPERS could allow execution of arbitrary command
	<li>mount: recognize "dirsync" (closes bug 835)
	<li>mount: sanitize environment if called by non-root
	<li>mount: support for mount by label. Closes bug 1143
	<li>mount: with -vv -f, say what mount() calls we were going to make
	<li>msh: create testsuite (based on hush one)
	<li>msh: don't use floating point in "times" builtin
	<li>msh: fix Ctrl-C handling with line editing
	<li>msh: fix for bug 846 ("break" didn't work second time)
	<li>msh: glob0/glob1/glob2/glob3 were just a sorting routine, removed
	<li>msh: instead of fixing "ls | cd", "cd | ls" etc disallow builtins in pipes. They make no sense there anyway
	<li>msh: stop trying to parse variables in "msh SCRIPT VAR=val param". They are passed as ordinary parameters
	<li>netstat: print control chars as "^C" etc
	<li>nmeter: fix bug where %[mf] behaves as %[mt]
	<li>nohup: compat patch by Christoph Gysin &lt;mailinglist.cache at gmail.com&gt;
	<li>od: handle /proc files (which have filesize 0) correctly
	<li>patch: don't trash permissions of patched file
	<li>ps: add conditional support for -o [e]time
	<li>ps: fix COMMAND column adjustment; overflow in USER and VSZ columns
	<li>reset: call "stty sane". Closes bug 1414
	<li>rmdir: optional long options support for Debian users. By Roberto Gordo Saez &lt;roberto.gordo AT gmail.com&gt;
	<li>run-parts: add --reverse
	<li>script: correctly handle buffered "tail" of output
	<li>sed: "n" command must reset "we had successful subst" flag. Closes bug 1214
	<li>sort: -z outputs NUL terminated lines. Closes bug 1591
	<li>stty: fix mishandling of control keywords (Ralf Friedl &lt;Ralf.Friedl AT online.de&gt;)
	<li>switch_root: stop at first non-option. Closes bug 1425
	<li>syslogd: avoid excessive time() system calls
	<li>syslogd: don't die if remote host's IP cannot be resolved. Retry resolutions every two minutes instead
	<li>syslogd: fix shmat error check
	<li>syslogd: optional support for dropping dups. Closes bug 436
	<li>syslogd: send "\n"-terminated messages over the network. Fully closes bug 1574
	<li>syslogd: tighten up hostname handling
	<li>tail: fix "tail -c 20 /dev/huge_disk" (was taking ages)
	<li>tar: compat: handle tarballs with only one zero block at the end
	<li>tar: autodetection of gz/bz2 compressed tarballs. Closes bug 992
	<li>tar: real support for -p. By Natanael Copa &lt;natanael.copa at gmail.com&gt;
	<li>tcpudp: narrow down time window where we have no wildcard socket
	<li>telnetd: use login always, not "sometimes login, sometimes shell"
	<li>test: fix mishandling of "test ! arg1 op arg2 more args"
	<li>trylink: instead of build error, disable --gc-sections if GLIBC and STATIC are selected
	<li>udhcp: make file paths configurable
	<li>udhcp: optional support for non-standard DHCP ports
	<li>udhcp: set correct op byte in the packet for DHCPDECLINE
	<li>udhcpc: filter unwanted packets in kernel (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn AT axis.com&gt;)
	<li>udhcpc: fix wrong options in decline and release packets (Jonas Danielsson &lt;jonas.danielsson AT axis.com&gt;)
	<li>umount: do not complain several times about the same mountpoint
	<li>umount: do not try to free loop device or erase mtab if remounted ro
	<li>umount: instead of non-standard -D, use -d with opposite meaning. Closes bug 1604
	<li>unlzma: shrink by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;
	<li>unzip: do not try to read entire compressed stream at once (it can be huge)
	<li>unzip: handle short reads correctly
	<li>vi: many fixes
	<li>zcip: don't chdir to root
	<li>zcip: open ARP socket before openlog (else we can trash syslog socket)
      </ul>
    </p>

  <li><b>21 March 2008 -- BusyBox old stable releases</b>
    <p>
    Bugfix-only releases for four past branches. Links to locations
    for future hot patches are in parentheses.
    <p>
    <a href="http://busybox.net/downloads/busybox-1.9.2.tar.bz2">1.9.2</a>
    (<a href="http://busybox.net/downloads/fixes-1.9.2/">patches</a>),
    <a href="http://busybox.net/downloads/busybox-1.8.3.tar.bz2">1.8.3</a>
    (<a href="http://busybox.net/downloads/fixes-1.8.3/">patches</a>),
    <a href="http://busybox.net/downloads/busybox-1.7.5.tar.bz2">1.7.5</a>
    (<a href="http://busybox.net/downloads/fixes-1.7.5/">patches</a>),
    <a href="http://busybox.net/downloads/busybox-1.5.2.tar.bz2">1.5.2</a>
    (<a href="http://busybox.net/downloads/fixes-1.5.2/">patches</a>).
    <p>
    <a href="http://busybox.net/fix.html">How to add a patch.</a>
    </p>

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


</ul>

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

