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

<ul>

  <li>
    <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>
        <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.
        </li>
      </ul>
    </p>
  </li>

  <li><b>21 August 2008 -- BusyBox 1.12.0 (unstable), BusyBox 1.11.2 (stable)</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><a href="http://busybox.net/downloads/busybox-1.11.2.tar.bz2">BusyBox 1.11.2</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.2/">patches</a>,
    <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>

    <p>Sizes of busybox-1.11.2 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.2/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>
	<li>ash: dont allow e.g. exec &lt;&amp;10 to attach to script's fd! </li>
	<li>ash: fix a bug where redirection fds were not closed afterwards. optimize close+fcntl(DUPFD) into dup2</li>
	<li>ash: fix segfault in "command -v"</li>
	<li>ash: fix very weak $RANDOM generator</li>
	<li>ash: prevent exec NN&gt;&amp;- from closing fd used for script reading</li>
	<li>ash: teach ash about 123&gt;file. It could take only 0..9 before</li>
	<li>hush: fix a case where "$@" must expand to no word at all</li>
	<li>hush: fix mishandling of a'b'c=fff as assignments. They are not</li>
	<li>hush: fix non-detection of builtins and applets in "v=break; ...; $v; ..." case</li>
	<li>hush: fix "while false; ..." exitcode; add testsuites</li>
	<li>hush: support "case...esac" statements (~350 bytes of code)</li>
	<li>hush: support "break [N]" and "continue [N]" statements</li>
	<li>hush: support "for if in do done then; do echo $if; done" case</li>
	<li>hush: support "for v; do ... done" syntax (implied 'in "$@"')</li>
	<li>hush: support $_NUMBERS variable names</li>
	<li>libbb: unified config parser (by Vladimir). This change affected many applets</li>
      </ul>

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

  <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>



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

</ul>

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

