diff options
authorDenys Vlasenko <>2010-11-23 08:29:27 (GMT)
committerDenys Vlasenko <>2010-11-23 08:29:27 (GMT)
commit6deeded94283c05ae520fe16d3bb79c6585dc25b (patch)
parent7457fbb8cbcdeaa20485244d91d9156cd99c3f21 (diff)
Announce 1.18.0
Signed-off-by: Denys Vlasenko <>
1 files changed, 297 insertions, 0 deletions
diff --git a/news.html b/news.html
index 3c65cfb..c84d443 100644
--- a/news.html
+++ b/news.html
@@ -30,6 +30,303 @@
+ <li><b>22 November 2010 -- BusyBox 1.18.0 (stable)</b>
+ <p><a href="">BusyBox 1.18.0</a>.
+ (<a href="">git</a>,
+ <a href="">patches</a>,
+ <a href="">how to add a patch</a>)</p>
+ <p>Sizes of busybox-1.17.4 and busybox-1.18.0 (with equivalent config, static uclibc build):<pre>
+ text data bss dec hex filename
+ 831950 453 7224 839627 ccfcb busybox-1.17.4/busybox
+ 832282 450 7212 839944 cd108 busybox-1.18.0/busybox</pre>
+ </p>
+ <p>Changes since previous release:<pre>
+Alexander Shishkin:
+ pmap: new applet. +1k
+ add-shell, remove-shell: new applets
+ *: introduce and use xmkstemp. -65 bytes
+ fix out-of-tree build's recursion
+ ash: fix $! value when traps are set
+ ulimit: set both hard and soft limits by default
+ stat: remove superfluous setXXent() calls, plug memory leak
+ tail: free tailbuf upon cleaning up
+ smemcap: close /proc handle upon cleaning up
+ login: free fromhost upon cleaning up
+ mount: pass NULL, not "", as "data" to mount syscall if we have no opts
+Baruch Siach:
+ nandwrite: new applet
+ nanddump: new applet
+Bernhard Reutner-Fischer:
+ find_stray_empty_lines: make it work
+Bradley M. Kuhn:
+ wget: implement -T SEC; rework progress meter to not use signals (it was unsafe)
+Carmelo AMOROSO:
+ insmod: Do not add a pair of "" around the arguments of the module
+Christian Hornung:
+ ip: Fix command line option parsing of "ip route get ..."
+Cristian Ionescu-Idbohrn:
+ remove redundant ENABLE_DESKTOP in procps/ps.c
+Dan Fandrich:
+ improve portability of tests
+ rename a struct member from "interrupt"
+ testsuite: show the number of failures after a test run
+ fix some test cases
+ tar: add a test for extraction of read-only directory
+ avoid side effects in putc(), which may be implemented as a macro
+ fix a couple of failing tar tests
+ fix build failure for pmap
+ mark some more applets NOEXEC/NOFORK
+Daniel Dickinson:
+ syslogd: close/re-resolve/reopen remote sockets on some sendto() errors
+Denys Vlasenko:
+ base64: new applet
+ platform.h: regularize endian detection
+ md5 and shaN: big shrink
+ libbb/process_escape_sequence.c: fix recently broken handling of \\
+ libbb: add xfstat function
+ libbb: factor out common code from mpstat/iostat
+ libbb: fix fallout from last patch to obscure() (my mistake). +143 bytes
+ libbb: introduce and use common crc32 routine
+ libbb: introduce and use strcpy_and_process_escape_sequences
+ libbb: merge mail and uudecode's base64 decoders
+ lineedit: partially rewrite and clean up tab completion code
+ lineedit: do not hang on error, but return error indicator
+ lineedit: limit ASK_TERMINAL to the case when we can't find out the width
+ *: deinline SWAP_xE64 on 32-bit CPUs. Wins !90 bytes both on 32 and 64 bits
+ *: pass md5/shaN context pointer as 1st arg, not last
+ *: use SWAP_BE64 instead of open-coding it
+ shell/math.c: rename arith_eval_hooks to arith_state, put error code into it
+ shell/math.c: stop using bss variable
+ shell/math: deconvolute and explain ?: handling
+ shell/math: return string error indicator, not integer
+ shell: remove lash and bbsh
+ shell: unify endofname() in hush and ash
+ ash: add a testcase for bug 2281 (currently fails)
+ ash: add another ${v/a/b} test we currently fail
+ ash: add missing casts to match CTLfoo; add TODO comments
+ ash: fix another bit of var_bash4 bug
+ ash: fix another bug detected by var_bash4.tests
+ ash: fix dequoting error detected by var_bash4 test
+ ash: fix signal and "set -e" interaction
+ hush: add support for "set -o pipefail"
+ hush: add support for ${var/pattern/repl}, conditional on bash compat
+ hush: add support for set -x
+ hush: fix EXIT trap display inside exit trap handler
+ hush: fix another corner case with backslashes in heredocs
+ hush: fix backslash and terminator handling in &lt;&lt;[-]["]heredoc["]
+ hush: fix globbing+backslashes in unquoted $var expansion
+ hush: fix handling of \" in quoted/unquoted `cmd`
+ hush: fix handling of backslashes in variable assignment
+ hush: fix improper handling of newline and hash chars in a few corner cases
+ hush: fix multiple dependent variable expansion cases
+ hush: fix set -- q w e; (IFS='' echo "$*"; IFS=''; echo "$*"); echo "$*"
+ hush: fix var_bash3.tests failure
+ hush: fix var_bash5.tests failure
+ hush: implement brace expansion
+ hush: make pun_pipe loop clearer; fix "cmd | var=`cmd` | cmd" handling
+ hush: make set -x support optional
+ hush: optional support for history saving
+ awk: 00.123 is not a octal constant; neither is 009.123 - fixed
+ awk: fix segfault on closing non-opened file
+ bbconfig: add COMPRESS_BBCONFIG option
+ build system: make 3.82 compat fix. Closes bug 2323
+ cmp: with -s, do not report open errors
+ crond: check mtime on crontab dir every minute, and reread if changed
+ dc: make it use long longs for integer ops
+ decompress_bunzip2: handle concatenated .bz2 files; speedup
+ delgroup: correct the check for users who still use the group
+ depmod: generate "new-style" modules.dep with relative paths
+ diff: make diff -r much less eager to recurse into directories
+ dmesg: more correct skipping of &lt;N&gt; perfix
+ dnsd: fix 64-bit bug 2539
+ dos2unix: fix the SEGV when run w/o parameters
+ find: add rudimentary support for -exec {} +
+ free: add -b/k/m/g options; remove 4 TB limitation. +100 bytes
+ free: more compatible output. +16 bytes. Closes bug 2383
+ grep: cap insane -B NUM values to MAX_INT / 8. Fixes bug 2653
+ grep: fix -o match with empty string (suggested by Colin Watson (
+ ifupdown: %client%, not %clientid%
+ ifupdown: add manual method for IPv6. Closes bug 2497
+ init: do not clear CRTSCTS (fix from Debian bug 528560)
+ init: do not sleep forever on usage errors
+ init: if PID!=1, show clearer error message
+ ip: fix "ip r" breakage
+ klogd: do not log partial lines
+ ls: fix -lg to show group (was showing user)
+ lzop: fix misordered "v=NULL; free(v)"
+ man: add compatibility with man-db
+ mdev: fix non-working device deletion, add a test for that
+ mkswap: clear 1st kilobyte. Closes bug 1831
+ mktemp: fix "mktemp /path/to/tempfile.XXXXXX"
+ mktemp: fix for dir/file.XXXXXX param (by Rob). +9 bytes
+ modprobe-simple: do not error out on "rmmod module" if module is unloaded ok
+ modutils: explain why we no longer quote params
+ move read_base64 to libbb/uuencode.c
+ mv: implement -n option
+ nandwrite: complain on malformed -s NUM
+ nc: fix SEGV on -v when NC_EXTRA is off
+ netstat: fix IPv6 problem (garbage in scope_id)
+ netstat: was using buffers one byte short for scanf (no place for NUL) - fixed
+ ntpd: allow peer-less (standalone stratum 1 server) operation
+ ntpd: with -q, exit after 60 seconds even if time is not synced
+ patch: add -N and a test for it (fails for now)
+ patch: busyboxify by migrating from toybox to busybox helpers
+ patch: fix -N regression
+ patch: move closer to toybox code
+ patch: remove out-of-file build machinery
+ patch: simplify double list helpers
+ patch: support "patch [FILE [PATCH]]" format
+ sed: fix sed -i: unlike without -i, it does not forget ranges
+ sed: make N command behave as in GNU sed
+ seq: exit on write errors
+ sleep: fix fractional arguments in non-POSIX locale
+ sleep: make it non-NOFORK. Fixes ^C in standalone shell
+ smemcap: use correct tar magic
+ sort: -o FILE should create/truncate FILE
+ split: use xopen_stdin()
+ telnet: convert CR NUL -> CR on input. Closes bug 2569
+ telnet: do not check for 0 return from poll (it's impossible)
+ top: add tie breaking for topmem mode
+ udhcpc: emit maxsize option in all non-NAK type packets
+ udhcpc: exit if iface disappeared; use correct MAC if it changes
+ udhcpc: periodically reread our ifindex and mac
+ udhcpc: reduce stack usage by de-inlining routines with on-stack pkt buf
+ udhcpc: remove -c CLIENTID, it is hard to use, -x 61:hexstring does the same better
+ udhcpc: remove now-unneeded definitions of vendor and client-id opts
+ udhcpd: reduce stack usage by ~700 bytes. +28 bytes code size
+ umount: do not (ab)use PATH_MAX as mntent buffer size
+ unicode: update unicode_width on !unicode branch too. Closes bug 2593
+ vi: fix "ask terminal" code
+ wc: add support for -m
+Eric Lammerts:
+ stat: fix mtime/ctime/atime
+Gilles Espinasse:
+ patch: implement -E option
+Harald Becker:
+ deluser: make it simpler, fix inability to delete user from group
+Holger Blasum:
+ update docs/new-applet-HOWTO.txt
+Javier Viguera:
+ find_stray_empty_lines: fix tail "invalid context" error
+Jeremie Koenig:
+ readlink: use xmalloc_realpath()
+ mark Linux-specific configuration options
+ init,loginutils: termios portability fixes
+ init,halt: portability improvements
+ init: make the initial $TERM value configurable
+ libbb.h: add device names for Hurd and FreeBSD
+ mkdir: fix -p on FreeBSD
+ libbb: conditionalize AF_* usage in error reporting
+ tcpsvd,udpsvd: conditionalize usage of SO_ORIGINAL_DST
+ less: remove misguided dependency on PLATFORM_LINUX
+ bootchartd: mounting tmpfs is Linux-specific
+ vlock: disable linux console calls on other systems
+ cttyhack: serial console detection is Linux-specific
+ klogd: make it work on non-linux systems
+ stty: sort out preprocessor conditionals
+Kevin Cernekee:
+ docs: Change CVS references to Git
+ docs: Sync up AUTHORS and busybox_footer.pod
+ fdisk: initial stab at GPT partition support
+Lauri Kasanen:
+ Modprobe: Make -l open the right file
+ libbb: remove unused variable
+Lukas Huba:
+ patch: implement -E option
+Macpaul Lin:
+ fdisk: Add support for NDS32 architecture
+ modutils: Add support for NDS32 architecture
+Marek Polacek:
+ mpstat: new applet. ~5.5k
+ iostat: new applet. 2800 bytes
+ powertop: new applet
+ *: s/perror/bb_simple_perror_msg/g
+ *: use _exit() in sighandlers; showkey: do not use exit-thru-sighandler
+ bloat-o-meter: make it python3 compliant
+Matheus Izvekov:
+ diff: fix "diff dir1 dir2/". Closes bug 2203
+Mike Frysinger:
+ add recursive sanity check
+ allow SKIP_STRIP to be set in the env
+ rewrite with sed
+ inetd: if argv[0] is not specified, set it to program name
+Mike Shal:
+ lineedit: fix tab-completion of filenames with spaces
+Nguyen Thai Ngoc Duy:
+ wget: flush output to network before receving reply
+Pascal Bellard:
+ depmod: accept and ignore -u, -q, -C FILE
+ cpio: avoid 'not created: newer or same age file exists' message for dirs
+Peter Korsgaard:
+ httpd: optional support for gzip-compressed pages
+ httpd: simplified "gzip" test
+Richard Braun:
+ tune2fs: implement -c and -i options
+Rob Landley:
+ nbd-client: new applet
+ patch: replace it with toybox's implementation
+ patch: deal with ommitted ",len" in hunk headers (default len to 1)
+ awk: reduce ifdef forest
+Sergey Naumov:
+ blockdev: new applet
+Souf Oued:
+ acpid: add config file and map file
+Thomas Chou:
+ mkmakefile: make 3.82 fix
+Tito Ragusa:
+ deluser: 2nd attempt at deluser/delgroup size reduction and improvements
+ deluser: do not warn spuriously when deleting group by deluser
+Vladimir Dronnikov:
+ sendmail: fix assumption that headers should have a space after the colon
+Vladislav Grishenko:
+ udhcp: add support for 0x21 ROUTES and 0xf9 MS_STATIC_ROUTES options
+ udhcpc: fix OPTION_IP_PAIR parsing
+Waldemar Brodkorb:
+ OpenBSD compatibility
+Wolfram Sang:
+ lineedit: create history files with mode 0600</pre>
+ </p>
+ </li>
<li><b>22 November 2010 -- BusyBox 1.17.4 (stable)</b>
<p><a href="">BusyBox 1.17.4</a>.
(<a href="">git</a>,