<!--#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: 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>libunarchive: refactor handling of archived files. "tar f file.tar.lzma" now works too
	<li>bb_strtoXXX: close bug 4174 (potential use of buf[-1])
	<li>open_transformer: don't leak file descriptor
	<li>open_transformer: fix bug of calling exit instead of _exit
	<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>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 (closes bug 4544)
	<li>envdir: fix "envdir" (no params at all) 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>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 of a buffer (closes bug 4594)
	<li>od, hexdump: fix bug where xrealloc may move pointer, leaving other pointers dangling (closes bug 4104)
	<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)
	<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>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: handle autodetection for tiny .tar.gz files too, simplify autodetection
	<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 (closes 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 the BusyBox project:
      <ul>
        <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
	TYPO3 development agency</a> contributes financially.
	<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" -->

