+0.61.pre
+
+ Development Version
+
+
+
+ New Applets:
+ * Erik Andersen -- Merged several applets from tinylogin,
+ namely adduser, addgroup, deluser, delgroup, getty.
+
+
+ Other Changes:
+
+ * Vladimir Oleynik, Manuel Novoa III, Aaron Lehmann
+ -- a whole bunch of ash size optimizations
+ -- Fix for ash leading redirections (i.e. '2>/dev/null ls rubbish')
+ * Rodney Brown <RDBrown@mira.net>
+ -- Optimized gzip.c, shrinking it be ~1.5k
+ * Matt Kraai
+ -- Fix sed s/[/]// handling (closes: #1208).
+ -- Fix `-/bin/sh' invocation (closes: #1209).
+ -- Fix ash exec (noted by Arne Bernin).
+ -- Fix tar segfault when include list is empty and exclude list is
+ not.
+ -- Fix sed s/$/@/ handling (noted by Joshua Hudson).
+ * Magick
+ -- made init run inittab command's in the order they show up
+ in the inittab file (FIFO instead of LIFO).
+
+
+ -Erik Andersen, --not yet released--
+
+
+
+0.60.1
+
+ Stable Release
+
+
+ New Applets & New Features:
+ none. :)
+
+ Known Problems (to be fixed in 0.60.2)
+ * msh can segfault on constructs such as
+ for i in `ls *.c` ; do echo $i ; done
+ due to a memory allocation problem. This only seems to cause
+ problems when the backtick expands to be several k in size.
+
+
+ Bugfixes:
+ * Matt Kraai
+ -- Fixed msh to support underscores in variable names.
+ -- Fixed a sed problem with unsatisfied backrefs (the problem was
+ noted by Martin Bene).
+ -- Removed CONFIG_SH define entirely. Now one simply picks the shell
+ or shells they want as CONFIG_<foo> in Config.h
+ -- Fixed head to use ferror(3) to check for errors, not errno.
+ * Shu-Hao Chang <shuhao_chang@trend.com.tw>
+ -- Fixed sed handling of multiple -e commands
+ * Magick <magick@linux-fan.com>
+ -- Fixed an init bug with AskFirst and /dev/null
+ * Jaspreet Singh <jsingh@somanetworks.com>
+ -- Fixed both a segfault and cosmetic bug in route
+ * Erik Andersen
+ -- Made the insmod options CONFIG_FEATURE_NEW_MODULE_INTERFACE and
+ CONFIG_FEATURE_OLD_MODULE_INTERFACE mutually exclusive
+ -- xgetcwd.c now includes sys/param.h to ensure PATH_MAX is defined
+ -- Fixed a potential segfault with lash + CONFIG_FEATURE_CLEAN_UP
+ -- Removed uint64_t from dos2unix, avoiding C lib compat. problems.
+ * Glenn McGrath
+ -- Rewrite of tftp (commands match atftp, accepts -b, can use
+ non-standard ports, and is smaller).
+ -- Fixed unarchive exclude list handling
+ * Manuel Novoa III
+ -- rewrite of simplify_path so it behaves itself (fixing some
+ problems with mount and other applets).
+ -- Fixed ifconfig 'broadcast +' handling and disabled it by default
+ * Matthias ? <matthias@corelatus.com>
+ -- Fixed syslogd to log all messages from a single connection, not
+ just the first.
+
+
+ -Erik Andersen, 23 August 2001
+
+
+0.60.0
+
+ Note:
+
+ For this release I have bumped the version number to 0.60.0. This
+ reflects the fact that this release is intended to form a new stable
+ BusyBox release series. If you need to rely on a stable version of
+ BusyBox, you should plan on using the stable 0.60.x series. If bugs
+ show up then I will release 0.60.1, then 0.60.2, etc... This is also
+ intended to deal with the fact that the BusyBox build system will be
+ getting a major overhaul for the next release and I don't want that to
+ break products that people are shipping. To avoid that, the new build
+ system will be released as part of a new BusyBox development series
+ that will have some not-yet-decided-on odd version number. Once things
+ stabablize and the new build system is working for everyone, then I
+ will release that as a new stable release series.
+
+ Critical Bugfixes:
+ * Matt Kraai
+ -- Fixed wget output file opening (wget failed in 0.52).
+ -- Fixed a memory leak in syslogd (found by Adam Slattery).
+ * Vladimir Oleynik, Matt Kraai, Erik Andersen
+ -- several nasty bugs in ash and msh. msh could not assign
+ any variables and had debug code still enabled. ash
+ had several compile errors (depending on selected options)
+ and variable assignment problems as well.
+
+ New Applets:
+ * David McCullough <davidm@lineo.com> -- modprobe
+ * Vladimir Oleynik -- traceroute
+ * Erik Andersen -- pidof
+
+ New Scripts:
+ * David Schleef, Erik Andersen, Stuart Hughes -- depmod.pl
+ This is a replacement for the depmod program from the modutils
+ package, but is fully cross platform and is designed to run on
+ your host system (not on the target).
+
+ Other Changes:
+ * Erik Andersen
+ -- fixed busybox.spec so it should now work on redhat systems
+ -- fixed dos2unix and unix2dos so they should work once again
+ -- Adjustments to make busybox more uClinux friendly. Busybox
+ should now work on uClinux systems without needing and source
+ code changes (applets that won't work on uClinux systems are
+ now automagicaly disabled).
+ -- various things (cleanups, libc compatibility work, etc, etc)
+ * Jim Gleason <jimg@lineo.com>
+ -- Fixed for sed, where it failed to preserve whether or not the
+ line was previously altered when running a subst command.
+ * Matt Kraai
+ -- Made tar read 20 512byte blocks at a time (like GNU tar)
+ -- Allow msh.c assignments with the export and readonly commands.
+ -- Added CONFIG_FEATURE_DEVFS to enable devfs device names.
+ -- Better devfs support
+ -- Don't save/restore vi readonly flag if vi is compiled read-only.
+ -- Reworked rdate option handling (is now smaller).
+ -- Size reduction in ping
+ -- Always write dd counts to stderr
+ -- Allow multiple shells to be enabled
+ * Aaron Lehmann
+ -- slimmed down md5sum
+ -- contributed a nice new (hand written, not lex/yacc) Posix math
+ support for ash, which is once again a full posix shell.
+ * Felix von Leitner <leitner@convergence.de> -- patches to make busybox
+ work with dietlibc.
+ * David McCullough
+ -- Adjustments to make busybox more uClinux friendly
+ * Glenn McGrath
+ -- Fixed gzip so when a filename is '-' it will use stdin/stdout
+ -- dpkg rewrite. Should now be compatable with the real dpkg,
+ but needs more testing.
+ -- Updates to archiving tools (gunzip/gzip/cpio/ar/etc)
+ -- Rewrote uuencode, will allow base64 encoding to be used by wget
+ * Vladimir Oleynik
+ -- Fixed tr to support 'tr a-z A-Z' syntax,
+ -- Many ash corrections, optimizations, and cleanups.
+ -- optimizations for traceroute, md5sum, chown, ping
+ -- cmdedit updates and API change
+ -- Namespace cleanup (i.e. adding 'static' private function calls)
+ -- added "stopped jobs" warning to ash on exit
+ * Adam Slattery
+ -- Fixed ping compile problem
+ * Robert J. Osborne <rj@resourceinternational.com>
+ -- fixed a vi bug with delete and escape sequences on empty files.
+
+
+ -Erik Andersen, 31 July 2001
+
+
+
+0.52
+
+ Critical Bugfixes:
+ * Glenn McGrath -- Fixed gunzip, zcat when reading from stdin
+ * Marc Karasek and Kanoj (kernel serial.c maintainer) -- fixed init
+ problem on serial consoles with 2.4.3+ kernels.
+
+ New Applets:
+ * Laurence Anderson -- rpm2cpio applet, this obsoletes rpmunpack
+ which has now been removed from BusyBox
+ * Laurence Anderson and Glenn McGrath -- cpio applet, currently
+ only supports unpacking the ascii cpio format.
+ * Vladimir Oleynik and Erik Andersen -- added ash, the most correct
+ busybox shell.
+ * Larry Doolittle -- hush, small shell designed specifically
+ for busybox. Quite usable but still a work in progress.
+ * Erik Andersen -- msh, minix shell. A very small but capable shell
+ that only uses vfork, so it can be used on uClinux systems.
+
+ Other Changes:
+ * Sterling Huxley -- Several bugfixes for the vi applet.
+ * Glenn McGrath -- Restructure unarchiving code to make more code
+ common to the ar, cpio, dpkg, dpkg-deb applets.
+ tar applet has not yet been assimilated...
+ * Matt Kraai -- Rewrote cp, dirname, mkdir, mv, and rm.
+ * Paul J.Y. Lahaie <pjlahaie@linuxcare.com> -- Fixed an endian-ness
+ bug in md5sum (in 0.51, md5sum on big endian machines was broken)
+ * Mark Whitley -- rewrote cut, major updates to grep and sed.
+ * Erik Andersen -- bunches of insmod fixes. It should now always
+ work (no more segfault or missing symbols problems).
+ * Bernhard Kuhn <kuhn@lpr.e-technik.tu-muenchen.de> and Jinux Kim
+ added uClinux/m68k insmod support.
+ * Manuel Novoa III -- rewrote make_human_readable so ls, du, and df
+ should work as expected. Eliminated use of floats.
+ * Aaron Lehmann <aaronl@vitelus.com> -- Scrubbed gzip.c
+ * Alan Modra <amodra@bigpond.net.au> -- fixed an hard to spot
+ bug breaking gunzip checksum checking.
+ * Gennady Feldman -- Fixed 'syslog -C'
+ * Gernot Poerner <gp@it-netservice.de> -- Added mount bind support.
+ * Adam Heath <doogie@debian.org> -- wget arbitrary header support
+ * John Beppu -- updated the automagical doc generator
+ * Zillions of other bugfixes, optimizations, and cleanups.
+
+
+
+ -Erik Andersen, 7 July 2001
+
+
+0.51
+ Critical Bugfixes:
+ * Erik Andersen -- Fixed a bug that could crash the shell in 0.50
+ when pressing <Enter> on an empty line.
+ * Gennady Feldman -- Fixed a bug that could crash the shell in 0.50
+ when performing an 'export' in the shell.
+ * Gennady Feldman -- fixed a syslogd bug where syslogd could cause
+ the init process to block (which can break systems badly).
+
+ New Applets:
+ * Sterling Huxley -- contributed a new vi applet! This is a very
+ functional vi implementation in Only 22k.
+ * Erik Andersen -- added env applet
+
+ Other changes:
+ * Erik Andersen -- Split utility.c into libbb, which provides a
+ much cleaner was for us to include shared functionality.
+ * Erik Andersen -- Reorganized how and when busybox includes
+ syscalls, aiding portability and (in this case) making the
+ busybox work on ia64 systems.
+ * Erik Andersen -- dpkg.c cleanup to use the updated gunzip interface.
+ * Erik Andersen -- Cleanups for libc5, glibc, and uClibc.
+ * Erik Andersen and Matt Kraai -- Cleanups for the human-readable
+ output from ls, du, and df.
+ * Laurence Anderson <laurence@zxmail.com> -- Fixed wget HTTP 1.1
+ support and added chunked encoding so it is now RFC compliant.
+ * John Beppu -- The busybox.pod documentation is now automagically
+ generated from the source code. This makes it _much_ simpler.
+ Now to update the docs, just update the usage message...
+ * Dirk Behme <dirk.behme@de.bosch.com> -- Adjusted MIPS insmod
+ support a bit for Mips RS3.
+ * Christophe Boyanique -- egrep invoked the "init" applet in 0.50!
+ * Larry Doolittle -- Added -Wshadow and fixed a number of shadowed
+ variables
+ * David Douthitt -- fixed 'find -print'
+ * Gennady Feldman -- fixes for the syslogd circular buffer code
+ * Jeff Garzik -- a number of structural cleanups, fixes for -Wshadow
+ bugs, and similar problems.
+ * Matt Kraai -- Added a new 'shutdown' action to busybox init. Now
+ you can specify arbitrary behavior for 'ctrlaltdel' so now
+ pressing CTL-ALT-DEL can do something else (or nothing).
+ * Andreas Neuhaus <andy@fasta.fh-dortmund.de> -- fix for merging
+ kernel command line environment variables into child environment
+ for init.c
+ * Glenn McGrath -- Fixed problems with dpkg and dpkg-deb applets
+ * Glenn McGrath -- Don't try to automount devfs
+ * Vladimir Oleynik -- optimizations for more.c
+ * Vladimir Oleynik -- Added locale support to the shell, and fixed
+ locale support in several other places
+ * Vladimir Oleynik -- moved struct applet from busybox.c to applets.c
+ * Vladimir Oleynik -- A size optimization for rdate
+ * Vladimir Oleynik -- Fixed printf applets's locale handling
+ * Vladimir Oleynik -- More cmdedit updates
+ * Vladimir Oleynik -- Fixed `du' applet so it continues running
+ after permission errors.
+ * Vladimir Oleynik -- Reduced stack usage in recursive_action()
+ * Pierre Peiffer <pierre.peiffer@sxb.bsf.alcatel.fr> -- made
+ find_pid_by_name() cope with swapped out processes.
+ * Jari Ruusu <jari.ruusu@pp.inet.fi> -- updates so that setting
+ D_FILE_OFFSET_BITS=64 now works as expected.
+ * Anthony Towns <aj@azure.humbug.org.au> -- fixed a bug with
+ sed address range handling
+ * Dmitry Zakharov <dmit@crp.bank.gov.ua> -- a number of updates
+ to wget: support for ftp downloads, basic HTTP basic auth, handling
+ of http redirects, when attempting to continue an aborted download
+ but server doesn't support restarts then reopen output file in
+ write mode, bugfix: when content-length not given, wget didn't
+ download anything, if -c is not specified, it no longer default to
+ restarting an aborted download.
+
+
+ -Erik Andersen, 10 April 2001
+
+
+0.50
+ * Erik Andersen -- added ifconfig interface status reporting
+ * Erik Andersen -- Debian packaging updates
+ * Erik Andersen -- lash environment variable expansion rewritten,
+ with lots of help/fixes/testing from Larry Doolittle.
+ * Erik Andersen -- Fix use of busybox with dmalloc debugging lib
+ * Erik Andersen -- fixed ls behavior for broken or very narrow terminals
+ * Erik Andersen -- stub umount2 and pivot_root if they are not available
+ * Erik Andersen -- libc5 fixes
+ * Erik Andersen -- make init work with devfsd
+ * Erik Andersen -- fixed df for nfs and dos where blksize = 512
+ * Erik Andersen -- Make sure libpwd.a is linked _last_ so it
+ overrides the system pwd/grp
+ * Christophe Boyanique -- added an optional egrep alias for grep.
+ * Christophe Boyanique -- added optional 'rm -i' support.
+ * Kenneth Chalmers and Erik Andersen -- fixed ln so it
+ behaves when given no arguments (prints usage) and when
+ given just one arg (tries to make a link in the cwd).
+ * Magnus Damm -- added a tftp applet
+ * Magnus Damm -- powerpc support for busybox insmod.
+ * David Douthitt -- fixed a build error in df.c when
+ CONFIG_FEATURE_HUMAN_READABLE was disabled
+ * John Beppu -- wrote autodocifier.pl, which will be used to auto-
+ generate the documentation from the source code, making life
+ much simpler for all.
+ * Magnus Damm <damm@opensource.se> -- Fixed an 'inner scope var
+ masking outer scope var with same name' bug that prevented
+ the loopback device from being unmounted if mount() failed.
+ * Larry Doolittle -- rewrote ifconfig to make it smaller
+ * Larry Doolittle and Erik Andersen -- cleanups to pristine source
+ * Larry Doolittle -- many bugfixes resulting from regression testing
+ * Gennady Feldman -- split syslogd.c into syslogd and klogd
+ * Gennady Feldman -- make syslogd single threaded -- no more forking
+ * Jeff Garzik -- getopt-ified rmmod.
+ * Jeff Garzik -- glibc 2.2 warning cleanups
+ * Jeff Garzik -- namespace pollution cleanup (staticified variables).
+ * Erik Gustavsson <cyrano@algonet.se> -- allow env variables set on the
+ kernel command line to be inherited into init and its children.
+ * Erik Habbinga -- fixed an uninitialized substitution delimiter in sed.
+ * Chris Jaeger -- Makefile cleanup to make option setting less error-prone
+ * Chris Jaeger <cjaeger@ensim.com> -- Carefully check NFS_MOUNT_VERSION
+ depending on what kernel is being used.
+ * Quinn Jensen <jensenq@lineo.com> -- MIPS support for busybox insmod.
+ * Evin Robertson -- new pivot_root applet
+ * Kent Robotti -- usage message cleanups
+ * Kent Robotti -- reworked dos2unix/unix2dos
+ * Evin Robertson and Manuel Novoa III -- reworked how usage messages
+ are stored to save several k of space.
+ * Matt Kraai -- Keep trying if an NFS mount fails
+ * Matt Kraai -- fixed insmod so it won't try to insmod directories.
+ * Matt Kraai -- added nc listening support
+ * Matt Kraai and David Douthitt -- reworked fine to support -type,
+ -perm, -mtime, and other improvements.
+ * Matt Kraai -- added find_applet_by_name and saved some memory thereby
+ * Matt Kraai -- added chomp to reduce redundant code elsewhere
+ * Matt Kraai -- Removed trailing \n chars from error_msg{,_and_die} messages.
+ * John Lombardo -- fixed OOM in insmod.
+ * Glenn McGrath -- bypass /proc in mount, now uses sysfs.
+ * Glenn McGrath -- several updates to dpkg and dpkg-deb.
+ * Manuel Novoa III -- several size optimizations: parse_mode,
+ process_escape_sequence, format, and get_kernel_revision.
+ * Manuel Novoa III -- rewrote ifconfig again to make it smaller still
+ * Manuel Novoa III -- added ifconfig -a, updated interface reporting
+ * Vladimir N. Oleynik -- Fixed a bug where init set PATH incorrectly
+ * Vladimir N. Oleynik -- cleanups to route, cmdedit, mkdir,
+ mkfs_minix, mkswap, chmod_chown_chgrp and utility.c
+ * Vladimir N. Oleynik -- many fixes to cmdedit. so tab completion
+ is now working and general editing is much improved, and to
+ improve complex prompt handling.
+ * Vladimir N. Oleynik -- added route status reporting.
+ * Vladimir N. Oleynik -- fixed wget to use xfopen
+ * Vladimir N. Oleynik -- new stty applet
+ * Vladimir N. Oleynik -- fixed find, it used to stop on perm errors.
+ * Vladimir N. Oleynik -- locale forced to posix for scripts
+ * Vladimir N. Oleynik -- saved 128 bytes by moving error checking
+ for several my_* functions into utility.c
+ * Bjorn Wesen -- new ifconfig and route applet (taken from
+ work done by Axis Communications).
+ * Mark Whitley -- Added a 'How to contribute to Busybox' doc
+ and updated the style guide.
+ * Mark Whitley -- implemented grep -A, -B, and -C
+ * Mark Whitley -- overhauled the test suite.
+
+
+ -Erik Andersen, 15 March 2001
+
+0.49
+
+ * Matt Kraai -- new sort.c
+ * Matt Kraai -- new tail.c
+ * Glenn McGrath -- new 'dpkg-deb' applet
+ * Glenn McGrath -- new ar code
+ * spoon -- new watchdog applet
+ * Vladimir N. Oleynik <dzo@simtreas.ru> -- fixed cmdedit.c so now
+ scrolling and tab completion in lash work properly. Also several
+ byte saving optimizations.
+ * Erik Andersen -- disabled many less commonly used applets by default
+ * Mark Whitley -- more thrashing about to get clean perror_msg usage
+ * Matt Kraai -- new command line munging
+ * Larry Doolittle -- keep some locales from messing up busybox.sh
+ * Matt Kraai -- cleaned up dd and tail with new parse_number routine
+ * Mark Whitley -- remove debugging messages from deallocvt
+ * Matt Kraai and Mark Whitley -- new document "How to Add a New Applet
+ to BusyBox"
+ * David Douthitt -- fixed "grep -qv" bug
+ * Larry Doolittle -- fixed insmod bug with old kernels
+ * Matt Kraai -- logger remixed to use getopt, selection of stdin made
+ util-linux compatible
+ * Erik Andersen -- many more internal symbols classified static to
+ avoid namespace pollution
+ * Matt Kraai -- nc listening support
+ * Erik Andersen -- made sed understand arbitrary regexp delimiters
+ * Matt Kraai et al. -- more tar improvements and bug fixes, now
+ handles regexp file exclusion
+ * Larry Doolittle -- new script (multibuild.pl) to automate build rule
+ checking
+ * Matt Kraai -- update/cleanup of the docs on how to use init
+ * Erik Andersen -- renamed all sh.c symbols per the style guide,
+ better if-then-else-fi handling
+ * Erik Andersen -- cleaner division of labor between cmdedit.c and sh.c
+ * Larry Doolittle -- shell data structure cleanup, fixed buglets
+ in read, exec, and piped builtins
+ * Erik Andersen -- md5sum was broken in 0.48. Now fixed (and doesn't
+ use getline, shrinking static compiles (since nothing else used it).
+ * ?? -- squashed memory leak in shell prompt handling
+ * Mark Whitley -- Updates to style guide
+ * Mark Whitley -- Big cleanup in utility.c: style guide compliance,
+ de-macro-ifying some variables and functions
+ * Erik Andersen -- ls now honors CONFIG_FEATURE_AUTOWIDTH so it can find
+ the width and height of the console.
+ * Erik Andersen -- insmod now ignores -L and accepts the -o option.
+ * Erik Andersen -- updates so you can now select from the Makefile
+ whether or not to use the system's passwd and group functions.
+ Since most systems use GNU libc, this can save you from having to
+ install the /etc/nsswitch.conf configuration file and the required
+ libnss_* libraries. Adds 1.5k. You can now, also, disable this,
+ causing busybox to use the system's pwd.h and grp.h functions.
+
+
+ -Erik Andersen, 27 January 2001
+
+0.48
+
+ * Glenn McGrath -- tar now supports uncompressing tar files,
+ define CONFIG_FEATURE_TAR_GZIP to use the -z option.
+ * Matt Kraai -- fix all usage of TRUE and FALSE so all apps now
+ return EXIT_SUCCESS or EXIT_FAILURE to the system.
+ Now TRUE and FALSE are set to the C standard where TRUE=1.
+ * me -- Fixed uname problem causing the kernel version to be
+ mis-detected (causing problems with poweroff, init,
+ and other things).
+ * Alcove, Julien Gaulmin <julien.gaulmin@alcove.fr> and
+ Nicolas Ferre <nicolas.ferre@alcove.fr> -- insmod support on ARM
+ and StrongArm, and suport for lsmod on older 2.0.x kernels.
+ * Kent Robotti -- Renamed unrpm to original rpmunpack, so you can use
+ an included shell script called unrpm as a front end to it. There's
+ also a shell script called undeb included for debian packages.
+ * Matt Kraai -- fix an infinite loop with ls -aR
+ * Larry Doolittle -- Shaved off about 100 bytes and 200 bytes heap
+ from date.c. Also document the "-d" option in the usage message.
+ * Gennady Feldman -- fixed dd to use blocksize when reading/writing,
+ (it was reading the whole thing and then writing it out). Also
+ updated usage information (was missing conv=notrunc) and added
+ conv=sync feature.
+ * Larry Doolittle (in collaboration with Matt Kraai) -- allow for a
+ pristine source directory -- where all the .o files and such are
+ not placed into the source tree. Thanks Larry!
+ * Larry Doolittle -- use the applet definitions in applets.h
+ to autogenerate the applet function and usage prototypes.
+ * Sebastien Huet, Arne Bernin, and Kent Robotti -- Add in tar -X and
+ fixed a bug breaking tar --exclude.
+ * Jonas Holmberg -- echo option handling made GNU-echo compatible
+ * Aleksey Demidov <asd@ixcelerator.com> -- date option handling made
+ GNU-date compatible
+ * me -- Progress meter (optional) in wget
+ * Doolittle/me -- programs invoked by full path name take
+ precedence over applets unless CONFIG_FEATURE_SH_BUILTINS_ALWAYS_WIN
+ * Gaute B Strokkenes <gs234@cam.ac.uk> -- applets found using a
+ binary search instead of linear search. Much faster!
+ * new applets: cmp readlink
+ * Mark Whitley -- Removed advertising clause of Berkeley license
+ according to decision by the Regents of the University of
+ California; included reference
+ * tail's confusing special treatment of single digit options removed;
+ people should use -n instead
+ * Larry Doolittle -- \r handled now in echo and tr
+ * Matt Kraai -- rewrite of uniq
+ * Mark Whitley -- remix of xargs
+ * Jim Gleason <jimg@lineo.com> -- fixed tar so it no longer breaks
+ hard links.
+ * Matt Kraai -- logger now logs all arguments, not just the first
+ * Gennady Feldman -- syslogd no longer logs to localhost if compiled
+ for remote logging...
+ * Richard June <rjune@ims1.imagestream-is.com> -- support for 'gzip -d'
+ * various artists -- Other good stuff that I forgot to document.
+
+
+ -Erik Andersen, 13 December 2000
+
+0.47
+
+ * A bug in syslogd was fixed that allowed it to potentially fork-bomb
+ your system. Anyone using 0.46 syslogd should upgrade.
+ * Renamed busybox.defs.h to the more sensible "Config.h"
+ * Improved portability between different libcs.
+ * Many apps ported to use getopt()
+ * Common handling of '--help'
+ * All usage messages centralized.
+ * Added a bunch of new commands:
+ * 'rdate' contributed by Sterling Huxley <sterling@europa.com>
+ * 'wget' contributed by Chip Rosenthal <chip@unicom.com>,
+ <crosenth@covad.com> and Covad Communications
+ * 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org>
+ * dos2unix, unix2dos, reset, and unrpm.c (and lots of help
+ debugging) thanks to Kent Robotti <robotti@metconnect.com>.
+ * 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
+ * 'xargs' (written by me)
+ * 'expr' contributed by Edward Betts <edward@debian.org>, based
+ on GNY expr
+ * lsmod now uses the query_module syscall, rather then /proc (me)
+ * syslogd can now log messages to remote hosts -- patch thanks
+ to Gyepi Sam <gyepi@praxis-sw.com>
+ * chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org>
+ * 'make install' now creates relative symlinks, and added a new
+ 'make install-hardlinks' target to (tada) install hardlinks.
+ * Rewrite of 'tail' to make it simpler, smaller, and more robust.
+ It now weighs only 2.25k (3k when full featured). The code is
+ cleaner too, thanks to Allen Soard <esp-software@mail.hypermart.net>
+ * Add optional ls file sorting, thanks to a patch from
+ Sterling Huxley <sterling@europa.com>
+ * Fixed chmod option parsing so things like 'chmod -r /tmp/file'
+ now work (previously it thought -r was an option). Doh!
+ * Fixed tar handling of stdin and stdout
+ * Renamed "internal.h" to the more sensible "busybox.h"
+ * Preliminary support for GNU HURD.
+ * Updated my devps and devmtab kernel patches for the latest 2.2.x
+ kernel, for those wanting to go proc-less.
+ * Tons of other bugfixes.
+
+
+ -Erik Andersen, 25 September 2000
+
+
+0.46
+
+ * Better portability. Now should compile cleanly with libc5,
+ GNU libc 2.0 and 2.1, and various Linux kernels including
+ 2.0.x, 2.2.x, and to 2.4.0-test*. (patch for 2.4.x kernels
+ to make /proc/mounts behave included in the kernel-patches dir).
+ * Fixed a _horrible_ bug where 'tar -tvf' could unlink
+ local files that matched tarball contents!!! Fix thanks
+ to Marius Groeger <mgroeger@sysgo.de>
+ * Fixed a nasty bug in tar when could mess up saved symlinks.
+ * Fixed tar creation support when reading from stdin ('tar -cf - . ')
+ thanks to Daniel Quinlan <quinlan@transmeta.com>
+ * Updates to handle Linux 2.4.0 kernels (kludged around the
+ "none" entries in /proc/mounts, added a hack to make sysinfo
+ work with both old and new kernels).
+ * Fixed insmod module option parsing for options lacking an '='.
+ Fix thanks to Marc Nijdam <marc_nijdam@hp.com>
+ * Fixed segfault with 'cut -f 1 -d:' and added 'cut -s' suport.
+ Fix thanks to Arne Bernin <arne@matrix.loopback.org>
+ * Several fixes from Marius Groeger <mag@sysgo.de>
+ - Added support for "sh -c command args..."
+ - Fixed globbing, i.e. 'echo * *' and 'echo "******"' now work.
+ - Added shell environment variable substitution
+ - Added the "read" shell builtin.
+ * Fixed cursor editing in cmdedit.c. The following keyboard sequence
+ used to create an infinite loop: ls, cursor up, left, down.
+ * Added support for being a login shell, so things like
+ '-su' or '-sh' (stuff where argv[0][0]=='-') will now always
+ invoke the shell. Now you can use BusyBox as a login shell.
+ * ls.c now ignores '-g', since some ftp clients like that sort
+ of thing. Patch thanks to David Vrabel <dvrabel@arcom.co.uk>
+ * Fix to init.c from Stuart Menefy <Stuart.Menefy@st.com> so that
+ it always sets the controlling terminal before running any programs
+ * Several fixes from Matt Kraai <kraai@alumni.carnegiemellon.edu>
+ - Fixed tr so it recognizes standard escape sequences.
+ Merged common escape seq. code from tr and echo into utility.c.
+ - Major work in updating/cleaning up the docs, and getting the
+ new SGML based docs into shape.
+ - cleanup of ar.c
+ - BusyBox should now poweroff when asked to do so.
+ - Fixed 'ln -n' and 'ln -s' so they both work properly.
+ * Reorganized signal names in kill.c for better architecture support
+ -- patch thanks to simon wood <simon@mungewell.uklinux.net>
+ * In 0.43, backspace and delete worked properly, but with 0.45,
+ it just echoed a ^? for backspace, and ^H for control-h. This
+ was due to a broken macro in init.c, that is now fixed.
+ * Removed sfdisk from BusyBox. It was buggy, fat, and we really
+ couldn't maintain it very well, so including it was not really
+ very appropriate. Those wanting an fdisk are invited to
+ grab a copy from util-linux.
+ * Added 'dumpkmap' to allow people to dump a binary keymap, which can
+ then be loaded in by 'loadkmap' -- submitted by
+ Arne Bernin <arne@matrix.loopback.org>
+ * Fixed NFS so it supports 2.4.x kernels and NFSv3.
+ * Brand, new versions of grep and sed which use libc regex routines,
+ thanks to Mark Whitley <markw@lineo.com>. The hand-tooled
+ "regexp.[ch]" files have been removed. Much help on these from
+ Matt Kraai as well.
+
+
+ -Erik Andersen, 11 July 2000
+
+
+0.45
+ * Now compiles vs libc5 (which can save lots of space for
+ embedded systems).
+ * Added CONFIG_FEATURE_TRIVIAL_HELP which compiles out most all of the
+ help messages (i.e --help). Saves 17k over a full compile.
+ * Added cut and tr from minix, since due to the license change,
+ we can now use minix code. Minix tr saves 4k.
+ * insmod now works. It costs 29k, but imagine an initrd with a
+ staticly linked busybox containing only insmod and sh, a few /dev
+ entries, and a kernel module or two... It doesn't get smaller
+ then this folks (I pity the fool that writes insmod in asm ;-).
+ Many kudos go to Ron Alder <alder@lineo.com> for finishing this off!
+ * Added a mini ar archive utility, especially written for BusyBox by
+ Glenn McGrath <bug1@netconnect.com.au>
+ * Added mktemp, contributed by Daniel Jacobowitz <dan@debian.org>
+ * Added setkeycodes, for those that have wierd keyboard buttons.
+ * Added md5sum, uuencode and uudecode -- thanks to Alfred M. Szmidt
+ <ams@trillian.itslinux.org> for contributing these.
+ * Added 'grep -v' option (inverted search) and updated
+ docs accordingly. -beppu
+ * Wrote which
+ * Replaced the telnet implementation with one written by
+ Tomi Ollila <too@iki.fi> It works great and costs 3k.
+ * BusyBox sh (lash) now supports being used as a standalone shell. When
+ CONFIG_FEATURE_SH_STANDALONE_SHELL is defined, all the busybox commands may
+ be invoked as shell internals. Best used when compiling staticly
+ (i.e. DOSTATIC=true)
+ * BusyBox sh (lash) internals now behave as expected wrt pipes
+ and redirects.
+ * Fixed ping warnings -- fix from Sascha Ziemann <szi@aibon.ping.de>
+ * Fixed update segfault
+ * Fixed mknod -- minor number was always 0
+ * Fixed tar option parsing, so both "tar xvf foo.tar" and
+ "tar -xvf foo.tar" now work (i.e. no "-" before options)
+ (this was very broken in 0.43).
+ * Several contributions from Randolph Chung <tausq@debian.org>.
+ * cp/mv now accepts the -f flag
+ * tail can now accept -<num> commands (e.g. -10) for better
+ compatibility with the standard tail command
+ * added a simple id implementation; doesn't support sup. groups yet
+ * logname used getlogin(3) which uses utmp. Now it doesn't.
+ * whoami used getpwuid(3) which uses libc NSS. Now it behaves.
+ * Add support for "noatime" and "nodiratime" mount flags to mount.
+ * Changed 'umount -f' to mean force, and actually use umount2.
+ * Changed 'umount -l' to mean "Do not free loop device".
+ * Fixed basename to support stripping of suffixes. Patch thanks
+ to xiong jianxin <jxiong@uiuc.edu>
+ * cp -fa now works as expected for symlinks (it didn't before)
+ * zcat now works (wasn't working since option parsing was broken)
+ * Renamed "mnc" to the more correct "nc" (for netcat).
+ * Makefile intelligence updates
+ * Changed the way init parses /etc/inittab entries to avoid problems
+ with commands that contain colons in them. Fix thanks to
+ Pavel Roskin <proski@gnu.org>
+ * Fixed a warning in utility.c due to char being unsigned on Linux/PPC,
+ Fix thanks to Pavel Roskin <proski@gnu.org>
+ * Made "killall" complain (not error and exit) about processes that it
+ cannot find by name -- Pavel Roskin <proski@gnu.org>
+ * Fixed more and ps to have sensible terminal width defaults, thanks
+ to Pavel Roskin.
+ * Fixed all fatalError() calls lacking a "\n", thanks to Pavel Roskin.
+ * Fixed a segfault in yes when no args were given -- Pavel Roskin.
+ * Simplified freeramdisk and added argument checking -- Pavel Roskin.
+ * Fixed segfault caused by "touch -c"
+ * Fixed segfault caused by "rm -f"
+ * Fixed segfault caused by "ln -s -s" and similar abuses. Further fixes
+ and "--" support from Pavel Roskin.
+ * Fixed segfault caused by "cp -a -a" and similar abuses.
+ * Implemented "rm -- <foo>". Implementation fixed by Pavel Roskin.
+ * "which" rewritten to use stat(). Fixes to improve its compatability
+ with traditional implementations -- Pavel Roskin.
+ * "mount" now reports errors from nfsmount() and assumes NFS mount
+ if ':' is present in the device name - Pavel Roskin
+ * Fixed exit status for killall - Pavel Roskin
+ * Fixed 'swapon -a' and 'swapoff -a', which were broken.
+ * Fixed 'mount -a' so it works as expected.
+ * Implemented 'ls -R' (enabled by enabling CONFIG_FEATURE_LS_RECURSIVE)
+ * Implemented "ping -s", fixed error messages and argument parsing -
+ Pavel Roskin
+ * Syslogd will not go to background if "-n" is given. Better help
+ and argument checking -- Pavel Roskin
+ * Fixed a small bug that could cause tar to emit warning messages
+ and not extract the first file in a directory in some cases
+ of nested directories. Thanks to Kevin Traas <kevin@netmaster.com>
+ for helping track this one down.
+ * More doc updates
+ * Fixed grep "Line too long" problem -- John Beppu
+ * Fixed 'grep -q -i B some_file' so it works
+ * math takes input from stdin if no args are given. -- John Beppu
+ * math was renamed to dc. Although it deviates from dc's behaviour,
+ this will probably be remedied in the future. -- John Beppu
+
+
+ -Erik Andersen, June 21, 2000
+
+
+0.44
+ Previously, an erronous announcement of BusyBox 0.44 was made, so to
+ avoid possible confusion, we are skipping straight to 0.45, and calling
+ it good.
+
+ -Erik Andersen
+
+
+0.43
+ * Major update to the provided documentation.
+ * Busybox now includes a shell! It currently costs 7.5 k (plus an
+ additional 2.5 k if you compile in command line editing). Handles
+ job control, has the usual set of builtins, and does everything
+ except for handling programming statements (if, while, etc...)
+ * Busybox can now work perfectly when /proc is disabled, thereby
+ saving a bunch of memory (kernel /proc support is not thin). This
+ is done by making use of some nice kernel patches I wrote up to
+ support the features that busybox requires and that /proc usually
+ provides. To enable this, turn on CONFIG_FEATURE_USE_DEVPS_PATCH and
+ patch your kernel with the devps patch in the kernel-patches/
+ directory.
+ * Wrote basename, dirname, killall, and uptime.
+ * tar has been completely rewritten by me. Both tar creation and
+ extraction are now well behaved. Costs 7.6k with all optional
+ tar features enabled, and 5k for just tar extraction support.
+ * Added freeramdisk, which will free up all memory associated
+ with a ram disk. Contributed by Emanuele Caratti <wiz@iol.it>
+ and then adjusted a bit by me.
+ * Added tr from John Lombardo <john@deltanet.com>
+ * Added echo and test (from me).
+ * Added usleep contributed by Nicolas Pitre <nico@cam.org>
+ * BusyBox's bss size has been majorly reduced (was 384668, is now 28740).
+ * Several fixes from Pavel Roskin <proski@gnu.org>:
+ - When `tail' fails to open a file it now exits.
+ - When `syslogd' is given the `-n' option it should still use
+ fork() for running klogd.
+ * nslookup types are now changed to u_int32_t (instead of uint32_t)
+ changed per a patch from Pascal Bellard <pascal.bellard@ascend.com>
+ * Fixed "du" so it gives the same answers as GNU "du" (busybox du used
+ to count hard-linked files more then once). Many thanks to
+ Friedrich Vedder <fwv@myrtle.lahn.de> for the fix.
+ * Removed /proc dependancies for init and free (while maintaining
+ exactly the same functionality). /proc takes up 90k of kernel
+ space, so it is nice to avoid using it at all costs.
+ * init no longer tries to mount /proc (unless there is less the 1 meg
+ free). Use of /proc (or not) is policy that should be set up in
+ /etc/fstab (or in hardcoded scripts), not in init.
+ * Fixed rebooting when init runs as an initrd.
+ * Fixes and updates from Karl M. Hegbloom <karlheg@debian.org>
+ - update.c rewritten to look more like update-2.11
+ - moveed the inode hash out of du.c and into utility.c to make
+ it a common resource that can be used by other apps.
+ - cp_mv.c now checks inodes to see if a source and dest are
+ the same, and prints an error (instead of endlessly looping).
+ - mv now attempts to do a rename, and will fall back to doing
+ a copy only if the rename fails.
+ - Syslogd now supports multiple concurrent connections
+ * Several fixes from Pavel Roskin <proski@gnu.org>:
+ - Fixes to sort. Removed "-g", fixed and added "-r"
+ - Fixes to the makefile for handling "strip"
+ * An initial telnet implementation was added by
+ Randolph Chung <tausq@debian.org>.
+ * Fixed a bug where "sed 's/foo/bar/g'" (i.e. a script w/o a "-e")
+ * ps now supports CONFIG_FEATURE_AUTOWIDTH, and can adjust its width
+ to match the terminal (defaults to width=79 when this is off).
+ * ps now accepts (and ignores) all options except for "--help" (which
+ as would be expected displays help).
+ * Fixed mount'ing loop devices when the filesystem type was not
+ specified. It used to revert to non-loop after the first try.
+ * all mallocs now use xmalloc (and so are OOM error safe), and
+ the common error handling saves a few bytes. Thanks to
+ Bob Tinsley <bob@earthrise.demon.co.uk> for the patch.
+ * Fix "+" parsing bug in date, from "Merle F. McClelland" <mfm@cts.com>.
+ * Fix symlink following bug in chmod -R and friends.
+ * Now allows SYSV style 'chown foo:bar' in addition to 'chown foo.bar'
+ * Fixed a bug in the busybox globbing routine such that 'find /dir -name [i]'
+ no longer segfaults.
+
+
+ -Erik Andersen
+
+
+0.42
+
+ * Fairly massive restructuring of umount.c to deal with remounting
+ busy devices read-only. Adds a -r option to control that; it is
+ optionally compiled in with CONFIG_FEATURE_REMOUNT
+ * Added a bunch of functions to mtab.c to interact with the
+ {get,set,end}mntent interface; as it turns out, those functions do
+ not appear to be re-entrant, and that causes a lot of problems with
+ the way umount was originally written.
+ * Makes init send TERM and KILL (instead of HUP and KILL) on reboot
+ to be more consistent with sysvinit
+ * Changes to init.c to use the new -r option to umount. Also increased
+ the sleep time between the time the TERM and KILL signals are sent
+
+ - Randolph Chung
+
+
+ * cp.c, mv.c: removed, replaced by cp_mv.c which has been
+ extensively rewritten from the original cp.c.
+ * Fixed cp and mv so if the source and destination are a the
+ same directory it will print an error and continue.
+ * Also added a warning message to the `mv' usage string saying that
+ this is not GNU mv, and it will break hard links. cp also breaks
+ hard links.
+ * ln.c: implemented `-n' switch, no-deref symlinks.
+ * include<sys/param.h>: and use PATH_MAX everywhere. busybox: File
+ * name buffer overrun guards to prevent future crashes.
+ - Always check exit status.
+ - Purge all use of `creat()', replace with `open()'.
+ * utility.c
+ - recursiveAction was overriding the value of followLinks thus
+ ignoring it.
+ - isDirectory now takes a followLinks boolean, updated all callers
+ - copyFile had the followLinks logic reversed.
+ * messages.c: New file. Put common error message strings all in
+ one place in an attempt to shrink the binary a little.
+
+ -Karl M. Hegbloom
+
+
+ * changed fsck_minix.c to reduce its .bss size significantly
+ -beppu -piptigger
+ * Made tar creation support in busybox tar optional. You no longer
+ * _have_ to put a "-" in front of tar options. Tar could inadvertently
+ * change permissions and ownership on
+ certain directories pointed to by symlinks.
+ * Made grep and grep -h do the right thing wrt printing
+ the file name (it failed to print files names in many cases).
+ * Fix a namespace aliasing problem wereby if du was built in, the
+ symlink for both du and dutmp would be installed, or then rm was
+ built in, the symlinks for both rm and rmmod would be installed.
+ * Added a closelog() to init.c after loging -- fix thanks to
+ Taketoshi Sano <kgh12351@nifty.ne.jp>
+ * Rewrote and simplified logger. Added the "-t" option, and made it
+ behave itself a bit better.
+ * Optional support contributed by Ben Collins <bcollins@debian.org>
+ for the kernel init chroot patch by Werner Almesberger, which
+ allows init to chroot to a new device, and umount the old one.
+ * Fixed bug that wouldn't let one chown a symlink -- it would
+ always dereference before. -beppu
+ * Fixed a bug where init could have reference already freed memory.
+ Found and fixed by Taketoshi Sano <kgh12351@nifty.ne.jp>
+ * Several contributions from Friedrich Vedder <fwv@myrtle.lahn.de>
+ * Added (and documented) "-n" option for head
+ * Cleanup for a number of usage messages -- also
+ contributed Friedrich Vedder <fwv@myrtle.lahn.de>
+ * Cosmetic fix to busybox.c (Don't print a comma at the
+ end of line if there are no more application names).
+ * Fixed a stupid bug in "head" option handling ("head -n"
+ would segfault).
+ * Moved commonly used functions "xmalloc()" and "exit()"
+ to utility.c (with proper #ifdef's).
+ * Created a tiny tail implementation, removing -c, -q, -v, and making
+ tail -f work only with a single file. This reduced tail from 6k to
+ 2.4k. The bigger/more featured tail can still be had by disabling
+ CONFIG_FEATURE_SIMPLE_TAIL in busybox.defs.h
+ * Ping now falls back to doing the right thing if /etc/protocols
+ turns up missing.
+ * Fixed mount and umount. Previously they could leak loop device
+ allocations, causing the system to quickly run out. Fix for umount
+ by Ben Collins <bcollins@debian.org>, and mount was fixed by me.
+ * ls formatting on eight charactor user names fixed by
+ Randolph Chung <tausq@debian.org>.
+ * cp could, when copying symlinks, change permissions of the
+ files pointed to by the symlinks.
+ * Several fixes from Pavel Roskin <proski@gnu.org>:
+ - `chown' with 1 argument displayed the error incorrectly
+ - `fdflush', `length' and `printf' crashed if run without arguments
+ - `fdflush' tried to flush itself using *argv
+ - added "skip" and "seek" to dd.
+ - ls no longer messus up output when combining files and
+ directories on the command line
+ * swapoff -a was not working. Now it is.
+ * init did not cleanly unmount filesystems on reboot. Now it does.
+ * "sed -ne s/foo/bar/" worked but "sed -n -e s/foo/bar/" didn't.
+ Now both work.
+ * Some architectures (PowerPc) assume chars are unsigned, so they could
+ not distinguish between EOF and '\0xFF' in sed. Sed now uses ints.
+ * Began converting error handling to use some common routines
+ in utility.c
+ * syslogd now has better message handling and ignores SIGHUP.
+ * install.sh had a bug preventing installation to the specified
+ target directory. Fix from Gilbert Coville <gilbert@mvista.com>
+ * You can now spefify alternative strip commands -- change
+ also from Gilbert Coville.
+
+
+ -Erik Andersen
+
+0.41
+ * New Apps: wc, hostid, logname, tty, whoami, yes -- all contributed
+ by Edward Betts <edward@debian.org>
+ * Fixed a bug in both cp and mv preventing 'cp foo/README bar'
+ type commands (file in a directory to another directory) from
+ working.
+ * Fixed a logger bug that caused garbage to be written to the syslog
+ (unless you used busybox syslog, which hid the bug). Thanks to
+ Alex Holden <alex@linuxhacker.org> for the fix.
+ * /bin/true and /bin/false were echoing a blank line when run.
+ Now fixed.
+ * mkdir -p would print an error when asked to mkdir an existing dir
+ with no interveining subdirectories.
+ * Fixed "syslogd -O" so that it works. Added -o loop option for mount,
+ * and support in umount for loop
+ devices. Support is toggled by MOUNT_LOOP feature -- Ben Collins
+ <bcollins@debian.org>
+ * Several fixes from Marco Pantaleoni <panta@prosa.it> compile in
+ * fullWrite() not only if CONFIG_TAR is defined, but also
+ if CONFIG_CP or CONFIG_MV are (fullWrite() is referenced by copyFile())
+ * add some compiler optimizations to further reduce executable size
+ (as a side note, on my machines the largest code is generated
+ by gcc 2.95.2 with -Os ! The smallest by plain gcc 2.7.2.3 with
+ -O2 -m386 ...)
+ * Compile now won't fail if busybox.def.h defines
+ CONFIG_FEATURE_INITRD but not CONFIG_INIT. (init_main used to be
+ referenced, but not compiled)
+ * Fixed a bug in setting TERM for serial console support. TERM now
+ defaults to "ansi" for serial consoles.
+ * Fixed a bug in handling the CONSOLE env. variable for serial
+ * consoles.
+
+ -Erik Andersen, Jan 15, 2000
+