blob: e0a8138b6105b63e44ae17c8800c29783908c16a [file] [log] [blame]
Eric Andersen539eef62003-12-10 12:08:20 +00001<!--#include file="header.html" -->
2
Eric Andersen539eef62003-12-10 12:08:20 +00003<ul>
Denis Vlasenko65734172008-08-21 22:10:47 +00004
Denis Vlasenkoc4e4b6b2008-08-25 22:03:41 +00005 <li>
Denis Vlasenkoea7c9b32008-09-25 10:39:10 +00006 <p>We want to thank the following companies which are providing support for the BusyBox project:
Denis Vlasenkoc4e4b6b2008-08-25 22:03:41 +00007 <ul>
8 <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
9 TYPO3 development agency</a> contributes financially.</li>
10 <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided
11 a <a href="http://docs.blackfin.uclinux.org/doku.php?id=bf537_quick_start">
12 Blackfin development board</a> free of charge.
13 <a href="http://www.analog.com/blackfin">Blackfin</a>
14 is a NOMMU processor, and its availability for testing is invaluable.
15 If you are an embedded device developer,
16 please note that Analog Devices has entire Linux distribution available
17 for download for this board. Visit
18 <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a>
19 for more information.
20 </li>
21 </ul>
22 </p>
23 </li>
24
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000025 <li><b>15 April 2009 -- BusyBox 1.14.0 (unstable), BusyBox 1.13.4 (stable)</b>
26 <p><a href="http://busybox.net/downloads/busybox-1.14.0.tar.bz2">BusyBox 1.14.0</a>.
27 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_14_stable/">svn</a>,
28 <a href="http://busybox.net/downloads/fixes-1.14.0/">patches</a>,
29 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
30 <p><a href="http://busybox.net/downloads/busybox-1.13.4.tar.bz2">BusyBox 1.13.4</a>.
31 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
32 <a href="http://busybox.net/downloads/fixes-1.13.4/">patches</a>,
33 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
34
35 <p>Sizes of busybox-1.13.4 and busybox-1.14.0 (with equivalent config, static uclibc build):<pre>
36 text data bss dec hex filename
37 785501 483 7036 793020 c19bc busybox.1.13.4/busybox
38 788380 467 6960 795807 c249f busybox.1.14.0/busybox
39 15361 0 0 15361 3c01 busybox.1.13.4/shell/hush.o
40 20724 0 0 20724 50f4 busybox.1.14.0/shell/hush.o
41</pre>
42 <p>Most of growth is in hush. The rest shrank a bit.
43
44 <p>New applets:
45 <ul>
46 <li>flash_eraseall: by Sebastian Andrzej Siewior (bigeasy AT linutronix.de)</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +000047 <li>acpid, mkdosfs, tunctl: by Vladimir</li>
48 <li>ftpd: by Adam Tkac (vonsch AT gmail.com)</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000049 <li>timeout: by Roberto Foglietta</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +000050 <li>ionice: adapted from Linux kernel example by Walter Harms</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000051 <li>mkpasswd: synonym to cryptpw. mkpasswd is in Debian, OTOH cryptpw was added to busybox earlier. Trying to make both camps happy by making those two applets just aliases. They are command-line compatible</li>
52 </ul>
53
54 <p>Changes since previous release:
55
56 <p>lash and msh are deprecated, please migrate to hush.
57
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +000058 <p>hush had many, many fixes and features added: here documents, arithmetic evaluation, function support, and all this works on NOMMU too, safely, including 100kb-sized `command` and here documents. Here document support, arithmetic evaluation, improved ${var} operations, other fixes are by Mike Frysinger (vapier AT gentoo.org).
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000059
60 <p>Other changes:
61 <ul>
62 <li>libbb: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}. By Tito (farmatito AT tiscali.it)</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +000063 <li>libbb/sha{1,256,512}: major code shrink</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000064 <li>libbb/lineedit: make history saving/loading concurrent-safe</li>
65 <li>libbb: shrink linked list ops. By xmaks AT email.cz</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +000066 <li>libbb: str2sockaddr should accept [IPv6] addr without port - wget 'ftp://[::1]/file' needs that to work</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000067 <li>libbb: make bb_info_msg do atomic, unbuffered writes</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +000068 <li>util-linux/volumeid: abort early on read failures. Should help with probing missing fdd's</li>
69 <li>util-linux/volumeid: fix bug 249 "findfs finds the wrong partition"</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000070 <li>adduser: allow adding to group 0; don't _create_ /etc/shadow, only append data if it exists</li>
Denis Vlasenko93677342009-04-15 11:51:18 +000071 <li>ash: fix mishandled ^C and SIGINT (several cases)</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000072 <li>ash: fix "ash -c 'exec 1&gt;&amp;0'" complaining that fd 0 is busy</li>
73 <li>ash: fix $IFS handling in read. Closes bug 235</li>
Denis Vlasenko93677342009-04-15 11:51:18 +000074 <li>ash: fix a case where we were closing wrong descriptor</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000075 <li>ash: fix bad interaction between ash -c '....&amp;' and bash compat</li>
76 <li>ash: fix miscalculation of memory needed for eval tree. Found by Timo Teras (timo.teras AT iki.fi)</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000077 <li>ash: make dot command search current directory first, as bash does</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000078 <li>ash: printf builtin with no arguments should not exit</li>
79 <li>awk: fix long field separators case. By Ian Wienand (ianw AT vmware.com)</li>
80 <li>awk: in BEGIN section $0 should be "", not "0"</li>
81 <li>awk: make "struct global" hack more robust wrt alignment. Closes bug 131</li>
82 <li>brctl: fix compilation on 2.4.x kernels</li>
83 <li>chat: treat timeout more correctly</li>
84 <li>chat: recognize RECORD directive</li>
Denis Vlasenkobae3abf2009-04-15 11:55:27 +000085 <li>cksum, head, printenv: report errors via exitcode</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000086 <li>cpio: add -p, -0 and -L options</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +000087 <li>crond, crontab: make cron directory location configurable</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000088 <li>crond: correct more of logfile to 0666 (as usual, umask allows user to remove unwanted bits)</li>
89 <li>crond: put tasks in separate process groups</li>
90 <li>dc: fix the "base 2" patch omission of base not being set</li>
91 <li>depmod: accept and ignore -r. Linux kernel build needs this</li>
92 <li>depmod: fix -b option. By timo.teras AT iki.fi</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000093 <li>udhcpc: fix a problem where we don't open listening socket fast enough</li>
94 <li>udhcpc: stop filtering environment passed to the script</li>
Denis Vlasenkobae3abf2009-04-15 11:55:27 +000095 <li>udhcpd: disable option to have absolute lease times in lease file (that does not work with dumpleases)</li>
96 <li>udhcpd: write 64-bit current time in lease file. Without it, determination of remaining lease time is unreliable</li>
97 <li>udhcpd: remember hostnames of clients</li>
98 <li>dumpleases: fix -a option, use recorded current time in lease file, show hostnames</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +000099 <li>dnsd: fix a number of bugs. Ideas by Ming-Ching Tiew (mctiew AT yahoo.com)</li>
100 <li>dpkg: better and shorter code to compare versions. Taken from "official" dpkg by Eugene T. Bordenkircher (eugebo AT gmail.com)</li>
101 <li>du: fix "du /dir /dir" case</li>
102 <li>env: support -uVAR=VAL</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +0000103 <li>expand, unexpand: fix incorrect expansion in some cases</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000104 <li>expr: a bit more robust handling of regexps with groups. Closes bug 87</li>
105 <li>find: support --mindepth</li>
Denis Vlasenko6c76a962009-04-15 11:48:25 +0000106 <li>getty: make speed 0 mean "don't change speed", stop using non-portable way of setting speeds</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000107 <li>grep: support -z</li>
108 <li>gzip: fix gzip -dc bug caused by using stale getopt state</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000109 <li>httpd: set $HOST to Host: header value. By Tobias Poschwatta (tp AT fonz.de)</li>
110 <li>ifupdown: allow options to udhcpc to be configurable from .config</li>
111 <li>init: do not eat last char in messages; do not print duplicate "init:" prefix to syslog</li>
112 <li>init: fix a bug where on reload order of entries might be wrong</li>
113 <li>init: major improvement in documentation and signal handling. Lots of nasty, but hard to trip, races are fixed</li>
114 <li>init: reinstate proper handling of !ENABLE_FEATURE_USE_INITTAB</li>
115 <li>init: remove wait loop on restart, it may be dangerous</li>
116 <li>init: test for vt terminal with VT_OPENQRY, assume that anything else is TERM=vt102, not TERM=linux. Closes bug 195</li>
117 <li>inotifyd: add x, o, and u events</li>
118 <li>inotifyd: fix buffer overflow and "unreaped zombies" problem</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000119 <li>inotifyd: conserve resourses by closing unused inotify descriptors</li>
120 <li>insmod/modprobe: do not pass NULL to kernel as module parameter</li>
121 <li>ip: in "ip rule add from all table 1", "all" is taken as 0.0.0.0/32, whereas "any" and "default" would be 0.0.0.0/0. They must be all 0.0.0.0/0. Closes bug 57</li>
122 <li>iproute: fix ipXXX utilities trying to parse their applet name as their 1st parameter</li>
123 <li>klogctl: fix a problem where we don't terminate read data with '\0' and then misinterpret it</li>
124 <li>ls: do not follow links with -s. Closes bug 33</li>
125 <li>ls: implement -Q and -g (-g was accepted but ignored)</li>
126 <li>ls: make readlink error to not disrupt output (try ls -l /proc/self/fd)</li>
127 <li>man: better check for duplicated MANPATH</li>
128 <li>mdev: add support for - ("dont stop here") char</li>
129 <li>mdev: if /sys/class/block exists, don't scan /sys/block</li>
130 <li>mdev: ignore events with "$SUBSYSTEM" == "firmware" &amp;&amp; "$ACTION" == "remove"</li>
131 <li>mdev: provide $SUBSYSTEM. By Vladimir</li>
132 <li>modprobe/insmod for 2.4: support compressed modules. By Guenter (lists AT gknw.net)</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000133 <li>modprobe: rework/speedup by Timo Teras (timo.teras AT iki.fi)</li>
134 <li>modutils-24: fix bad interaction of xzalloc with xrealloc_vector</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +0000135 <li>mount: support "-O option", stop trying to mount swap partitions, fix CIFS support</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000136 <li>mountpoint: add -n option. By Vladimir</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +0000137 <li>nslookup: allow usage of IPv6 addresses or hostnames for DNS server name; allow for port specification. Tested to work on uclibc svn: "nslookup google.com [::1]:5353". glibc + IPv6 address of DNS server still does not work</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000138 <li>popmaildir: fix several grave bugs with using memory past end of malloc block</li>
139 <li>printf: fix 1.12.0 breakage (from %*d fix), it was misinterpreting "*"</li>
140 <li>printf: make integer format strings print long long-sized values</li>
141 <li>rmmod: fix bug 263 "modutils/rmmod can't remove modules with dash in name on 2.4 kernels"</li>
142 <li>sendmail: document and fix usage of fd #4, fix check for helper failure</li>
143 <li>sendmail: update by Vladimir</li>
144 <li>seq: add -w support. By Natanael Copa</li>
145 <li>seq: add support for "-s separator"</li>
146 <li>stat: make stat -f show filesystem "ID:" as coreutils does</li>
147 <li>sysctl: fix another corner case with "dots and slashes"</li>
148 <li>sysctl: fix broken -p [file]. Closes bug 231</li>
149 <li>sysctl: support recursing if name is a directory: "sysctl net.ipv4.conf". Patch by xmaks AT email.cz</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +0000150 <li>syslogd: make signal handling syncronous</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000151 <li>syslogd: create logfile with 0666 (affected by umask as usual), not 0600</li>
152 <li>tail: fix tail +N syntax not working. Closes bug 221</li>
153 <li>tar: do not change new tarfile's mode, GNU tar doesn't do it</li>
154 <li>tar: support GNU tar's "base256" encoding</li>
155 <li>telnetd: correctly output 0xff char</li>
156 <li>telnetd: do not advertise TELNET_LFLOW, we do not support it properly</li>
157 <li>tftp: when we infer local name from remote (-r [/]path/path/file), strip path. This mimics wget and is generally more intuitive</li>
158 <li>timeout: fix parsing of -t NUM on MMU</li>
159 <li>top: make it work again on 2.4 kernels. Closes bug 125</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +0000160 <li>tr: fix overflow in expand and complement, fix stop after [:class:], fix handling of ranges and [x]'s</li>
161 <li>tr: support -C as synonym to -c, support [:xdigit:]</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000162 <li>traceroute: rewrite. Do not emit raw IP packets, instead send UDP or ICMP packets and rely on the kernel to form IP headers, select source IP and interface</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +0000163 <li>uname: add support for -i and -o, fix printing of unknown -p value with -a option, support long options</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000164 <li>unzip: fix thinko with le/be conv and size. Closes bug 129</li>
165 <li>vi: fix several instances of major goof: when text grows, text[] might get reallocated! We were keeping around pointers to old place</li>
166 <li>vi: speedup and code shrink. By Walter Harms</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000167 <li>wget: --post-data support. By Harald Kuthe (harald-tuxbox AT arcor.de)</li>
Denis Vlasenko4e4c5db2009-04-15 11:11:19 +0000168 <li>wget: fix --header handling, more robust EINTR detection</li>
Denis Vlasenko5dcb43a2009-04-15 02:13:14 +0000169 </ul>
170 </p>
171
Denis Vlasenko01034172009-03-08 01:00:16 +0000172 <li><b>8 March 2009 -- BusyBox 1.13.3 (stable)</b>
173 <p><a href="http://busybox.net/downloads/busybox-1.13.3.tar.bz2">BusyBox 1.13.3</a>.
174 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
175 <a href="http://busybox.net/downloads/fixes-1.13.3/">patches</a>,
176 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
177
178 <p>1.13.3 is a bug fix release. It has fixes for awk, depmod, init, killall, mdev,
Denis Vlasenkoc8985bf2009-03-08 01:06:18 +0000179 modprobe, printf, syslogd, tar, top, unzip, wget.
Denis Vlasenko01034172009-03-08 01:00:16 +0000180 </p>
181 </li>
182
Denis Vlasenkob2ec0382008-12-31 03:43:24 +0000183 <li><b>31 December 2008 -- BusyBox 1.13.2 (stable), BusyBox 1.12.4 (stable)</b>
184 <p><a href="http://busybox.net/downloads/busybox-1.13.2.tar.bz2">BusyBox 1.13.2</a>.
185 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
186 <a href="http://busybox.net/downloads/fixes-1.13.2/">patches</a>,
187 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
188 <p><a href="http://busybox.net/downloads/busybox-1.12.4.tar.bz2">BusyBox 1.12.4</a>.
189 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
190 <a href="http://busybox.net/downloads/fixes-1.12.4/">patches</a>,
191 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
192
193 <p>Bug fix releases. 1.13.2 has fixes for crond, dc, init, ip, printf.
194 1.12.4 has fixes for ip and printf.
195 </p>
196 </li>
197
Denis Vlasenkof7d87f92008-11-29 06:57:53 +0000198 <li><b>29 November 2008 -- BusyBox 1.13.1 (stable), BusyBox 1.12.3 (stable)</b>
199 <p><a href="http://busybox.net/downloads/busybox-1.13.1.tar.bz2">BusyBox 1.13.1</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000200 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
Denis Vlasenkof7d87f92008-11-29 06:57:53 +0000201 <a href="http://busybox.net/downloads/fixes-1.13.1/">patches</a>,
202 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
203 <p><a href="http://busybox.net/downloads/busybox-1.12.3.tar.bz2">BusyBox 1.12.3</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000204 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
Denis Vlasenkof7d87f92008-11-29 06:57:53 +0000205 <a href="http://busybox.net/downloads/fixes-1.12.3/">patches</a>,
206 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
207
Denis Vlasenkod16950d2008-11-29 09:05:50 +0000208 <p>Bug fix releases. 1.13.1 has fixes for ash, option parsing, id, init,
209 inotifyd, klogd, line editing and modprobe. 1.12.3 has fixes
Denis Vlasenkof7d87f92008-11-29 06:57:53 +0000210 for option parsing and line editing.
211 </p>
212 </li>
213
Denis Vlasenko6f058742008-11-10 22:23:20 +0000214 <li><b>10 November 2008 -- BusyBox 1.13.0 (unstable), BusyBox 1.12.2 (stable)</b>
215 <p><a href="http://busybox.net/downloads/busybox-1.13.0.tar.bz2">BusyBox 1.13.0</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000216 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>,
Denis Vlasenko6f058742008-11-10 22:23:20 +0000217 <a href="http://busybox.net/downloads/fixes-1.13.0/">patches</a>,
218 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
219 <p><a href="http://busybox.net/downloads/busybox-1.12.2.tar.bz2">BusyBox 1.12.2</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000220 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
Denis Vlasenko6f058742008-11-10 22:23:20 +0000221 <a href="http://busybox.net/downloads/fixes-1.12.2/">patches</a>,
222 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
223
224 <p>Sizes of busybox-1.12.2 and busybox-1.13.0 (with equivalent config, static uclibc build):<pre>
225 text data bss dec hex filename
226 778291 551 7856 786698 c010a busybox-1.12.2/busybox
227 778981 551 7852 787384 c03b8 busybox-1.13.0/busybox
228</pre>
229
230 <p>New applets: blkid, devmem
231
232 <p>Changes since previous release:
233 <ul>
234 <li>mail applets: total overhaul. Vladimir as usual</li>
235 <li>ash: fix "while kill -0 $child; do true; done" looping forever</li>
236 <li>ash: fix NOEXEC mode - we were forgetting to pass environment</li>
237 <li>ash: fix a bug in standalone mode (corrupted getopt state)</li>
238 <li>ash: optionally support "&gt;&amp;file" and "&amp;&gt;file" redirections</li>
239 <li>awk: bitwise ops cast oprands and results to unsigned long, not signed. closes bug 4774</li>
240 <li>awk: fix typo in atan2 code. closes bug 5594</li>
241 <li>awk: improve handling of negative numbers in bitwise ops; fix handling of octal costants</li>
242 <li>awk: support hex constants</li>
243 <li>basename: fix error code (again)</li>
244 <li>cpio: emit TRAILER even when hard links were found. By Pascal Bellard (pascal.bellard AT ads-lu.com)</li>
245 <li>crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)</li>
246 <li>dc: support for bases 2 and 8, by Nate Case (ncase AT xes-inc.com)</li>
247 <li>dhcpc: treat "discover...select...discover..." loop the same way as "discover...discover...discover..."</li>
248 <li>dpkg: add dpkg -l PACKAGE_PATTERN. By Peter Korsgaard</li>
249 <li>fbset: fix mode matching code: original code may trigger false positive.</li>
250 <li>findfs: fix LUKS and FAT detection routines; do not exit if corrupted FAT fs makes us try to seek past the end</li>
251 <li>grep: fix 'echo aaa | grep -o a' + ENABLE_EXTRA_COMPAT case. By Natanael Copa</li>
252 <li>grep: fix EXTRA_COMPAT grep to honor -E and -i</li>
253 <li>gunzip: restore mtime</li>
254 <li>halt: reinstate -w even if !FEATURE_WTMP</li>
255 <li>hexdump: fix SEGV in hexdump -e ""</li>
256 <li>httpd: pass "Accept:" and "Accept-Language:" header to CGI scripts (Alina Friedrichsen)</li>
257 <li>hush: fix environment and memory leaks</li>
258 <li>hush: fix trashing of environment by local env vars: a=a; a=b cmd; - a was unset</li>
259 <li>id: improve compatibility with coreutils. By Tito Ragusa</li>
260 <li>inetd: fix a case when we have zero services</li>
261 <li>inetd: use config parser. by Vladimir</li>
262 <li>init: set stderr to NONBLOCK</li>
263 <li>insmod: fix detection of open failure</li>
264 <li>install: support -D</li>
265 <li>ip: fix ip route rejecting dotted quads as prefix</li>
266 <li>ip: route metric support (Natanael Copa)</li>
267 <li>iplink: accept shorthands for "address" keyword: "ip link set address 00:11:22:33:44:55"</li>
268 <li>kbd_mode: support -C TTY</li>
269 <li>kill[all[5]]: accept -s SIG too. By Steve Bennett (steveb AT workware.net.au)</li>
270 <li>klogd: handle many lines at once. By Steve Bennett (steveb AT workware.net.au)</li>
271 <li>less: support -I to be able to search case-insensitively</li>
272 <li>less: add optional line number toggle and resizing on window resize</li>
273 <li>libbb: do not reject floating point strings like ".15"</li>
274 <li>lineedit: fix bug 5824 "since rev 23530 fdisk and ed don't work any more"</li>
275 <li>lineedit: fix problems with empty commands in history</li>
276 <li>login: fix /etc/nologin handling</li>
277 <li>man: fix inconsistencies in handling $MANPATH</li>
278 <li>mdev: support match by major,minor. See bug 4714</li>
279 <li>modprobe-small: make insmod command line compatible</li>
280 <li>modprobe-small: support "blacklist" keyword in /etc/modules/MODULE_NAME</li>
281 <li>modprobe: fix a segfault when modprobe is called with no arguments at all</li>
282 <li>modutils/*: rewrite by Timo Teras (timo.teras AT iki.fi)</li>
283 <li>mount: fix "-o parm1 -o parm2" not accumulating</li>
284 <li>nmeter: 4k buffers are too small for /proc files, make them dynamically sized with 16k upper limit</li>
285 <li>ping: SO_RCVBUF must be bigger than packet size, otherwise large ping packets might fail to be received</li>
286 <li>route: fix for 64-bit BE machines by Seonghun Lim (wariua AT gmail.com)</li>
287 <li>rpm: fix incompatibilities which prevented rpm -i foo.src.rpm</li>
288 <li>runsvdir: support runsvdir-as-init</li>
289 <li>setarch: do not try to use non-existent data in argv[]</li>
290 <li>setfont: support -m and -C, support -m TEXTUAL_MAP (by Vladimir)</li>
291 <li>setup_environment: cd $HOME regardless of clear_env value</li>
292 <li>slattach: preserve speed in non-raw mode. By Matthieu Castet (matthieu.castet AT parrot.com)</li>
293 <li>start_stop_daemon: accept (and ignore) -R PARAM</li>
294 <li>sv: make default service dir configurable (Vladimir wants it)</li>
295 <li>sysctl: fix bug 3894 (by Kryzhanovskyy Maksym)</li>
296 <li>tar: fix bug 3844: non-root tar does not preserve perms</li>
297 <li>telnetd: handle emacs M-DEL and IAC-NOP. by Jim Cathey (jcathey AT ciena.com)</li>
298 <li>top: fix "top -d 1" (bug 5144)</li>
299 <li>top: optional SMP support by Vineet Gupta (vineetg76 AT gmail.com)</li>
300 <li>trylink: make messages less confusing</li>
301 <li>unzip: handle "central directory". needed for OpenOffice, gmail attachment .zips etc</li>
302 <li>vi: Rob's algorithm of reading and matching ESC sequences (nice work btw!)</li>
303 <li>vi: deal with EOF/error on stdin and with input NULs</li>
304 <li>vi: fix uninitialized last_search_pattern (bug 5794)</li>
305 <li>vi: handle chars 0x80, 0x81 etc correctly</li>
306 <li>volume identification: abolish /proc/partitions and /proc/cdroms scanning. It does not catch volume managers and such. Simply scan /dev/* for any block devices</li>
307 <li>watchdog: WDIOC_SETTIMEOUT accepts seconds, not milliseconds</li>
308 <li>watchdog: add -T option</li>
309 </ul>
310 <p>
311 The email address gpl@busybox.net is the recommended way to contact
312 the Software Freedom Law Center to report BusyBox license violations.
313 </p>
Denis Vlasenkof7d87f92008-11-29 06:57:53 +0000314 </li>
Denis Vlasenko6f058742008-11-10 22:23:20 +0000315
Denis Vlasenko22eb4102008-09-28 18:33:02 +0000316 <li><b>28 September 2008 -- BusyBox 1.12.1 (stable), BusyBox 1.11.3 (stable)</b>
317 <p><a href="http://busybox.net/downloads/busybox-1.12.1.tar.bz2">BusyBox 1.12.1</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000318 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
Denis Vlasenko22eb4102008-09-28 18:33:02 +0000319 <a href="http://busybox.net/downloads/fixes-1.12.1/">patches</a>,
320 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
321 <p><a href="http://busybox.net/downloads/busybox-1.11.3.tar.bz2">BusyBox 1.11.3</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000322 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>,
Denis Vlasenko22eb4102008-09-28 18:33:02 +0000323 <a href="http://busybox.net/downloads/fixes-1.11.3/">patches</a>,
324 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
325 <p>
326 Bugfix-only releases for 1.11.x and 1.12.x branches.
327 </p>
328 </li>
329
Denis Vlasenko65734172008-08-21 22:10:47 +0000330 <li><b>21 August 2008 -- BusyBox 1.12.0 (unstable), BusyBox 1.11.2 (stable)</b>
Bernhard Reutner-Fischer8c8601c2008-08-21 10:54:55 +0000331 <p><a href="http://busybox.net/downloads/busybox-1.12.0.tar.bz2">BusyBox 1.12.0</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000332 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>,
Bernhard Reutner-Fischer8c8601c2008-08-21 10:54:55 +0000333 <a href="http://busybox.net/downloads/fixes-1.12.0/">patches</a>,
334 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
Denis Vlasenko65734172008-08-21 22:10:47 +0000335 <p><a href="http://busybox.net/downloads/busybox-1.11.2.tar.bz2">BusyBox 1.11.2</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000336 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>,
Denis Vlasenko65734172008-08-21 22:10:47 +0000337 <a href="http://busybox.net/downloads/fixes-1.11.2/">patches</a>,
338 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
339
340 <p>Sizes of busybox-1.11.2 and busybox-1.12.0 (with equivalent config, static uclibc build):<pre>
Denis Vlasenkoc1b39ed2008-08-21 10:19:28 +0000341 text data bss dec hex filename
Denis Vlasenko65734172008-08-21 22:10:47 +0000342 829687 617 7052 837356 cc6ec busybox-1.11.2/busybox
Denis Vlasenkoc1b39ed2008-08-21 10:19:28 +0000343 822961 594 6832 830387 cabb3 busybox-1.12.0/busybox
344</pre>
345
346 <p>New applets: rdev (Grant Erickson), setfont, showkey (both by Vladimir)
347
Denis Vlasenko6cd36bc2008-08-22 11:16:52 +0000348 <p>Most significant changes since previous release (please report any regression):
Denis Vlasenkoc1b39ed2008-08-21 10:19:28 +0000349 <ul>
Bernhard Reutner-Fischerc3977922008-08-21 16:08:06 +0000350 <li>ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"</li>
351 <li>ash: dont allow e.g. exec &lt;&amp;10 to attach to script's fd! </li>
352 <li>ash: fix a bug where redirection fds were not closed afterwards. optimize close+fcntl(DUPFD) into dup2</li>
353 <li>ash: fix segfault in "command -v"</li>
354 <li>ash: fix very weak $RANDOM generator</li>
355 <li>ash: prevent exec NN&gt;&amp;- from closing fd used for script reading</li>
356 <li>ash: teach ash about 123&gt;file. It could take only 0..9 before</li>
357 <li>hush: fix a case where "$@" must expand to no word at all</li>
358 <li>hush: fix mishandling of a'b'c=fff as assignments. They are not</li>
359 <li>hush: fix non-detection of builtins and applets in "v=break; ...; $v; ..." case</li>
360 <li>hush: fix "while false; ..." exitcode; add testsuites</li>
361 <li>hush: support "case...esac" statements (~350 bytes of code)</li>
362 <li>hush: support "break [N]" and "continue [N]" statements</li>
363 <li>hush: support "for if in do done then; do echo $if; done" case</li>
364 <li>hush: support "for v; do ... done" syntax (implied 'in "$@"')</li>
365 <li>hush: support $_NUMBERS variable names</li>
366 <li>libbb: unified config parser (by Vladimir). This change affected many applets</li>
Denis Vlasenkoc1b39ed2008-08-21 10:19:28 +0000367 </ul>
368
Denis Vlasenko6cd36bc2008-08-22 11:16:52 +0000369 <p>Other changes:
Denis Vlasenkoc1b39ed2008-08-21 10:19:28 +0000370 <ul>
Bernhard Reutner-Fischerc3977922008-08-21 16:08:06 +0000371 <li>libbb: dump: do not use uninitialized memory (closes bug 4364)</li>
372 <li>libbb: fix bb_strtol[l]'s check for "-" (closes bug 4174)</li>
373 <li>libbb: fix --help to not affect "test --help"</li>
374 <li>libbb: fix mishandling of "all argv are opts" in getopt32()</li>
375 <li>libbb: getopt32() should not ever touch argv[0] (even read)</li>
376 <li>libbb: introduce and use xrealloc_vector</li>
377 <li>libbb: [x]fopen_for_{read,write} introduced and used (by Vladimir)</li>
378 <li>lineedit: fix use-after-free</li>
379 <li>libunarchive: refactor handling of archived files. "tar f file.tar.lzma" now works too</li>
380 <li>bb_strtoXXX: close bug 4174 (potential use of buf[-1])</li>
381 <li>open_transformer: don't leak file descriptor</li>
382 <li>open_transformer: fix bug of calling exit instead of _exit</li>
383 <li>arp: without -H type, assume "ether" (closes bug 4564)</li>
384 <li>ar: reuse existing ar unpacking code</li>
385 <li>awk: fix a case with multiple -f options. Simplify -f file reading. </li>
386 <li>build system: introduce and use FAST_FUNC: regparm on i386, otherwise no-op</li>
387 <li>bunzip2: fix an uncompression error (by Rob Landley rob AT landley.net)</li>
388 <li>b[un]zip2, g[un]zip: unlink destination if -f is given (closes bug 3854)</li>
389 <li>comm: almost total rewrite</li>
390 <li>cpio: fix -m to actually work as expected (by Pascal Bellard)</li>
391 <li>cpio: internalize archive_xread_all_eof, add a few paranoia checks for corrupted cpio files</li>
392 <li>cpio: make long opts depend only on ENABLE_GETOPT_LONG</li>
393 <li>cpio: on unpack, limit filename length to 8k</li>
394 <li>cpio: support some long options</li>
395 <li>crond: use execlp instead of execl</li>
396 <li>cut: fix buffer overflow (closes bug 4544)</li>
397 <li>envdir: fix "envdir" (no params at all) and "envdir dir" cases</li>
398 <li>findfs: make it use setuid-ness of busybox binary</li>
399 <li>fsck: use getmntent_r instead of open-coded parsing (by Vladimir)</li>
400 <li>fuser: a bit of safety in scanf</li>
401 <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>
402 <li>halt: signal init regardless of ENABLE_INIT</li>
403 <li>httpd: add homedir directive specially for (and by) Walter Harms wharms AT bfs.de</li>
404 <li>ifupdown: /etc/network/interfaces can have comments with leading blanks</li>
405 <li>ifupdown: fixes for custom MAC address (by Wade Berrier wberrier AT gmail.com)</li>
406 <li>ifupdown: fixes for shutdown of DHCP-managed interfaces (by Wade Berrier wberrier AT gmail.com)</li>
407 <li>inetd: do not trash errno in signal handlers; in CHLD handler, stop looping through services when pid is found</li>
408 <li>insmod: users report that "|| defined(__powerpc__)" is missing</li>
409 <li>install: do not chown intermediate directories with install -d (by Natanael Copa)</li>
410 <li>install: fix long option not taking params (closes bug 4584)</li>
411 <li>lpd,lpr: send/receive ACKs after filenames, not only after file bodies</li>
412 <li>ls: fix a bug where we may use uninintialized variable</li>
413 <li>man: add handling of "man links", by Ivana Varekova varekova AT redhat.com</li>
414 <li>man: fix a case when a full pathname to manpage is given</li>
415 <li>man: fix inverted cat/man bool variable</li>
416 <li>man: fix missed NULL termination of an array</li>
417 <li>man: mimic "no manual entry for 'bogus'" message and exitcode</li>
418 <li>man: support cat pages too (by Jason Curl jcurlnews AT arcor.de)</li>
419 <li>man: teach it to use .lzma if requested by .config</li>
420 <li>mdev: check for "/block/" substring for block dev detection</li>
421 <li>mdev: do not complain if mdev.conf does not exist</li>
422 <li>mdev: if device was moved at creation, at removal correctly remove it from moved location and also remove symlinks to it</li>
423 <li>mdev: support for serializing hotplug</li>
424 <li>mdev, init: use shared code for fd sanitization</li>
425 <li>mkdir: fix "uname 0222; mkdir -p foo/bar" case (by Doug Graham dgraham AT nortel.com)</li>
426 <li>modprobe: support for /etc/modprobe.d (by Timo Teras)</li>
427 <li>modprobe: use buffering line reads (fgets()) instead of reads()</li>
428 <li>modutils: optional modprobe-small (by Vladimir), 15kb smaller than standard one</li>
429 <li>mount: support for "-o mand" and "[no]relatime"</li>
430 <li>mount: support nfs mount option "nordiplus" (by Octavian Purdila opurdila AT ixiacom.com)</li>
431 <li>mount: support "relatime" / "norelatime"</li>
432 <li>mount: testsuite for "-o mand"</li>
433 <li>msh: fix "while... continue; ..." (closes bug 3884)</li>
434 <li>mv: fix a case when we move dangling symlink across mountpoints</li>
435 <li>netstat: optional -p support (by L. Gabriel Somlo somlo AT cmu.edu)</li>
436 <li>nmeter: fix read past the end of a buffer (closes bug 4594)</li>
437 <li>od, hexdump: fix bug where xrealloc may move pointer, leaving other pointers dangling (closes bug 4104)</li>
438 <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>
439 <li>printf: do not print garbage on "%Ld" (closes bug 4214)</li>
440 <li>printf: fix %b, fix several bugs in %*.*, fix compat issues with aborting too early, support %zd; expand testsuite</li>
441 <li>printf: protect against bogus format specifiers (closes bug 4184)</li>
442 <li>sendmail: updates from Vladimir:</li>
443 <li>sendmail: do not discard all headers</li>
444 <li>sendmail: do not ignore CC; accept to: and cc: case-insensitively. +20 bytes</li>
445 <li>sendmail: fixed mail recipient address</li>
446 <li>sendmail: fixed SEGV if sender address is missed</li>
447 <li>sendmail: use HOSTNAME instead of HOST when no server is explicitly specified</li>
448 <li>sleep: if FANCY &amp;&amp; DESKTOP, support fractional seconds, minutes, hours and so on (coreutils compat)</li>
449 <li>ssd: CLOSE_EXTRA_FDS in MMU case too</li>
450 <li>ssd: do not stat -x EXECUTABLE, it is not needed anymore</li>
451 <li>ssd: fix -a without -x case</li>
452 <li>ssd: use $PATH</li>
453 <li>tar: fix handling of tarballs with symlinks with size field != 0</li>
454 <li>tar: handle autodetection for tiny .tar.gz files too, simplify autodetection</li>
455 <li>taskset: fix some careless code in both fancy and non-fancy cases. -5 bytes for fancy, +5 for non-fancy</li>
456 <li>tee: fix infinite looping on open error (echo asd | tee "")</li>
457 <li>tee: "-" is a name for stdout, handle it that way</li>
458 <li>telnetd: fix issue file printing</li>
459 <li>test: fix parser to prefer binop over unop, as coreutils does</li>
460 <li>testsuite: uniformly use $ECHO with -n -e</li>
461 <li>time: don't segfault with no arguments</li>
462 <li>touch: support -r REF_FILE if ENABLE_DESKTOP (needed for blackfin compile)</li>
463 <li>tr: fix "access past the end of a string" bug 4354</li>
464 <li>tr: fix "tr [=" case (closes bug 4374)</li>
465 <li>tr: fix yet another access past the end of a string (closes bug 4374)</li>
466 <li>unlzma: fix memory leak (by Pascal Bellard)</li>
467 <li>vi: fix reversed checks for underflow</li>
468 <li>vi: using array data after it fell out of scope is stupid</li>
469 <li>xargs: fix -e default to match newer GNU xargs, add SUS mandated -E (closes bug 4414)</li>
470 <li>other fixes and code size reductions in many applets</li>
Denis Vlasenkoc1b39ed2008-08-21 10:19:28 +0000471 </ul>
Denis Vlasenkoc1b39ed2008-08-21 10:19:28 +0000472 </p>
473
Denis Vlasenkoe18d21d2008-07-11 22:11:50 +0000474 <li><b>12 July 2008 -- BusyBox 1.11.1 (stable)</b>
Bernhard Reutner-Fischer8c8601c2008-08-21 10:54:55 +0000475 <p><a href="http://busybox.net/downloads/busybox-1.11.1.tar.bz2">BusyBox 1.11.1</a>.
Bernhard Reutner-Fischer9b143a92008-12-18 00:43:31 +0000476 (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>,
Bernhard Reutner-Fischer8c8601c2008-08-21 10:54:55 +0000477 <a href="http://busybox.net/downloads/fixes-1.11.1/">patches</a>,
478 <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
Denis Vlasenkoe18d21d2008-07-11 22:11:50 +0000479 <p>
480 Bugfix-only release for 1.11.x branch. It contains fixes for awk,
481 bunzip2, cpio, ifupdown, ip, man, start-stop-daemon, uname and vi.
482 </p>
Bernhard Reutner-Fischerc3977922008-08-21 16:08:06 +0000483 </li>
Denis Vlasenkoe18d21d2008-07-11 22:11:50 +0000484
Denis Vlasenkoff814f82008-07-11 09:55:58 +0000485 <li><b>11 July 2008 -- HOWTO is updated</b>
486 <p>
Bernhard Reutner-Fischer8c8601c2008-08-21 10:54:55 +0000487 <a href="http://busybox.net/~vda/HOWTO/i486-linux-uclibc/HOWTO.txt">
Denis Vlasenkoff814f82008-07-11 09:55:58 +0000488 "How to build static busybox for i486-linux-uclibc"</a> is updated
489 and tested on a fresh Fedora 9 install. Please report if it doesn't
490 work for you.
491 </p>
Bernhard Reutner-Fischerc3977922008-08-21 16:08:06 +0000492 </li>
Denis Vlasenkoff814f82008-07-11 09:55:58 +0000493
Denis Vlasenko6e18f9a2008-06-25 15:58:00 +0000494
Denis Vlasenko6e18f9a2008-06-25 15:58:00 +0000495
Bernhard Reutner-Fischer9ff245f2008-08-22 08:45:01 +0000496 <li><b>Old News</b><p>
497 Click here to read <a href="oldnews.html">older news</a>
Rob Landleyd879ffb2006-06-27 21:29:56 +0000498 </p>
Bernhard Reutner-Fischerc3977922008-08-21 16:08:06 +0000499 </li>
Eric Andersen539eef62003-12-10 12:08:20 +0000500
501</ul>
502
503<!--#include file="footer.html" -->
504