blob: 1dbf219f3e42b7c8ec452491ad0528790e86adaa [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 Vlasenkoe1022a92007-08-24 10:28:55 +00004 <li><b>24 August 2007 -- BusyBox 1.7.0 (unstable)</b>
5 <p><a href=http://busybox.net/downloads/busybox-1.7.0.tar.bz2>BusyBox 1.7.0</a>.
6 (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_7_stable/>svn</a>,
7 <a href=http://busybox.net/downloads/fixes-1.7.0/>patches</a>,
8 <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
9
10 <p>Applets which had many changes since 1.6.x:
11 <p>httpd:
12 <ul>
13 <li>works in standalone mode on NOMMU machines now (partly by Alex Landau &lt;landau_alex@yahoo.com&gt;)
14 <li>indexer example is rewritten in C
15 <li>optional support for error pages (by Pierre Metras &lt;genepi@sympatico.ca&gt;)
16 <li>stop reading headers using 1-byte reads
17 <li>new option -v[v]: prints client addresses, HTTP codes returned, URLs
18 <li>extended -p PORT to -p [IP[v6]:]PORT
Denis Vlasenko30f00a42007-08-24 11:18:21 +000019 <li>sendfile support (by Pierre Metras &lt;genepi@sympatico.ca&gt;)
Denis Vlasenkoe1022a92007-08-24 10:28:55 +000020 <li>add support for Status: CGI header
21 <li>fix CGI handling bug (we were closing wrong fd)
22 <li>CGI I/O loop still doesn't look 100% ok to me...
23 </ul>
24
25 <p>udhcp[cd]:
26 <ul>
27 <li>add -f "foreground" and -S "syslog" options
Denis Vlasenko46fc23b2007-08-24 11:49:55 +000028 <li>fixed "ifupdown + udhcpc_without_pidfile_creation" bug
Denis Vlasenkoe1022a92007-08-24 10:28:55 +000029 <li>new config option "Rewrite the lease file at every new acknowledge" (Mats Erik Andersson &lt;mats@blue2net.com&gt; (Blue2Net AB))
30 <li>consistently treat server_config.start/end IPs as host-order
31 <li>fix IP parsing for 64bit machines
32 <li>fix unsafe hton macro usage in read_opt()
33 <li>do not chdir to / when daemonizing
34 </ul>
35
Denis Vlasenko46fc23b2007-08-24 11:49:55 +000036 <p>top, ps, killall, pidof:
Denis Vlasenkoe1022a92007-08-24 10:28:55 +000037 <ul>
38 <li>simpler loadavg processing
39 <li>truncate usernames to 8 chars
40 <li>fix non-CONFIG_DESKTOP ps -ww (by rockeychu)
41 <li>improve /proc/PID/cmdinfo reading code
42 <li>use cmdline, not comm field (fixes problems with re-execed applets showing as processes with name "exe", and not being found by pidof/killall by applet name)
43 <li>reduce CPU usage in decimal conversion (optional) (corresponding speedup on kernel side is accepted in mainline Linux kernel, yay!)
44 <li>make percentile (0.1%) calculations configurable
45 <li>add config option and code for global CPU% display
46 <li>reorder columns, so that [P]PIDs are together and VSZ/%MEM are together - makes more sense
47 </ul>
48
49 <p>Build system improvements: doesn't link against libraries we don't need,
50 generates verbose link output and map file, allows for custom link
51 stripts (useful for removing extra padding, among other things).
52
53 <p>Code and data size in comparison with 1.6.1:<pre>
54Equivalent .config, i386 glibc dynamic builds:
55 text data bss dec hex filename
56 672671 2768 16808 692247 a9017 busybox-1.6.1/busybox
57 662948 2660 13528 679136 a5ce0 busybox-1.7.0/busybox
58 662783 2631 13416 678830 a5bae busybox-1.7.0/busybox.customld
59
60Same .config built against static uclibc:
61 765021 1059 11020 777100 bdb8c busybox-1.7.0/busybox_uc</pre>
62
63 <p>Code/data shrink done in applets: crond, hdparm, dd, cal, od, nc, expr, uuencode,
64 test, slattach, diff, ping, tr, syslogd, hwclock, zcip, find, pidof, ash, uudecode,
65 runit/*, in libbb.
66
67 <p>New applets:
68 <ul>
69 <li>pscan, expand, unexpand (from Tito &lt;farmatito@tiscali.it&gt;)
70 <li>setfiles, restorecon (by Yuichi Nakamura &lt;ynakam@hitachisoft.jp&gt;)
71 <li>chpasswd (by Alexander Shishkin &lt;virtuoso@slind.org&gt;)
72 <li>slattach, ttysize
73 </ul>
74
75 <p>Unfortunately, not much work is done on shells. This was mostly stalled
76 by lack of time (read: laziness) on my part to learn how to adapt existing
77 qemu-runnable image for a NOMMU architechture (available on qemu website)
78 for local testing of cross-compiled busybox on my machine.
79
80 <p>Other changes since previous release (abridged):
81 <ul>
82 <li>addgroup: disallow addgroup -g num user group; make -g 0 work (Tito &lt;farmatito@tiscali.it&gt;)
83 <li>adduser: close /etc/{passwd,shadow} before calling passwd etc. Spotted by Natanael Copa &lt;natanael.copa@gmail.com&gt;
84 <li>arping: -i should be -I, fixed
85 <li>ash: make "jobs | cat" work like in bash (was giving empty output)
86 <li>ash: recognize -l as --login equivalent; do not recognize +-login
87 <li>ash: fix buglet in DEBUG code (Nguyen Thai Ngoc Duy &lt;pclouds@gmail.com&gt;)
88 <li>ash: fix SEGV if type has zero parameters
89 <li>awk: fix -F 'regex' bug (miscounted fields if last field is empty)
90 <li>catv: catv without arguments was trying to use environ as argv (Alex Landau &lt;landau_alex@yahoo.com&gt;)
91 <li>catv: don't die on open error (emit warning)
92 <li>chown/chgrp: completely match coreutils 6.8 wrt symlink handling
93 <li>correct_password: do not print "no shadow passwd..." message
94 <li>crond: don't start sendmail with absolute path, don't report obsolete version (report true bbox version)
95 <li>dd: fix bug where we assume count=INT_MAX when count is unspecified
96 <li>devfsd: sanitization by Tito &lt;farmatito@tiscali.it&gt;
97 <li>echo: fix non-fancy echo
98 <li>fdisk: make it work with big disks (read: typical today's disks) even if CONFIG_LFS is unset
99 <li>find: -context support for SELinux (KaiGai Kohei &lt;kaigai@kaigai.gr.jp&gt;)
100 <li>find: add conditional support for -maxdepth and -regex, make -size match GNU find
101 <li>find: fix build failure on certain configs (found by Cristian Ionescu-Idbohrn &lt;cristian.ionescu-idbohrn@axis.com&gt;)
102 <li>fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one
103 <li>grep: implement -m MAX_MATCHES, fix buglets with context printing
104 <li>grep: fix selection done by FEATURE_GREP_EGREP_ALIAS (Maxime Bizon &lt;mbizon@freebox.fr&gt; (Freebox))
105 <li>hush: add missing dependencies (Maxime Bizon &lt;mbizon@freebox.fr&gt; (Freebox))
106 <li>hush: fix read builtin to not read ahead past EOL and to not use insane amounts of stack
107 <li>ifconfig: make it work with ifaces with interface no. > 255
108 <li>ifup/ifdown: make location of ifstate configurable
109 <li>ifupdown: make netmask parsing smaller and more strict (was accepting 255.0.255.0, 255.1234.0.0 etc...)
110 <li>install: fix -s (strip) option, fix install a b /a/link/to/dir
111 <li>libbb: consolidate ARRAY_SIZE macro (Walter Harms &lt;wharms@bfs.de&gt;)
112 <li>libbb: make /etc/network parsing configurable. -200 bytes when off
113 <li>libbb: nuke BB_GETOPT_ERROR, always die if there are mutually exclusive options
114 <li>libbb: xioctl and friends by Tito &lt;farmatito@tiscali.it&gt;
115 <li>login: optional support for PAM
116 <li>login: make /etc/nologin support configurable (-240 bytes)
117 <li>login: ask passwords even for wrong usernames
118 <li>md5_sha1_sum: fix mishandling when run as /bin/md5sum
119 <li>mdev: add support for firmware loading
120 <li>mdev: work even when CONFIG_SYSFS_DEPRECATED in kernel is off
121 <li>modprobe: add scanning of /lib/modules/`uname -r`/modules.symbols (by Yann E. MORIN)
122 <li>more: fixes by Tristan Schmelcher &lt;tpkschme@engmail.uwaterloo.ca&gt;
123 <li>nc: make connecting to IPv4 from IPv6-enabled hosts easier (was requiring -s local_addr)
124 <li>passwd: fix bug "updating shadow even if user's record is in passwd"
125 <li>patch: fix -p -1 handling
126 <li>patch: fix bad line ending handling (Nguyen Thai Ngoc Duy &lt;pclouds@gmail.com&gt;)
127 <li>ping: display roundtrip times with 1/1000th of ms, not 1/10 ms precision.
128 <li>ping: fix incorrect handling of -I (Iouri Kharon &lt;bc-info@styx.cabel.net>&gt;)
129 <li>ping: fix non-fancy ping6
130 <li>printenv: fix "printenv VAR1 VAR2" bug (spotted by Kalyanatejaswi Balabhadrapatruni &lt;kalyanatejaswi@yahoo.co.in&gt;)
131 <li>ps: fix -Z (by Yuichi Nakamura &lt;ynakam@hitachisoft.jp&gt;)
132 <li>rpm: add optional support for bz2 data. +50 bytes of code
133 <li>rpm: fix bogus "package is not installed" case
134 <li>sed: fix 'q' command handling (by Nguyen Thai Ngoc Duy &lt;pclouds@gmail.com&gt;)
135 <li>start_stop_daemon: NOMMU fixes by Alex Landau &lt;landau_alex@yahoo.com&gt;
136 <li>stat: fix option -Z SEGV
137 <li>strings: strings a b was processing a twice, fix that
138 <li>svlogd: fix timestamping, do not warn if config is missing
139 <li>syslogd, logread: get rid of head pointer, fix logread bug in the process
140 <li>syslogd: do not convert tabs to ^I, set syslog IPC buffer to mode 0644
141 <li>tar: improve OLDGNU compat, make old SUN compat configurable
142 <li>test: fix testing primary expressions like '"-u" = "-u"'
143 <li>uudecode: fix to base64 decode by Jorgen Cederlof &lt;jcz@google.com&gt;
144 <li>vi: multiple fixes by Natanael Copa &lt;natanael.copa@gmail.com&gt;
145 <li>wget: fix bug in base64 encoding (bug 1404). +10 bytes
146 <li>wget: lift 256 chars limitation on terminal width
147 <li>wget, zcip: use monotonic_sec instead of gettimeofday
148 </ul>
149 </p>
150 </li>
151
Denis Vlasenko16b7cb42007-06-30 17:12:14 +0000152 <li><b>30 June 2007 -- BusyBox 1.6.1 (stable)</b>
153 <p><a href=http://busybox.net/downloads/busybox-1.6.1.tar.bz2>BusyBox 1.6.1</a>.
154 (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/>svn</a>,
155 <a href=http://busybox.net/downloads/fixes-1.6.1/>patches</a>,
156 <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
157
158 <p>This is a bugfix-only release, with fixes to echo, hush, and wget.</p>
159 </li>
160
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000161 <li><b>1 June 2007 -- BusyBox 1.6.0 (unstable)</b>
162 <p><a href=http://busybox.net/downloads/busybox-1.6.0.tar.bz2>BusyBox 1.6.0</a>.
Bernhard Reutner-Fischer66db2642007-06-09 09:12:45 +0000163 (<a href=http://busybox.net/cgi-bin/viewcvs.cgi/branches/busybox_1_6_stable/>svn</a>,
164 <a href=http://busybox.net/downloads/fixes-1.6.0/>patches</a>,
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000165 <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
166
167 <p>Since this is a x.x.0 release, it probably does not deserve "stable"
168 label. Please help making 1.6.1 stable by testing 1.6.0.</p>
169 <p>Note that hush shell had many changes and (hopefully) is much improved now,
170 but there is a possibility that it regressed in some obscure cases. Please
171 report any such cases.</p>
172 <p>lash users please note: lash is going to be deprecated in busybox 1.7.0
173 and removed in the more distant future. Please migrate to hush.</p>
174 <p><a href=http://busybox.net/~vda/mem_usage-1.6.0.txt>Memory usage has decreased, but we can do better still</a></p>
175 <p>Other changes since previous release:
176 <ul>
177<li>NOFORK: audit small applets and mark some of them as NOFORK. Put big scary warnings in relevant places
178<li>NOFORK: factor out NOFORK/NOEXEC code from find. Use NOFORK/NOEXEC in find and xargs
179<li>NOFORK: remove potential xmalloc from NOFORK path in bb_full_fd_action
180<li>NOMMU: random fixes; compressed --help now works for NOMMU
181<li>SELinux: load_policy applet
182<li>[u]mount: extend -t option (Roy Marples &lt;uberlord@gentoo.org&gt;)
183<li>addgroup: clean up, fix adding users to existing groups and make it optional (Tito)
184<li>adduser: don't bomb out if shadow password file doesn't exist (from Tito &lt;farmatito@tiscali.it&gt;)
185<li>applet.c: do not even try to read config if run by real root; fix suid config handling
186<li>ash: fix infinite loop on exit if tty is not there anymore
187<li>ash: fix kill -l (by Mats Erik Andersson &lt;mats.andersson64@comhem.se&gt;)
188<li>ash: implement type -p, costs less than 10 bytes (patch by Mats Erik Andersson &lt;mats.andersson64@comhem.se&gt;)
189<li>awk: don't segfault on printf(%*s). Closes bug 1337
190<li>awk: guard against empty environment
191<li>awk: some 'lineno' vars were shorts, made them ints (code got smaller)
192<li>cat: stop using stdio.h opens
193<li>config system: clarify PREFER_APPLETS/SH_STANDALONE effects in help text
194<li>cryptpw: new applet (by Thomas Lundquist &lt;lists@zelow.no&gt;)
195<li>cttyhack: new applet
196<li>dd: NOEXEC fix; fix skip= parse error (spotted by Dirk Clemens &lt;develop@cle-mens.de&gt;)
197<li>deluser: add optional support for removing users from groups (by Tito &lt;farmatito@tiscali.it&gt;)
198<li>diff: fix SEGV (NULL deref) in diff -N
199<li>diff: fix segfault on empty dirs (Peter Korsgaard &lt;peter.korsgaard@barco.com&gt;)
200<li>dnsd: fix several buglets, make smaller; openlog(), so that applet's name is logged
201<li>dpkg: run_package_script() returns 0 if all ok and non-zero if failure. The result code was checked incorrectly in two places. (from Kim B. Heino &lt;Kim.Heino@bluegiga.com&gt;)
202<li>dpkg: use bitfields which are a bit closer to typical short/char. Code size -800 bytes
203<li>dumpleases: getopt32()-ization (from Mats Erik Andersson &lt;mats.andersson64@comhem.se&gt;)
204<li>e2fsprogs: stop using statics in chattr. Minor code shrinkage (-130 bytes)
205<li>ether-wake: close bug 1317. Reorder fuctions to avoid forward refs while at it
206<li>ether-wake: save a few more bytes of code
207<li>find: -group, -depth (Natanael Copa &lt;natanael.copa@gmail.com&gt;)
208<li>find: add support for -delete, -path (by Natanael Copa)
209<li>find: fix -prune. Add big comment about it
210<li>find: improve usage text (Natanael Copa &lt;natanael.copa@gmail.com&gt;)
211<li>find: missed 'static' on const data; size and prune were mixed up; use index_in_str_array
212<li>find: un-DESKTOPize (Kai Schwenzfeier &lt;niteblade@gmx.net&gt;)
213<li>find_root_device: teach to deal with /dev/ subdirs (by Kirill K. Smirnov &lt;lich@math.spbu.ru&gt;)
214<li>find_root_device: use lstat - don't follow links
215<li>getopt32: fix llist_t options ordering. llist_rev is now unused
216<li>getopt: use getopt32 for option parsing - inspired by patch by Mats Erik Andersson &lt;mats.andersson64@comhem.se&gt;
217<li>hdparm: fix multisector mode setting (from Toni Mirabete &lt;amirabete@catix.cat&gt;)
218<li>hdparm: make -T -t code smaller (-194 bytes), and output prettier
219<li>ifupdown: make it possible to use DHCP clients different from udhcp
220<li>ifupdown: reread state file before rewriting it. Fixes "ifup started another ifup" state corruption bug. Patch by Natanael Copa &lt;natanael.copa@gmail.com&gt;
221<li>ifupdown: small optimization (avoid doing useless work if we are not going to update state file)
222<li>ip: fix compilation if FEATURE_TR_CLASSES is off
223<li>ip: mv ip*_main into ip.c; use a dispatcher to save on needless duplication. Saves a minor 12b
224<li>ip: rewrite the ip applet to be less bloaty. Convert to index_in_(sub)str_array()
225<li>ip: set the scope properly. Thanks to Jean Wolter
226<li>iplink: shrink iplink; sanitize libiproute a bit (-916 bytes)
227<li>iproute: shrink a bit (-200 bytes)
228<li>kill: know much more signals; make code smaller; use common code for kill applet and ash kill builtin
229<li>klogd: remove dependency on syslogd
230<li>lash: "forking" applets are actually can be treated the same way as "non-forked". Also save a bit of space on trailing NULL array elements.
231<li>lash: fix kill buglet (didn't properly recognize ESRCH)
232<li>lash: make -c work; crush buffer overrun and free of non-malloced ptr (from Mats Erik Andersson &lt;mats.andersson64@comhem.se&gt;)
233<li>lash: recognize and use NOFORK applets
234<li>less: fix case when regex search finds nothing; fix very obscure memory corruption bug; fix less &lt;HUGEFILE + [End] busy loop
235<li>libbb: add xsendto, xunlink, xpipe
236<li>libbb: fix segfault in reset_ino_dev_hashtable() when *hashtable was NULL
237<li>libbb: make pidfile writing configurable
238<li>libbb: make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
239<li>libbb: rework NOMMU helper API so that it makes more sense and easier to use
240<li>libiproute: audit callgraph, shortcut error paths into die() functions
241<li>lineedit: do not try to open NULL history file
242<li>lineedit: nuke two unused variables and code which sets them
243<li>login: remove setpgrp call (makes it work from shell prompt again); sanitize stdio descriptors (we are suid, need to be careful!)
244<li>login: shrink login and set_environment by ~100 bytes
245<li>mount: fix incorrect usage of strtok (inadvertently used NULL sometimes)
246<li>mount: fix mounting of symlinks (mount from util-linux allows that)
247<li>msh: data/bss reduction (more than 9k of it); fix "underscore bug" (a_b=1111 didn't work); fix obscure case with backticks and closed fd 1
248<li>nc: port nc 1.10 to busybox
249<li>netstat: fix for bogus state value for raw sockets
250<li>netstat: introduce -W: wide, ipv6-friendly output; shrink by ~500 bytes
251<li>nmeter: should die if stdout doesn't like him anymore
252<li>patch: do not try to delete same file twice
253<li>ping: fix wrong sign extension of packet id (bug 1373)
254<li>ps: add -o tty and -o rss support; make a bit smaller; work around libc bug: printf("%.*s\n", MAX_INT, buffer)
255<li>run_parts: rewrite
256<li>run_parts: do not check path portion of a name for "bad chars". Needed for ifupdown. Patch by Gabriel L. Somlo &lt;somlo@cmu.edu&gt;
257<li>sed: fix escaped newlines in -f
258<li>split: new applet
259<li>stat: remove superfluous bss user (flags) and manually unswitch some areas
260<li>stty: fix option parsing bug (spotted by Sascha Hauer &lt;s.hauer@pengutronix.de&gt;)
261<li>svlogd: fix 'SEGV on uninitialized data' and make it honor TERM
262<li>tail: fix SEGV on "tail -N"
263<li>ipsvd: tcpsvd,udpsvd are new applets, GPL-ed 'clones' of Dan Bernstein's tcpserver. Author: Gerrit Pape &lt;pape@smarden.org&gt;, http://smarden.sunsite.dk/ipsvd/
264<li>test: close bug 1371; plug a memory leak; code size reduction
265<li>tftp: code diet, and I think retransmits were broken
266<li>tr: fix bug where we did not reject invalid classes like '[[:alpha'. debloat while at it
267<li>udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata; use pipe instead of socketpair
268<li>udhcp[cd]: stop using atexit magic fir pidfile removal; stop deleting our own pidfile if we daemonize
269<li>xargs: shrink code, ~80 bytes; simplify word list management
270<li>zcip: make it work on NOMMU (+ improve NOMMU support machinery)
271 </ul>
272 </p>
273 </li>
274
275 <li><b>20 May 2007 -- BusyBox 1.5.1 (stable)</b>
Denis Vlasenkofe52a742007-05-20 17:12:43 +0000276 <p><a href=http://busybox.net/downloads/busybox-1.5.1.tar.bz2>BusyBox 1.5.1</a>.
277 (<a href=http://busybox.net/downloads/fixes-1.5.1/>patches</a>,
278 <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
279
280 <p>This is a bugfix-only release, with fixes to hdparm, hush, ifupdown, ps
281 and sed.</p>
282 </li>
283
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000284 <li><b>23 March 2007 -- BusyBox 1.5.0 (unstable)</b>
Denis Vlasenko7d108232007-03-22 23:31:29 +0000285 <p><a href=http://busybox.net/downloads/busybox-1.5.0.tar.bz2>BusyBox 1.5.0</a>.
Denis Vlasenkofdf63a32007-04-07 09:35:56 +0000286 (<a href=http://busybox.net/downloads/fixes-1.5.0/>patches</a>,
287 <a href=http://busybox.net/fix.html>how to add a patch</a>)</p>
Denis Vlasenko9eb51ad2007-03-31 10:32:27 +0000288
Denis Vlasenko7d108232007-03-22 23:31:29 +0000289 <p>Since this is a x.x.0 release, it probably does not deserve "stable"
290 label. Please help making 1.5.1 stable by testing 1.5.0.</p>
291 <p>Notable changes since previous release:
292 <ul>
293 <li>find: added support for -user, -not, fixed -mtime, -mmin, -perm
294 <li>[de]archivers: merge common logic into one module
295 <li>ping[6]: unified code for both
296 <li>less: regex search improved
297 <li>ash: more readable code, testsuite added
298 <li>sed: several very obscure bugs fixed
299 <li>chown: -H, -L, -P support (required by POSIX)
300 <li>tar: handle (broken) checksums a-la Sun; tar restores mode again
301 <li>grep: implement -w, "implement" -a and -I by ignoring them
302 <li>cp: more sane behavior when overwriting existing files
303 <li>init: stop doing silly things with the console (-400 bytes)
304 <li>httpd: make httpd usable for NOMMU CPUs; fix POSTDATA handling bugs
305 <li>httpd: run interpreter for configured file extensions in any dir,
306 not only in /cgi-bin/
307 <li>chrt: new applet
308 <li>SELinux: SELinux-related code and -Z option added to several applets,
309 new SELinux-specific applets: chcon, runcon.
310 <li>Build system: produces link map, uses -Wwrite-strings to catch
311 improper usage of string constants.
312 <li>Data and bss section usage audited and reduced - should help NOMMU
313 targets.
314 <li>Applets with bug fixes: gunzip, vi, syslogd, dpkg, ls, adjtimex, resize,
315 sv, printf, diff, awk, sort, dpkg, diff, tftp
316 <li>Applets with usability improvements: swapon, more, ifup/ifdown, hwclock,
317 udhcpd, start_stop_daemon, cmp
318 <li>Applets with code cleaned up: telnet, fdisk, fsck_minix, mkfs_minix,
319 syslogd, swapon, runsv, svlogd, klogd
320 </ul>
321 </p>
322 </li>
323
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000324 <li><b>18 March 2007 -- BusyBox 1.4.2 (stable)</b>
Denis Vlasenko1c86a292007-03-18 18:21:44 +0000325 <p><a href=http://busybox.net/downloads/busybox-1.4.2.tar.bz2>BusyBox 1.4.2</a>.
326 </p>
327
328 <p>This release includes only trivial fixes accumulated since 1.4.1.
329 </p>
330 </li>
331
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000332 <li><b>25 January 2007 -- BusyBox 1.4.1 (stable)</b>
Denis Vlasenko5ff8f3d2007-01-26 23:35:12 +0000333 <p><a href=http://busybox.net/downloads/busybox-1.4.1.tar.bz2>BusyBox 1.4.1</a>.
334 (<a href=http://busybox.net/downloads/fixes-1.4.1/>patches</a>)</p>
Denis Vlasenko30abe972007-01-25 21:10:43 +0000335
336 <p>This release includes only trivial fixes accumulated since 1.4.0.
337 </p>
338 </li>
339
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000340 <li><b>20 January 2007 -- BusyBox 1.4.0 (stable)</b>
Denis Vlasenko52848ee2007-01-22 23:39:08 +0000341 <p><a href=http://busybox.net/downloads/busybox-1.4.0.tar.bz2>BusyBox 1.4.0</a>.
342 (<a href=http://busybox.net/downloads/fixes-1.4.0/>patches</a>)</p>
Denis Vlasenko31273582007-01-20 20:38:57 +0000343
344 <p>Since this is a x.x.0 release, it probably is a bit less "stable"
345 than usual.</p>
346 <p>Changes since previous release:
347 <ul>
348 <li>e2fsprogs are mostly removed from busybox. Some smaller parts remain,
349 the rest of it sits disabled in e2fsprogs/old_e2fsprogs/*, because
350 it's too bloated. Really. I'm afraid it's about the only way we can
351 ever get e2fsprogs cleaned up.
352 <li>less: many improvements. Now can display binary files
353 (although I expect it to have trouble with displays where 8bit chars
354 don't have 1-to-1 char/glyph relationship). Regexp search is not buggy
355 anymore. Less does not read entire input up-front. Reads input
356 as it appears (yay!). Works rather nice as man pager. I recommend it
357 for general use now.
358 <li>IPv6: generic support is in place, many networking applets are
359 upgraded to be IPv6 capable. Probably some work remains, but it is
360 already much better than what we had previously.
361 <li>arp: new applet (thanks to Eric Spakman).
362 <li>fakeidentd: non-forking standalone server part was taking ~90%
363 of the applet. Factored it out (in fact, rewrote it).
364 <li>syslogd: mostly rewritten.
365 <li>decompress_unzip, gzip: sanitized a bit.
366 <li>sed: better hadling of NULs
367 <li>httpd: stop adding our own "Content-type:" to CGI output
368 <li>chown: user.grp works again.
369 <li>minor bugfixes to: passwd, date, tftp, start_stop_daemon, tar,
370 ps, ifupdown, time, su, stty, awk, ping[6], sort,...
371 </ul>
372 </p>
373 </li>
374
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000375 <li><b>20 January 2007 -- BusyBox 1.3.2 (stable)</b>
Bernhard Reutner-Fischerb3f3c232007-01-20 21:46:20 +0000376 <p><a href=http://busybox.net/downloads/busybox-1.3.2.tar.bz2>BusyBox 1.3.2</a>.</p>
Denis Vlasenko31273582007-01-20 20:38:57 +0000377
378 <p>This release includes only one trivial fix accumulated since 1.3.1
379 </p>
380 </li>
381
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000382 <li><b>27 December 2006 -- BusyBox 1.3.1 (stable)</b>
Denis Vlasenko9cd7a242006-12-27 07:57:29 +0000383 <p><a href=http://busybox.net/downloads/busybox-1.3.1.tar.bz2>BusyBox 1.3.1</a>.
Denis Vlasenkoc1a33992006-12-28 21:44:43 +0000384 (<a href=http://busybox.net/downloads/fixes-1.3.1/>patches</a>)</p>
Denis Vlasenkof959bee2006-12-27 05:06:27 +0000385
386 <p>Closing 2006 with new release. It includes only trivial fixes accumulated since 1.3.0
387 </p>
388 </li>
389
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000390 <li><b>14 December 2006 -- BusyBox 1.3.0 (stable)</b>
Denis Vlasenko79e77cd2006-12-15 22:10:07 +0000391 <p><a href=http://busybox.net/downloads/busybox-1.3.0.tar.bz2>BusyBox 1.3.0</a>.
392 (<a href=http://busybox.net/downloads/fixes-1.3.0/>patches</a>)</p>
Denis Vlasenkof7b0d4a2006-12-14 00:22:51 +0000393
394 <p>This release has CONFIG_DESKTOP option which enables features
395 needed for busybox usage on desktop machine. For example, find, chmod
396 and chown get several less frequently used options, od is significantly
397 bigger but matches GNU coreutils, etc. Intended to eventually make
398 busybox a viable alternative for "standard" utilities for slightly
399 adventurous desktop users.
400 <p>Changes since previous release:
401 <ul>
402 <li>find: taking many more of standard options
403 <li>ps: POSIX-compliant -o implemented
404 <li>cp: added -s, -l
405 <li>grep: added -r, fixed -h
406 <li>watch: make it exec child like standard one does (was totally
407 incompatible)
Denis Vlasenkof7996f32007-01-11 17:20:00 +0000408 <li>tar: fix limitations which were preventing bbox tar usage
Denis Vlasenkoba092332006-12-27 09:47:53 +0000409 on big directories: long names and linknames, pax headers
Denis Vlasenkof7b0d4a2006-12-14 00:22:51 +0000410 (Linux kernel tarballs have that). Fixed a number of obscure bugs.
411 Raised max file limit (now 64Gb). Security fixes (/../ attacks).
412 <li>httpd: added -i (inetd), -f (foreground), support for
413 directory indexer CGI (example is included), bugfixes.
414 <li>telnetd: fixed/improved IPv6 support, inetd+standalone support,
415 other fixes. Useful IPv6 stuff factored out into libbb.
416 <li>runit/*: new applets adapted from http://smarden.sunsite.dk/runit/
417 (these are my personal favorite small-and-beautiful toys)
418 <li>minor bugfixes to: login, dd, mount, umount, chmod, chown, ln, udhcp,
419 fdisk, ifconfig, sort, tee, mkswap, wget, insmod.
420 </ul>
421 <p>Note that GnuPG key used to sign this release is different.
422 1.2.2.1 is also signed post-factum now. Sorry for the mess.
423 </p>
424 </li>
425
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000426 <li><b>29 October 2006 -- BusyBox 1.2.2.1 (fix)</b>
Denis Vlasenko41be5b82006-10-29 19:34:49 +0000427 <p><a href=http://busybox.net/downloads/busybox-1.2.2.1.tar.bz2>BusyBox 1.2.2.1</a>.</p>
Denis Vlasenko8d463072006-10-29 19:30:55 +0000428
429 <p>Added compile-time warning that static linking against glibc
430 produces buggy executables.
431 </li>
432
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000433 <li><b>24 October 2006 -- BusyBox 1.2.2 (stable)</b>
Rob Landley44c79172006-10-24 21:46:19 +0000434 <p>It's a bit overdue, but
435 <a href=http://busybox.net/downloads/busybox-1.2.2.tar.bz2>here is
436 BusyBox 1.2.2</a>.</p>
437
438 <p>This release has dozens of fixes backported from the ongoing development
439 branch. There are a couple of bugfixes to sed, two fixes to documentation
440 generation (BusyBox.html shouldn't have USE() macros in it anymore), fix
441 umount to report the right errno on failure and to umount block devices by
442 name with newer kernels, fix mount to handle symlinks properly, make mdev
443 delete device nodes when called for hotplug remove, fix a segfault
444 in traceroute, a minor portability fix to md5sum option parsing, a build
445 fix for httpd with old gccs, an options parsing tweak to hdparm, make test
446 fail gracefully when getgroups() returns -1, fix a race condition in
447 modprobe when two instances run at once (hotplug does this), make "tar xf
448 foo.tar dir/dir" extract all subdirectories, make our getty initialize the
449 terminal more like mingetty, an selinux build fix, an endianness fix in
450 ping6, fix for zcip defending addresses, clean up some global variables in
451 gzip to save memory, fix sulogin -tNNN, a help text tweak, several warning
452 fixes and build fixes, fixup dnsd a bit, and a partridge in a pear tree.</p>
453
454 <p>As <a href=http://lwn.net/Articles/202106/>Linux Weekly News noted</a>,
455 this is my (Rob's) last release of BusyBox. The new maintainer is Denis
456 Vlasenko, I'm off to do <a href=http://landley.net/code>other things</a>.
457 </p>
458 </li>
459
Denis Vlasenkoa0d75082007-06-01 14:40:03 +0000460 <li><b>29 September 2006 -- New license email address.</b>
Rob Landley530c3ef2006-09-29 22:43:12 +0000461 <p>The email address gpl@busybox.net is now the recommended way to contact
462 the Software Freedom Law Center to report BusyBox license violations.</p>
463
Rob Landley2aced7e2006-07-31 23:56:26 +0000464 <li><b>31 July 2006 -- BusyBox 1.2.1 (stable)</b>
465 <p>Since nobody seems to have objected too loudly over the weekend, I
466 might as well point you all at
467 <a href="http://busybox.net/downloads/busybox-1.2.1.tar.bz2">Busybox
468 1.2.1</a>, a bugfix-only release with no new features.</p>
469
470 <p>It has three shell fixes (two to lash: going "var=value" without
471 saying "export" should now work, plus a missing null pointer check, and
472 one to ash when redirecting output to a file that fills up.) Fix three
473 embarassing thinkos in the new dmesg command. Two build tweaks
474 (dependencies for the compressed usage messages and running make in the
475 libbb subdirectory). One fix to tar so it can extract git-generated
476 tarballs (rather than barfing on the pax extensions). And a partridge
477 in a pear... Ahem.</p>
478
479 <p>But wait, there's more! A passwd changing fix so an empty
480 gecos field doesn't trigger a false objection that the new passwd contains
481 the gecos field. Make all our setuid() and setgid() calls check the return
482 value in case somebody's using per-process resource limits that prevent
483 a user from having too many processes (and thus prevent a process from
484 switching away from root, in which case the process will now _die_ rather
485 than continue with root privileges). A fix to adduser to make sure that
486 /etc/group gets updated. And a fix to modprobe to look for modules.conf
487 in the right place on 2.6 kernels.</p>
488
Rob Landley01772ae2006-06-30 22:40:13 +0000489 <li><b>30 June 2006 -- BusyBox 1.2.0</b>
490 <p>The -devel branch has been stabilized and the result is
491 <a href="http://busybox.net/downloads/busybox-1.2.0.tar.bz2">Busybox
492 1.2.0</a>. Lots of stuff changed, I need to work up a decent changelog
493 over the weekend.</p>
494
495 <p>I'm still experimenting with how long is best for the development
496 cycle, and since we've got some largeish projects queued up I'm going to
497 try a longer one. Expect 1.3.0 in December. (Expect 1.2.1 any time
498 we fix enough bugs. :)</p>
499
Rob Landley1df45cf2006-07-08 18:11:00 +0000500 <p>Update: Here are <a href="http://busybox.net/downloads/busybox-1.2.0.fixes.patch">the first few bug fixes</a> that will go into 1.2.1.</p>
501
Rob Landleyc27c04c2006-05-17 19:59:24 +0000502 <li><b>17 May 2006 -- BusyBox 1.1.3 (stable)</b>
Rob Landleyd2ccc2b2006-05-17 21:04:53 +0000503 <p><a href="http://busybox.net/downloads/busybox-1.1.3.tar.bz2">BusyBox
Rob Landleyc27c04c2006-05-17 19:59:24 +0000504 1.1.3</a> is another bugfix release. It makes passwd use salt, fixes a
505 memory freeing bug in ls, fixes "build all sources at once" mode, makes
506 mount -a not abort on the first failure, fixes msh so ctrl-c doesn't kill
507 background processes, makes patch work with patch hunks that don't have a
508 timestamp, make less's text search a lot more robust (the old one could
509 segfault), and fixes readlink -f when built against uClibc.</p>
510
511 <p>Expect 1.2.0 sometime next month, which won't be a bugfix release.</p>
512
Rob Landleybb5b2ff2006-04-10 20:04:32 +0000513 <li><b>10 April 2006 -- BusyBox 1.1.2 (stable)</b>
514 <p>You can now download <a href="http://busybox.net/downloads/busybox-1.1.2.tar.bz2">BusyBox 1.1.2</a>, a bug fix release consisting of 11 patches
515 backported from the development branch: Some build fixes, several fixes
516 for mount and nfsmount, a fix for insmod on big endian systems, a fix for
517 find -xdev, and a fix for comm. Check the file "changelog" in the tarball
518 for more info.</p>
519
520 <p>The next new development release (1.2.0) is slated for June. A 1.1.3
521 will be released before then if more bug fixes crop up. (The new plan is
522 to have a 1.x.0 new development release every 3 months, with 1.x.y stable
523 bugfix only releases based on that as appropriate.)</p>
Denis Vlasenko9213a9e2006-09-17 16:28:10 +0000524
Rob Landley0949d302006-03-27 22:43:40 +0000525 <li><b>27 March 2006 -- Software Freedom Law Center representing BusyBox and uClibc</b>
526 <p>One issue Erik Andersen wanted to resolve when handing off BusyBox
527 maintainership to Rob Landley was license enforcement. BusyBox and
528 uClibc's existing license enforcement efforts (pro-bono representation
529 by Erik's father's law firm, and the
Bernhard Reutner-Fischer3515f6e2006-04-10 19:16:50 +0000530 <a href="http://www.busybox.net/shame.html">Hall of Shame</a>), haven't
Rob Landley0949d302006-03-27 22:43:40 +0000531 scaled to match the popularity of the projects. So we put our heads
532 together and did the obvious thing: ask Pamela Jones of
533 <a href="http://www.groklaw.net">Groklaw</a> for suggestions. She
534 referred us to the fine folks at softwarefreedom.org.</p>
535
536 <p>As a result, we're pleased to announce that the
537 <a href="http://www.softwarefreedom.org">Software Freedom Law Center</a>
538 has agreed to represent BusyBox and uClibc. We join a number of other
539 free and open source software projects (such as
Bernhard Reutner-Fischer3515f6e2006-04-10 19:16:50 +0000540 <a href="http://lwn.net/Articles/141806/">X.org</a>,
Rob Landley0949d302006-03-27 22:43:40 +0000541 <a href="http://lwn.net/Articles/135413/">Wine</a>, and
Bernhard Reutner-Fischeraf07a002006-04-16 20:56:03 +0000542 <a href="http://plone.org/foundation/newsitems/software-freedom-law-center-support/">Plone</a>
Rob Landley0949d302006-03-27 22:43:40 +0000543 in being represented by a fairly cool bunch of lawyers, which is not a
544 phrase you get to use every day.</p>
545
Rob Landley5fba2502006-03-23 03:08:09 +0000546 <li><b>22 March 2006 -- BusyBox 1.1.1</b>
547 <p>The new maintainer is Rob Landley, and the new release is <a href="http://busybox.net/downloads/busybox-1.1.1.tar.bz2">BusyBox 1.1.1</a>. Expect a "what's new" document in a few days. (Also, Erik and I have have another announcement pending...)</p>
Rob Landley0949d302006-03-27 22:43:40 +0000548 <p>Update: Rather than put out an endless stream of 1.1.1.x releases,
549 the various small fixes have been collected together into a
550 <a href="http://busybox.net/downloads/busybox-1.1.1.fixes.patch">patch</a>,
Rob Landley28ff9662006-03-27 23:22:16 +0000551 and new fixes will be appended to that as needed. Expect 1.1.2 around
552 June.</p>
Rob Landley5fba2502006-03-23 03:08:09 +0000553 </li>
Rob Landley734a7792006-01-14 07:43:22 +0000554 <li><b>11 January 2006 -- 1.1.0 is out</b>
555 <p>The new stable release is
556 <a href="http://www.busybox.net/downloads/busybox-1.1.0.tar.bz2">BusyBox
557 1.1.0</a>. It has a number of improvements, including several new applets.
Bernhard Reutner-Fischer3515f6e2006-04-10 19:16:50 +0000558 (It also has <a href="http://www.busybox.net/lists/busybox/2006-January/017733.html">a few rough spots</a>,
Rob Landley734a7792006-01-14 07:43:22 +0000559 but we're trying out a "release early, release often" strategy to see how
560 that works. Expect 1.1.1 sometime in March.)</p>
Eric Andersen539eef62003-12-10 12:08:20 +0000561
Eric Andersenc7bda1c2004-03-15 08:29:22 +0000562 <li><b>Old News</b><p>
Eric Andersen539eef62003-12-10 12:08:20 +0000563 <a href="/oldnews.html">Click here to read older news</a>
Rob Landleyd879ffb2006-06-27 21:29:56 +0000564 </p>
565 </li>
Eric Andersen539eef62003-12-10 12:08:20 +0000566
567
568</ul>
569
570<!--#include file="footer.html" -->
571