more of pointless beautifuing on the web page
[oweals/busybox.git] / docs / busybox.net / news.html
1 <!--#include file="header.html" -->
2
3 <ul>
4   <li><b>21 August 2008 -- BusyBox 1.12.0 (unstable)</b>
5     <p><a href="http://busybox.net/downloads/busybox-1.12.0.tar.bz2">BusyBox 1.12.0</a>.
6     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_12_stable/">svn</a>,
7     <a href="http://busybox.net/downloads/fixes-1.12.0/">patches</a>,
8     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
9     <p>Sizes of busybox-1.11.1 and busybox-1.12.0 (with equivalent config, static uclibc build):<pre>
10    text    data     bss     dec     hex filename
11  829687     617    7052  837356   cc6ec busybox-1.11.1/busybox
12  822961     594    6832  830387   cabb3 busybox-1.12.0/busybox
13 </pre>
14
15     <p>New applets: rdev (Grant Erickson), setfont, showkey (both by Vladimir)
16
17     <p>Most significant changes since previous release (please report any regression):
18       <ul>
19         <li>ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"
20         <li>ash: dont allow e.g. exec &lt;&10 to attach to script's fd!
21         <li>ash: fix a bug where redirection fds were not closed afterwards. optimize close+fcntl(DUPFD) into dup2
22         <li>ash: fix segfault in "command -v"
23         <li>ash: fix very weak $RANDOM generator
24         <li>ash: prevent exec NN&gt;&amp;- from closing fd used for script reading
25         <li>ash: teach ash about 123&gt;file. It could take only 0..9 before
26         <li>hush: fix a case where "$@" must expand to no word at all
27         <li>hush: fix mishandling of a'b'c=fff as assignments. They are not
28         <li>hush: fix non-detection of builtins and applets in "v=break; ...; $v; ..." case
29         <li>hush: fix "while false; ..." exitcode; add testsuites
30         <li>hush: support "case...esac" statements (~350 bytes of code)
31         <li>hush: support "break [N]" and "continue [N]" statements
32         <li>hush: support "for if in do done then; do echo $if; done" case
33         <li>hush: support "for v; do ... done" syntax (implied 'in "$@"')
34         <li>hush: support $_NUMBERS variable names
35         <li>libbb: unified config parser (by Vladimir). This change affected many applets
36       </ul>
37
38     <p>Other changes:
39       <ul>
40         <li>libbb: dump: do not use uninitialized memory (closes bug 4364)
41         <li>libbb: fix bb_strtol[l]'s check for "-" (closes bug 4174)
42         <li>libbb: fix --help to not affect "test --help"
43         <li>libbb: fix mishandling of "all argv are opts" in getopt32()
44         <li>libbb: getopt32() should not ever touch argv[0] (even read)
45         <li>libbb: introduce and use xrealloc_vector
46         <li>libbb: [x]fopen_for_{read,write} introduced and used (by Vladimir)
47         <li>lineedit: fix use-after-free
48         <li>libunarchive: refactor handling of archived files. "tar f file.tar.lzma" now works too
49         <li>bb_strtoXXX: close bug 4174 (potential use of buf[-1])
50         <li>open_transformer: don't leak file descriptor
51         <li>open_transformer: fix bug of calling exit instead of _exit
52         <li>arp: without -H type, assume "ether" (closes bug 4564)
53         <li>ar: reuse existing ar unpacking code
54         <li>awk: fix a case with multiple -f options. Simplify -f file reading.
55         <li>build system: introduce and use FAST_FUNC: regparm on i386, otherwise no-op
56         <li>bunzip2: fix an uncompression error (by Rob Landley rob AT landley.net)
57         <li>b[un]zip2, g[un]zip: unlink destination if -f is given (closes bug 3854)
58         <li>comm: almost total rewrite
59         <li>cpio: fix -m to actually work as expected (by Pascal Bellard)
60         <li>cpio: internalize archive_xread_all_eof, add a few paranoia checks for corrupted cpio files
61         <li>cpio: make long opts depend only on ENABLE_GETOPT_LONG
62         <li>cpio: on unpack, limit filename length to 8k
63         <li>cpio: support some long options
64         <li>crond: use execlp instead of execl
65         <li>cut: fix buffer overflow (closes bug 4544)
66         <li>envdir: fix "envdir" (no params at all) and "envdir dir" cases
67         <li>findfs: make it use setuid-ness of busybox binary
68         <li>fsck: use getmntent_r instead of open-coded parsing (by Vladimir)
69         <li>fuser: a bit of safety in scanf
70         <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
71         <li>halt: signal init regardless of ENABLE_INIT
72         <li>httpd: add homedir directive specially for (and by) Walter Harms wharms AT bfs.de
73         <li>ifupdown: /etc/network/interfaces can have comments with leading blanks
74         <li>ifupdown: fixes for custom MAC address (by Wade Berrier wberrier AT gmail.com)
75         <li>ifupdown: fixes for shutdown of DHCP-managed interfaces (by Wade Berrier wberrier AT gmail.com)
76         <li>inetd: do not trash errno in signal handlers; in CHLD handler, stop looping through services when pid is found
77         <li>insmod: users report that "|| defined(__powerpc__)" is missing
78         <li>install: do not chown intermediate directories with install -d (by Natanael Copa)
79         <li>install: fix long option not taking params (closes bug 4584)
80         <li>lpd,lpr: send/receive ACKs after filenames, not only after file bodies
81         <li>ls: fix a bug where we may use uninintialized variable
82         <li>man: add handling of "man links", by Ivana Varekova varekova AT redhat.com
83         <li>man: fix a case when a full pathname to manpage is given
84         <li>man: fix inverted cat/man bool variable
85         <li>man: fix missed NULL termination of an array
86         <li>man: mimic "no manual entry for 'bogus'" message and exitcode
87         <li>man: support cat pages too (by Jason Curl jcurlnews AT arcor.de)
88         <li>man: teach it to use .lzma if requested by .config
89         <li>mdev: check for "/block/" substring for block dev detection
90         <li>mdev: do not complain if mdev.conf does not exist
91         <li>mdev: if device was moved at creation, at removal correctly remove it from moved location and also remove symlinks to it
92         <li>mdev: support for serializing hotplug
93         <li>mdev, init: use shared code for fd sanitization
94         <li>mkdir: fix "uname 0222; mkdir -p foo/bar" case (by Doug Graham dgraham AT nortel.com)
95         <li>modprobe: support for /etc/modprobe.d (by Timo Teras)
96         <li>modprobe: use buffering line reads (fgets()) instead of reads()
97         <li>modutils: optional modprobe-small (by Vladimir), 15kb smaller than standard one
98         <li>mount: support for "-o mand" and "[no]relatime"
99         <li>mount: support nfs mount option "nordiplus" (by Octavian Purdila opurdila AT ixiacom.com)
100         <li>mount: support "relatime" / "norelatime"
101         <li>mount: testsuite for "-o mand"
102         <li>msh: fix "while... continue; ..." (closes bug 3884)
103         <li>mv: fix a case when we move dangling symlink across mountpoints
104         <li>netstat: optional -p support (by L. Gabriel Somlo somlo AT cmu.edu)
105         <li>nmeter: fix read past the end of a buffer (closes bug 4594)
106         <li>od, hexdump: fix bug where xrealloc may move pointer, leaving other pointers dangling (closes bug 4104)
107         <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)
108         <li>printf: do not print garbage on "%Ld" (closes bug 4214)
109         <li>printf: fix %b, fix several bugs in %*.*, fix compat issues with aborting too early, support %zd; expand testsuite
110         <li>printf: protect against bogus format specifiers (closes bug 4184)
111         <li>sendmail: updates from Vladimir:
112         <li>sendmail: do not discard all headers
113         <li>sendmail: do not ignore CC; accept to: and cc: case-insensitively. +20 bytes
114         <li>sendmail: fixed mail recipient address
115         <li>sendmail: fixed SEGV if sender address is missed
116         <li>sendmail: use HOSTNAME instead of HOST when no server is explicitly specified
117         <li>sleep: if FANCY &amp;&amp; DESKTOP, support fractional seconds, minutes, hours and so on (coreutils compat)
118         <li>ssd: CLOSE_EXTRA_FDS in MMU case too
119         <li>ssd: do not stat -x EXECUTABLE, it is not needed anymore
120         <li>ssd: fix -a without -x case
121         <li>ssd: use $PATH
122         <li>tar: fix handling of tarballs with symlinks with size field != 0
123         <li>tar: handle autodetection for tiny .tar.gz files too, simplify autodetection
124         <li>taskset: fix some careless code in both fancy and non-fancy cases. -5 bytes for fancy, +5 for non-fancy
125         <li>tee: fix infinite looping on open error (echo asd | tee "")
126         <li>tee: "-" is a name for stdout, handle it that way
127         <li>telnetd: fix issue file printing
128         <li>test: fix parser to prefer binop over unop, as coreutils does
129         <li>testsuite: uniformly use $ECHO with -n -e
130         <li>time: don't segfault with no arguments
131         <li>touch: support -r REF_FILE if ENABLE_DESKTOP (needed for blackfin compile)
132         <li>tr: fix "access past the end of a string" bug 4354
133         <li>tr: fix "tr [=" case (closes bug 4374)
134         <li>tr: fix yet another access past the end of a string (closes bug 4374)
135         <li>unlzma: fix memory leak (by Pascal Bellard)
136         <li>vi: fix reversed checks for underflow
137         <li>vi: using array data after it fell out of scope is stupid
138         <li>xargs: fix -e default to match newer GNU xargs, add SUS mandated -E (closes bug 4414)
139         <li>other fixes and code size reductions in many applets
140       </ul>
141     <p>
142     The email address gpl@busybox.net is the recommended way to contact
143     the Software Freedom Law Center to report BusyBox license violations.
144     </p>
145
146   <li><b>12 July 2008 -- BusyBox 1.11.1 (stable)</b>
147     <p><a href="http://busybox.net/downloads/busybox-1.11.1.tar.bz2">BusyBox 1.11.1</a>.
148     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_11_stable/">svn</a>,
149     <a href="http://busybox.net/downloads/fixes-1.11.1/">patches</a>,
150     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
151     <p>
152     Bugfix-only release for 1.11.x branch. It contains fixes for awk,
153     bunzip2, cpio, ifupdown, ip, man, start-stop-daemon, uname and vi.
154     </p>
155
156   <li><b>11 July 2008 -- HOWTO is updated</b>
157     <p>
158     <a href="http://busybox.net/~vda/HOWTO/i486-linux-uclibc/HOWTO.txt">
159     "How to build static busybox for i486-linux-uclibc"</a> is updated
160     and tested on a fresh Fedora 9 install. Please report if it doesn't
161     work for you.
162     </p>
163
164   <li><b>25 June 2008 -- BusyBox 1.11.0 (unstable), BusyBox 1.10.4 (stable)</b>
165     <p><a href="http://busybox.net/downloads/busybox-1.11.0.tar.bz2">BusyBox 1.11.0</a>.
166     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_11_stable/">svn</a>,
167     <a href="http://busybox.net/downloads/fixes-1.11.0/">patches</a>,
168     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
169     <p><a href="http://busybox.net/downloads/busybox-1.10.4.tar.bz2">BusyBox 1.10.4</a>.
170     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
171     <a href="http://busybox.net/downloads/fixes-1.10.4/">patches</a>,
172     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
173     <p>Sizes of busybox-1.10.4 and busybox-1.11.0 (with equivalent config, static uclibc build):<pre>
174    text    data     bss     dec     hex filename
175  800675     636    7080  808391   c55c7 busybox-1.10.4
176  798392     611    6900  805903   c4c0f busybox-1.11.0
177 </pre>
178
179     <p>New applets: inotify (Vladimir Dronnikov), man (Ivana Varekova),
180     fbsplash (Michele Sanges), depmod (Bernhard Fischer)
181
182     <p>Changes since previous release:
183       <ul>
184         <li>build system: reinstate CONFIG_CROSS_COMPILE_PREFIX
185         <li>ash: optional bash compatibility features added; other fixes
186         <li>hush: lots and lots of fixes
187         <li>msh: fix the case where the file has exec bit but can't be run directly (runs "$SHELL file" instead)
188         <li>msh: fix exit codes when command is not found or can't be execed
189         <li>udhcpc: added workaround for buggy kernels
190         <li>mount: fix mishandling of proto=tcp/udp
191         <li>diff: make it work on non-seekable streams
192         <li>openvt: made more compatible with "standard" one
193         <li>mdev: fix block/char device detection
194         <li>ping: add -w, -W support (James Simmons)
195         <li>crond: add handling of "MAILTO=user" lines
196         <li>start-stop-daemon: make --exec follow symlinks (Joakim Tjernlund)
197         <li>date: make it accept ISO date format
198         <li>echo: fix echo -e -n "msg\n\0" (David Pinedo)
199         <li>httpd: fix several bugs triggered by relative path in -h DIR
200         <li>printf: fix printf -%s- foo, printf -- -%s- foo
201         <li>syslogd: do not error out on missing files to rotate
202         <li>ls: support Unicode in names
203         <li>ip: support for the LOWER_UP flag (Natanael Copa)
204         <li>mktemp: make argument optional (coreutil 6.12 compat)
205         <li>libiproute: fix option parsing, so that "ip -o link" works again
206         <li>other fixes and code size reductions in many applets
207       </ul>
208     <p>
209     The email address gpl@busybox.net is the recommended way to contact
210     the Software Freedom Law Center to report BusyBox license violations.
211     </p>
212
213   <li><b>12 June 2008 -- Sponsors!</b>
214     <p>We want to thank the following companies which are providing support
215     for BusyBox project:
216       <ul>
217         <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html">
218         TYPO3 development agency</a> contributes financially.
219         <p>
220         <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided
221         a <a href="http://docs.blackfin.uclinux.org/doku.php?id=bf537_quick_start">
222         Blackfin development board</a> free of charge.
223         <a href="http://www.analog.com/blackfin">Blackfin</a>
224         is a NOMMU processor, and its availability for testing is invaluable.
225         If you are an embedded device developer,
226         please note that Analog Devices has entire Linux distribution available
227         for download for this board. Visit
228         <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a>
229         for more information.
230       </ul>
231     </p>
232
233   <li><b>5 June 2008 -- BusyBox 1.10.3 (stable)</b>
234     <p><a href="http://busybox.net/downloads/busybox-1.10.3.tar.bz2">BusyBox 1.10.3</a>.
235     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
236     <a href="http://busybox.net/downloads/fixes-1.10.3/">patches</a>,
237     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
238     <p>
239     Bugfix-only release for 1.10.x branch. It contains fixes for dnsd, fuser, hush,
240     ip, mdev and syslogd.
241     </p>
242
243   <li><b>8 May 2008 -- BusyBox 1.10.2 (stable)</b>
244     <p><a href="http://busybox.net/downloads/busybox-1.10.2.tar.bz2">BusyBox 1.10.2</a>.
245     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
246     <a href="http://busybox.net/downloads/fixes-1.10.2/">patches</a>,
247     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
248     <p>
249     Bugfix-only release for 1.10.x branch. It contains fixes for echo, httpd, pidof,
250     start-stop-daemon, tar, taskset, tab completion in shells, build system.
251     <p>Please note that mdev was backported from current svn trunk. Please
252     report if you encounter any problems with it.
253     </p>
254
255   <li><b>19 April 2008 -- BusyBox 1.10.1 (stable)</b>
256     <p><a href="http://busybox.net/downloads/busybox-1.10.1.tar.bz2">BusyBox 1.10.1</a>.
257     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
258     <a href="http://busybox.net/downloads/fixes-1.10.1/">patches</a>,
259     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
260     <p>
261     Bugfix-only release for 1.10.x branch. It contains fixes for
262     fuser, init, less, nameif, tail, taskset, tcpudp, top, udhcp.
263
264   <li><b>21 March 2008 -- BusyBox 1.10.0 (unstable)</b>
265     <p><a href="http://busybox.net/downloads/busybox-1.10.0.tar.bz2">BusyBox 1.10.0</a>.
266     (<a href="http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_10_stable/">svn</a>,
267     <a href="http://busybox.net/downloads/fixes-1.10.0/">patches</a>,
268     <a href="http://busybox.net/fix.html">how to add a patch</a>)</p>
269
270     <p>Sizes of busybox-1.9.2 and busybox-1.10.0 (with almost full config, static uclibc build):<pre>
271    text    data     bss     dec     hex filename
272  781405     679    7500  789584   c0c50 busybox-1.9.2
273  773551     640    7372  781563   becfb busybox-1.10.0
274 </pre>
275     <p>Top 10 stack users:<pre>
276 busybox-1.9.2:               busybox-1.10.0:
277 echo_dg                 4116 bb_full_fd_action       4112
278 bb_full_fd_action       4112 find_list_entry2        4096
279 discard_dg              4108 readlink_main           4096
280 discard_dg              4096 ipaddr_list_or_flush    3900
281 echo_stream             4096 iproute_list_or_flush   3680
282 discard_stream          4096 insmod_main             3152
283 find_list_entry2        4096 fallbackSort            2952
284 readlink_main           4096 do_iproute              2492
285 ipaddr_list_or_flush    3900 cal_main                2464
286 iproute_list_or_flush   3680 readhere                2308
287 </pre>
288
289     <p>New applets: brctl, chat (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
290         findfs, ifenslave (closes bug 115), lpd (by Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;),
291         lpr+lpq (by Walter Harms), script (by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;),
292         sendmail (Vladimir Dronnikov &lt;dronnikov AT gmail.com&gt;), tac, tftpd.
293
294     <p>Made NOMMU-compatible: crond, crontab, ifupdown, inetd, init, runsv, svlogd, tcpsvd, udpsvd.
295
296     <p>Changes since previous release:
297       <ul>
298         <li>globally: add -Wunused-parameter
299         <li>globally: add optimization barrier to all "G trick" locations
300         <li>adduser/addgroup: check username for invalid chars (by Tito &lt;farmatito AT tiscali.it&gt;)
301         <li>adduser: optional support for long options. Closes bug 2134
302         <li>ash: handle "A=1 A=2 B=$A; echo $B". Closes bug 947
303         <li>ash: make ash -c "if set -o barfoo 2&gt;/dev/null; then echo foo; else echo bar; fi" work. Closes bug 1142
304         <li>build system: don't use "gcc -o /dev/null", old gcc can delete /dev/null in this case
305         <li>build system: fixes for cross-compiling on an OS X host
306         <li>build system: make it do without "od -t"
307         <li>build system: pass CFLAGS to link stage too. Closes bug 1376
308         <li>build system: add CONFIG_NOMMU
309         <li>cp: add ENABLE_FEATURE_VERBOSE_CP_MESSAGE. Closes bug 1470
310         <li>crontab: almost complete rewrite
311         <li>dnsd: properly set _src_ IP:port on outgoing UDP packets
312         <li>dpkg: fix bug where existence check was reversed
313         <li>eject: add -s for SCSI- and USB-devices (Nico Erfurth)
314         <li>fdisk: fix a case where break was reached only for DOS labels
315         <li>fsck: don't kill pid -1! (Roy Marples &lt;roy at marples.name&gt;)
316         <li>fsck_minix: fix bug in map_block2: s/(blknr &gt;= 256 * 256)/(blknr &lt; 256 * 256)/
317         <li>fuser: substantial rewrite
318         <li>getopt: add support for "a+" specifier for nonnegative int parameters. By Vladimir Dronnikov &lt;dronnikov at gmail.com&gt;
319         <li>getty: don't try to detect parity on local lines (Joakim Tjernlund &lt;Joakim.Tjernlund at transmode.se&gt;)
320         <li>halt: write wtmp entry if wtmp support is enabled
321         <li>httpd: "HEAD" support. Closes bug 1530
322         <li>httpd: fix bug 2004: wrong argv when interpreter is invoked
323         <li>httpd: fix bug where we did chdir("") if CGI path had only one "/"
324         <li>httpd: fix for POST upload
325         <li>httpd: support for "I:index.xml" syntax (Peter Korsgaard &lt;jacmet AT uclibc.org&gt;)
326         <li>hush: fix a case where none of pipe members could be started because of fork failure
327         <li>hush: more correct handling of piping
328         <li>hush: reinstate `cmd` handling for NOMMU
329         <li>hush: report [v]fork failures
330         <li>hush: set CLOEXEC on script file being executed
331         <li>hush: try to add a bit more of vfork-friendliness
332         <li>inetd: make "udp nowait" work
333         <li>inetd: make inetd IPv6-capable
334         <li>init: add FEATURE_KILL_REMOVED (Eugene Bordenkircher &lt;eugebo AT gmail.com&gt;)
335         <li>init: allow last line of config file to be not terminated by "\n"
336         <li>init: do not die if "/dev/null" is missing
337         <li>init: fix bug 1111: restart actions were not splitting words
338         <li>init: wait for orphaned children too while waiting for sysinit-like processes (harald-tuxbox AT arcor.de)
339         <li>ip route: "ip route" was misbehaving (extra argv+1 ate 1st env var)
340         <li>last: do not go into endless loop on read error
341         <li>less,klogd,syslogd,nc,tcpudp: exit on signal by killing itself, not exit(1)
342         <li>less: "examine" command will not bomb out on bad file name now
343         <li>less: fix bug where backspace wasn't actually deleting chars
344         <li>less: make it a bit more resistant against status line corruption
345         <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
346         <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!
347         <li>libbb: filename completion matches dangling symlinks too
348         <li>libbb: fix getopt state corruption for NOFORK applets
349         <li>libbb: full_read/write now will report partial data counts prior to error
350         <li>libbb: intrduce and use safe_gethostname. By Tito &lt;farmatito AT tiscali.it&gt;
351         <li>libbb: introduce and use nonblock_safe_read(). Yay! Our shells are immune from this nasty O_NONBLOCK now!
352         <li>login,su: avoid clearing environment with some options, as was intended
353         <li>microcom: read more than 1 byte from device, if possible
354         <li>microcom: split -d (delay) option away from -t
355         <li>mktemp: support -p DIR (Timo Teras &lt;timo.teras at iki.fi&gt;)
356         <li>mount: #ifdef out MOUNT_LABEL code parts if it is not selected
357         <li>mount: add another mount helper call method
358         <li>mount: allow and ignore _netdev option
359         <li>mount: make -f work even without mtab support (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn at axis.com&gt;)
360         <li>mount: optional support for -vv verbosity
361         <li>mount: plug a hole where FEATURE_MOUNT_HELPERS could allow execution of arbitrary command
362         <li>mount: recognize "dirsync" (closes bug 835)
363         <li>mount: sanitize environment if called by non-root
364         <li>mount: support for mount by label. Closes bug 1143
365         <li>mount: with -vv -f, say what mount() calls we were going to make
366         <li>msh: create testsuite (based on hush one)
367         <li>msh: don't use floating point in "times" builtin
368         <li>msh: fix Ctrl-C handling with line editing
369         <li>msh: fix for bug 846 ("break" didn't work second time)
370         <li>msh: glob0/glob1/glob2/glob3 were just a sorting routine, removed
371         <li>msh: instead of fixing "ls | cd", "cd | ls" etc disallow builtins in pipes. They make no sense there anyway
372         <li>msh: stop trying to parse variables in "msh SCRIPT VAR=val param". They are passed as ordinary parameters
373         <li>netstat: print control chars as "^C" etc
374         <li>nmeter: fix bug where %[mf] behaves as %[mt]
375         <li>nohup: compat patch by Christoph Gysin &lt;mailinglist.cache at gmail.com&gt;
376         <li>od: handle /proc files (which have filesize 0) correctly
377         <li>patch: don't trash permissions of patched file
378         <li>ps: add conditional support for -o [e]time
379         <li>ps: fix COMMAND column adjustment; overflow in USER and VSZ columns
380         <li>reset: call "stty sane". Closes bug 1414
381         <li>rmdir: optional long options support for Debian users. By Roberto Gordo Saez &lt;roberto.gordo AT gmail.com&gt;
382         <li>run-parts: add --reverse
383         <li>script: correctly handle buffered "tail" of output
384         <li>sed: "n" command must reset "we had successful subst" flag. Closes bug 1214
385         <li>sort: -z outputs NUL terminated lines. Closes bug 1591
386         <li>stty: fix mishandling of control keywords (Ralf Friedl &lt;Ralf.Friedl AT online.de&gt;)
387         <li>switch_root: stop at first non-option. Closes bug 1425
388         <li>syslogd: avoid excessive time() system calls
389         <li>syslogd: don't die if remote host's IP cannot be resolved. Retry resolutions every two minutes instead
390         <li>syslogd: fix shmat error check
391         <li>syslogd: optional support for dropping dups. Closes bug 436
392         <li>syslogd: send "\n"-terminated messages over the network. Fully closes bug 1574
393         <li>syslogd: tighten up hostname handling
394         <li>tail: fix "tail -c 20 /dev/huge_disk" (was taking ages)
395         <li>tar: compat: handle tarballs with only one zero block at the end
396         <li>tar: autodetection of gz/bz2 compressed tarballs. Closes bug 992
397         <li>tar: real support for -p. By Natanael Copa &lt;natanael.copa at gmail.com&gt;
398         <li>tcpudp: narrow down time window where we have no wildcard socket
399         <li>telnetd: use login always, not "sometimes login, sometimes shell"
400         <li>test: fix mishandling of "test ! arg1 op arg2 more args"
401         <li>trylink: instead of build error, disable --gc-sections if GLIBC and STATIC are selected
402         <li>udhcp: make file paths configurable
403         <li>udhcp: optional support for non-standard DHCP ports
404         <li>udhcp: set correct op byte in the packet for DHCPDECLINE
405         <li>udhcpc: filter unwanted packets in kernel (Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn AT axis.com&gt;)
406         <li>udhcpc: fix wrong options in decline and release packets (Jonas Danielsson &lt;jonas.danielsson AT axis.com&gt;)
407         <li>umount: do not complain several times about the same mountpoint
408         <li>umount: do not try to free loop device or erase mtab if remounted ro
409         <li>umount: instead of non-standard -D, use -d with opposite meaning. Closes bug 1604
410         <li>unlzma: shrink by Pascal Bellard &lt;pascal.bellard AT ads-lu.com&gt;
411         <li>unzip: do not try to read entire compressed stream at once (it can be huge)
412         <li>unzip: handle short reads correctly
413         <li>vi: many fixes
414         <li>zcip: don't chdir to root
415         <li>zcip: open ARP socket before openlog (else we can trash syslog socket)
416       </ul>
417     </p>
418
419   <li><b>21 March 2008 -- BusyBox old stable releases</b>
420     <p>
421     Bugfix-only releases for four past branches. Links to locations
422     for future hot patches are in parentheses.
423     <p>
424     <a href="http://busybox.net/downloads/busybox-1.9.2.tar.bz2">1.9.2</a>
425     (<a href="http://busybox.net/downloads/fixes-1.9.2/">patches</a>),
426     <a href="http://busybox.net/downloads/busybox-1.8.3.tar.bz2">1.8.3</a>
427     (<a href="http://busybox.net/downloads/fixes-1.8.3/">patches</a>),
428     <a href="http://busybox.net/downloads/busybox-1.7.5.tar.bz2">1.7.5</a>
429     (<a href="http://busybox.net/downloads/fixes-1.7.5/">patches</a>),
430     <a href="http://busybox.net/downloads/busybox-1.5.2.tar.bz2">1.5.2</a>
431     (<a href="http://busybox.net/downloads/fixes-1.5.2/">patches</a>).
432     <p>
433     <a href="http://busybox.net/fix.html">How to add a patch.</a>
434     </p>
435
436     <li><b>Old News</b><p>
437     <a href="/oldnews.html">Click here to read older news</a>
438     </p>
439     </li>
440
441
442 </ul>
443
444 <!--#include file="footer.html" -->
445