- 23 March, 2007 -- BusyBox 1.5.0 (unstable)

  BusyBox 1.5.0. (patches, how to add a patch)

  Since this is a x.x.0 release, it probably does not deserve "stable" label. Please help making 1.5.1 stable by testing 1.5.0.

  Notable changes since previous release:

  - find: added support for -user, -not, fixed -mtime, -mmin, -perm
  - [de]archivers: merge common logic into one module
  - ping[6]: unified code for both
  - less: regex search improved
  - ash: more readable code, testsuite added
  - sed: several very obscure bugs fixed
  - chown: -H, -L, -P support (required by POSIX)
  - tar: handle (broken) checksums a-la Sun; tar restores mode again
  - grep: implement -w, "implement" -a and -I by ignoring them
  - cp: more sane behavior when overwriting existing files
  - init: stop doing silly things with the console (-400 bytes)
  - httpd: make httpd usable for NOMMU CPUs; fix POSTDATA handling bugs
  - httpd: run interpreter for configured file extensions in any dir, not only in /cgi-bin/
  - chrt: new applet
  - SELinux: SELinux-related code and -Z option added to several applets, new SELinux-specific applets: chcon, runcon.
  - Build system: produces link map, uses -Wwrite-strings to catch improper usage of string constants.
  - Data and bss section usage audited and reduced - should help NOMMU targets.
  - Applets with bug fixes: gunzip, vi, syslogd, dpkg, ls, adjtimex, resize, sv, printf, diff, awk, sort, dpkg, diff, tftp
  - Applets with usability improvements: swapon, more, ifup/ifdown, hwclock, udhcpd, start_stop_daemon, cmp
  - Applets with code cleaned up: telnet, fdisk, fsck_minix, mkfs_minix, syslogd, swapon, runsv, svlogd, klogd
- 18 March, 2007 -- BusyBox 1.4.2 (stable)

  BusyBox 1.4.2.

  This release includes only trivial fixes accumulated since 1.4.1.

- 25 January, 2007 -- BusyBox 1.4.1 (stable)

  BusyBox 1.4.1. (patches)

  This release includes only trivial fixes accumulated since 1.4.0.

- 20 January, 2007 -- BusyBox 1.4.0 (stable)

  BusyBox 1.4.0. (patches)

  Since this is a x.x.0 release, it probably is a bit less "stable" than usual.

  Changes since previous release:

  - e2fsprogs are mostly removed from busybox. Some smaller parts remain, the rest of it sits disabled in e2fsprogs/old_e2fsprogs/*, because it's too bloated. Really. I'm afraid it's about the only way we can ever get e2fsprogs cleaned up.
  - less: many improvements. Now can display binary files (although I expect it to have trouble with displays where 8bit chars don't have 1-to-1 char/glyph relationship). Regexp search is not buggy anymore. Less does not read entire input up-front. Reads input as it appears (yay!). Works rather nice as man pager. I recommend it for general use now.
  - IPv6: generic support is in place, many networking applets are upgraded to be IPv6 capable. Probably some work remains, but it is already much better than what we had previously.
  - arp: new applet (thanks to Eric Spakman).
  - fakeidentd: non-forking standalone server part was taking ~90% of the applet. Factored it out (in fact, rewrote it).
  - syslogd: mostly rewritten.
  - decompress_unzip, gzip: sanitized a bit.
  - sed: better hadling of NULs
  - httpd: stop adding our own "Content-type:" to CGI output
  - chown: user.grp works again.
  - minor bugfixes to: passwd, date, tftp, start_stop_daemon, tar, ps, ifupdown, time, su, stty, awk, ping[6], sort,...
- 20 January, 2007 -- BusyBox 1.3.2 (stable)

  BusyBox 1.3.2.

  This release includes only one trivial fix accumulated since 1.3.1

- 27 December, 2006 -- BusyBox 1.3.1 (stable)

  BusyBox 1.3.1. (patches)

  Closing 2006 with new release. It includes only trivial fixes accumulated since 1.3.0

- 14 December, 2006 -- BusyBox 1.3.0 (stable)

  BusyBox 1.3.0. (patches)

  This release has CONFIG_DESKTOP option which enables features needed for busybox usage on desktop machine. For example, find, chmod and chown get several less frequently used options, od is significantly bigger but matches GNU coreutils, etc. Intended to eventually make busybox a viable alternative for "standard" utilities for slightly adventurous desktop users.

  Changes since previous release:

  - find: taking many more of standard options
  - ps: POSIX-compliant -o implemented
  - cp: added -s, -l
  - grep: added -r, fixed -h
  - watch: make it exec child like standard one does (was totally incompatible)
  - tar: fix limitations which were preventing bbox tar usage on big directories: long names and linknames, pax headers (Linux kernel tarballs have that). Fixed a number of obscure bugs. Raised max file limit (now 64Gb). Security fixes (/../ attacks).
  - httpd: added -i (inetd), -f (foreground), support for directory indexer CGI (example is included), bugfixes.
  - telnetd: fixed/improved IPv6 support, inetd+standalone support, other fixes. Useful IPv6 stuff factored out into libbb.
  - runit/*: new applets adapted from http://smarden.sunsite.dk/runit/ (these are my personal favorite small-and-beautiful toys)
  - minor bugfixes to: login, dd, mount, umount, chmod, chown, ln, udhcp, fdisk, ifconfig, sort, tee, mkswap, wget, insmod.

  Note that GnuPG key used to sign this release is different. 1.2.2.1 is also signed post-factum now. Sorry for the mess.

- 29 October, 2006 -- BusyBox 1.2.2.1 (fix)

  BusyBox 1.2.2.1.

  Added compile-time warning that static linking against glibc produces buggy executables.

- 24 October, 2006 -- BusyBox 1.2.2 (stable)

  It's a bit overdue, but here is BusyBox 1.2.2.

  This release has dozens of fixes backported from the ongoing development branch. There are a couple of bugfixes to sed, two fixes to documentation generation (BusyBox.html shouldn't have USE() macros in it anymore), fix umount to report the right errno on failure and to umount block devices by name with newer kernels, fix mount to handle symlinks properly, make mdev delete device nodes when called for hotplug remove, fix a segfault in traceroute, a minor portability fix to md5sum option parsing, a build fix for httpd with old gccs, an options parsing tweak to hdparm, make test fail gracefully when getgroups() returns -1, fix a race condition in modprobe when two instances run at once (hotplug does this), make "tar xf foo.tar dir/dir" extract all subdirectories, make our getty initialize the terminal more like mingetty, an selinux build fix, an endianness fix in ping6, fix for zcip defending addresses, clean up some global variables in gzip to save memory, fix sulogin -tNNN, a help text tweak, several warning fixes and build fixes, fixup dnsd a bit, and a partridge in a pear tree.

  As Linux Weekly News noted, this is my (Rob's) last release of BusyBox. The new maintainer is Denis Vlasenko, I'm off to do other things.

- 29 September, 2006 -- New license email address.

  The email address gpl@busybox.net is now the recommended way to contact the Software Freedom Law Center to report BusyBox license violations.

- 31 July 2006 -- BusyBox 1.2.1 (stable)

  Since nobody seems to have objected too loudly over the weekend, I might as well point you all at Busybox 1.2.1, a bugfix-only release with no new features.

  It has three shell fixes (two to lash: going "var=value" without saying "export" should now work, plus a missing null pointer check, and one to ash when redirecting output to a file that fills up.) Fix three embarassing thinkos in the new dmesg command. Two build tweaks (dependencies for the compressed usage messages and running make in the libbb subdirectory). One fix to tar so it can extract git-generated tarballs (rather than barfing on the pax extensions). And a partridge in a pear... Ahem.

  But wait, there's more! A passwd changing fix so an empty gecos field doesn't trigger a false objection that the new passwd contains the gecos field. Make all our setuid() and setgid() calls check the return value in case somebody's using per-process resource limits that prevent a user from having too many processes (and thus prevent a process from switching away from root, in which case the process will now _die_ rather than continue with root privileges). A fix to adduser to make sure that /etc/group gets updated. And a fix to modprobe to look for modules.conf in the right place on 2.6 kernels.

- 30 June 2006 -- BusyBox 1.2.0

  The -devel branch has been stabilized and the result is Busybox 1.2.0. Lots of stuff changed, I need to work up a decent changelog over the weekend.

  I'm still experimenting with how long is best for the development cycle, and since we've got some largeish projects queued up I'm going to try a longer one. Expect 1.3.0 in December. (Expect 1.2.1 any time we fix enough bugs. :)

  Update: Here are the first few bug fixes that will go into 1.2.1.

- 17 May 2006 -- BusyBox 1.1.3 (stable)

  BusyBox 1.1.3 is another bugfix release. It makes passwd use salt, fixes a memory freeing bug in ls, fixes "build all sources at once" mode, makes mount -a not abort on the first failure, fixes msh so ctrl-c doesn't kill background processes, makes patch work with patch hunks that don't have a timestamp, make less's text search a lot more robust (the old one could segfault), and fixes readlink -f when built against uClibc.

  Expect 1.2.0 sometime next month, which won't be a bugfix release.

- 10 April 2006 -- BusyBox 1.1.2 (stable)

  You can now download BusyBox 1.1.2, a bug fix release consisting of 11 patches backported from the development branch: Some build fixes, several fixes for mount and nfsmount, a fix for insmod on big endian systems, a fix for find -xdev, and a fix for comm. Check the file "changelog" in the tarball for more info.

  The next new development release (1.2.0) is slated for June. A 1.1.3 will be released before then if more bug fixes crop up. (The new plan is to have a 1.x.0 new development release every 3 months, with 1.x.y stable bugfix only releases based on that as appropriate.)

- 27 March 2006 -- Software Freedom Law Center representing BusyBox and uClibc

  One issue Erik Andersen wanted to resolve when handing off BusyBox maintainership to Rob Landley was license enforcement. BusyBox and uClibc's existing license enforcement efforts (pro-bono representation by Erik's father's law firm, and the Hall of Shame), haven't scaled to match the popularity of the projects. So we put our heads together and did the obvious thing: ask Pamela Jones of Groklaw for suggestions. She referred us to the fine folks at softwarefreedom.org.

  As a result, we're pleased to announce that the Software Freedom Law Center has agreed to represent BusyBox and uClibc. We join a number of other free and open source software projects (such as X.org, Wine, and Plone in being represented by a fairly cool bunch of lawyers, which is not a phrase you get to use every day.

- 22 March 2006 -- BusyBox 1.1.1

  The new maintainer is Rob Landley, and the new release is BusyBox 1.1.1. Expect a "what's new" document in a few days. (Also, Erik and I have have another announcement pending...)

  Update: Rather than put out an endless stream of 1.1.1.x releases, the various small fixes have been collected together into a patch, and new fixes will be appended to that as needed. Expect 1.1.2 around June.

- 11 January 2006 -- 1.1.0 is out

  The new stable release is BusyBox 1.1.0. It has a number of improvements, including several new applets. (It also has a few rough spots, but we're trying out a "release early, release often" strategy to see how that works. Expect 1.1.1 sometime in March.)

- Old News

  Click here to read older news