2010.02-rc2, Not yet released:

	Fixes all over the tree and new features.

	Updated/fixed packages: argus, at, libpcap

2010.02-rc1, Released February 9th, 2010:

	Fixes all over the tree and new features.

	Generalized autotools infrastructure to be usable for
	non-autotools packages, see package/Makefile.package.in for
	details.

	Cleaned up avr32 toolchain config, external source-based
	toolchain support is gone.

	Dependency checks: Also check for makeinfo, only print output
	on errors.

	Toolchain: uClibc 0.9.30.2, gcc 4.4.3

	New packages: libcdaudio, libdvdnav, libdvdread, hostapd, ser2net,
	tcpreplay

	Updated/fixed packages: alsa-lib, alsa-utils, at, autoconf, bash,
	bind, binutils, bootutils, busybox, dbus, directfb, dnsmasq,
	e2fsprogs, gstreamer, gperf, gst-plugins-bad, gvfs, fbdump, flex,
	hal, iptables, iw, jpeg, kismet, libfuse, libglib2, liboil, libpcap,
	libungif, libxml2, libxslt, lighttpd, mesa, mpg123, mtd-utils, nbd,
	neon, netstat-nat, newt, openvpn, pcre, php, qt, rdesktop, readline,
	rpm, sawman, sdl, sdl_ttf, sqlite, sshfs, tremor, u-boot,
	usb_modeswitch, usbutils, webkit, wpa_supplicant, xfsprogs, zlib

	Removed package: asterisk, openswan

	Issues resolved (http://bugs.uclibc.org):

	#515: tcpreplay: new package
	#553: Wrong DirectFB ps2mouse limitation
	#559: mesa3d build fails
	#679: Autoconf cannot find M4
	#739: New/updated hostapd package
	#749: Bump usbutils package to version 0.86
	#751: Kernel 2.6 snapshot fetch fail
	#753: Bump lighttpd package to 1.4.25
	#757: U-Boot: mkimage cannot be installed using external toolchain
	#761: Add binutils 2.20 to toolchain options
	#763: [SECURITY] Update pcre to 7.9
	#765: Add buildroot branding to gcc
	#767: Bump iw package to 0.9.18
	#773: [SECURITY] Update bind to 9.5.2-P1
	#795: Minor edits to fix typos, grammar, spelling, usage in documen...
	#813: Drop not very useful generic package selection options ...
	#823: Editor backup files (~) is copied from the target_skeleton
	#827: Bump mtd-utils package to version 1.2.0
	#841: Build error
	#913: Bump iptables to 1.4.6
	#919: Bump usb_modeswitch package to 1.0.7
	#925: Bump wpa_supplicant package to 0.6.10
	#931: Bump kismet package to 2010-01-R1
	#937: Bump openvpn package to 2.1.1
	#943: Bump sqlite package to 3.6.22
	#961: Bump dnsmasq to 2.52
	#967: Bump netstat-nat to 1.4.10
	#973: Bump iw to 0.9.19
	#1003: DHCP options disabled with busybox-1.16.0
	#1009: [SECURITY] Bump php to 5.2.12
	#1015: [SECURITY] Bump bind to 9.5.1-P2
	#1027: Busybox flash commands conflict with those from mtd-utils
	#1063: [SECURITY] Update lighttpd to 1.4.26

2009.11, Released December 1st, 2009:

	Additional fixes and cleanups.

	Updated/fixed packages: alsamixergui, autoconf, coreutils, fltk,
	microperl, ncurses, vim

	Issues resolved (http://bugs.uclibc.org):

	#707: Cant configure fltk-1.1.7. configure: error: Configure could ...

2009.11-rc2, Released November 29th, 2009:

	Additional fixes and cleanups.

	Updated/fixed packages: busybox, dbus, fltk, gvfs, ltrace

2009.11-rc1, Released November 23rd, 2009:

	Fixes all over the tree and new features.

	Cleaned up / Simplified build directory layout. Refer to
	docs/buildroot.html#using for details.

	Target defconfig files moved to configs/ and listed in 'make help'
	output.

	Fixed *clean targets. Now clean removes everything generated,
	so you can do a fresh rebuild. Distclean furthermore removes
	kbuild tools and .config, bringing the source tree back in a
	pristine state.

	Toolchain: ARM cortex A8 support, GCC 4.4.2, sensible default
	soft / hardfloat setting for architecture, ensure target-ldd
	gets installed.

	New packages: divine, gvfs, libarchive, libmicrohttpd,
	sdl_sound, swfdec, sysstat

	Updated/fixed packages: alsa-lib, alsamixergui, autoconf, bootutils,
	busybox, gcc, directfb, dnsmasq, e2fsprogs, festival, gamin, gperf,
	gqview, gstreamer, gst-plugins-bad, gst-plugins-base, gst-plugins-good,
	imagemagick, ipkg, iptables, iw, kernel-headers, kismet, leafpad,
	libelf, libevent, libglib2, libidn, liblockfile, libmad, libpcap,
	libupnp, libuuid, libxml2, lighttpd, ltrace, lua, lzma, magiccube4d,
	matchbox, mdadm, nbd, ncftp, ncurses, netkittelnet, netsnmp,
	ng-spice-rework, ntfs-3g, openntp, openssl, pcmanfm, php, psmisc,
	python, quagga, radvd, rpm, rsync, rubix, samba, sawman, sdl, sdl_image,
	shared-mime-info, sfdisk, spawn-fcgi, speech-tools, sqlite, squashfs,
	synergy, syslinux, sysklogd, target-binutils, tcpdump, torsmo, u-boot,
	udpcast, util-linux, valgrind, vsftpd, wipe, wpa-supplicant, x11vnc,
	xdata_xcursor-themes, xboard, xfsprogs, xstroke, zlib[5~

	Removed package: mdnsresponder, mpatrol, gcc 3.4.6 + 4.0.4, vice

	Issues resolved (http://bugs.uclibc.org):

	#301: allow to install libsmbclient
	#303: add gvfs package
	#477: Add sdl_sound package
	#487: Make kismet package sexier
	#511: New package usb_modeswitch
	#527: misc fixes for dnsmasq package
	#565: libevent: Bump version and clean up makefile
	#587: Use iptables multipurpose binaries and bump to 1.4.4
	#593: Missing early check for patch(1)
	#597: (REOP)  Selecting busybox in buildroot's config clobbers ar ...
	#609: libmicrohttpd: New package
	#615: python: Don't delete .py files unless asked
	#617: netkit/inetd requires RPC and fails to build if RPC is disabled
	#619: netkittelnet requires netkitbase to install, but there's no ...
	#645: allow to build nbd-server with NBD package
	#653: [SECURITY] Update php package to version 5.2.11
	#655: Update sqlite package to version 3.6.18
	#657: Bug in imagemagick-clean target
	#663: Add option for NAND flash with 512B Page and 16 kB erasesize ...
	#665: [PATCH] Samba package
	#667: [PATCH] e2fsprogs
	#683: SDL-dfb does not select directfb
	#701: make install problem with unstripped binaries
	#703: [SECURITY] Update openssl package to 0.9.8l
	#705: Bump spawn-fcgi package to 1.6.3
	#709: Bump lighttpd package to 1.4.24
	#713: Migrate openntpd package to Makefile.autotools.in
	#715: Bump libidn package to 1.15 and other fixes
	#717: Bump dnsmasq to 2.51 and introduce new IDN option
	#731: Bump iw package to 0.9.17

2009.08, Released August 31th, 2009:

	Additional fixes and cleanups.

	Updated/fixed packages: ctorrent, saveconfig/getconfig,
	sdl_net, util-linux.

	Issues resolved (http://bugs.uclibc.org):

	#529: util-linux doesn't find headers and include libs correctly
	#557: Build ctorrent with SSL support if available

2009.08-rc3, Released August 26th, 2009:

	Additional fixes and cleanups.

	Updated/fixed packages: alsa-utils, berkeleydb, busybox, dbus,
	directfb, enchant, kernel headers.

	Issues resolved (http://bugs.uclibc.org):

	#471: Allow directfb compilation with debug
	#541: Removal of CVS directories in target filesystem broken
	#547: berkeleydb: Update config.{sub, guess}
	#549: enchant: Fix dependencies.
	#569: Fix alsa-utils build for x86 on x86-64

2009.08-rc2, Released August 6th, 2009:

	Additional fixes and new features.

	New packages: libuuid, gcc 4.3.4.

	Updated/fixed packages: busybox, classpath, gzip, ipsec-tools,
	jamvm, libusb, microperl, neon, popt, sed, webkit.

	Fixed issue with 'make oldconfig'

	Issues resolved (http://bugs.uclibc.org):

	#525: sed broken with external toolchain
	#537: Fix gzip build with recent glibc

2009.08-rc1, Released August 2nd, 2009:

	Fixes all over the tree and new features.

	Improvement of external toolchain support:
	  - Support for glibc toolchains.
	  - The toolchain configuration announced to Buildroot is
	    verified against the real toolchain configuration.
	  - Fixes, documentation.

	Cleanup X.org support: clarified configuration options, and
	removed mandatory dependency on useless libraries such as
	libXt or libXaw.

	New QT-based configurator, usable using 'make xconfig'.

	Support for the Xtensa architecture.

	Toolchain: GCC 4.4.1, 2.6.30 kernel headers, removed < 2.6.26
	headers.

	New packages: bmon, ctorrent, dosfstools, enchant,
	gst-plugins-bad, iw, libmms, libnl, netstat-nat, ntfsprogs,
	sdl_gfx, spawn-fcgi.

	Updated packages: bind, busybox, coreutils, sqlite, directfb,
	expat, gamin, gnuconfig, haserl, ipsec-tools, classpath,
	libcurl, libglib2, liblockfile, libpng, libsoup, libxml2,
	lighttpd, ltp-testsuite, lvm2, matchbox, memstat,
	gst-plugins-good, gstreamer, libogg, libvorbis, mplayer,
	neon, openssl, pciutils, php, qt, ruby, sawman, webkit,
	wpa-supplicant, xdriver_xf86-input-synaptics,
	xdriver_xf86-video-intel, xlib_libXfont, xlib_libXft,
	xlib_libXt, xproto_xproto, xserver-xorg, xutil_makedepend,
	xutil_util-macros.

	Issues resolved (http://bugs.uclibc.org):

	#83: liblockfile fails to compile due to eaccess redefinition
	#163: Xtensa architecture port
	#171: xorg-server / kernel headers 2.6.26 - vm86.c compilation issue
	#241: device mapper + lvm2: build together
	#243: ctorrent: new package
	#247: ntfsprogs: new package
	#271: Library 'libgcc_s.so.1' not installed in search path
	#287: New package libnl
	#289: New package iw
	#331: Update MPlayer to version 1.0rc2
	#333: Bump sqlite package to 3.6.15
	#349: update libsoup to version 2.26.2
	#357: New package netstat-nat
	#359,#413: Upgrade openvpn to Makefile.autotools.in
	#367: linux kernel compile error for arm926t
	#369: Add SDL_gfx package
	#373: Support for building gstreamer without libxml
	#379: update DirectFB to version 1.4.0
	#383: gst-plugins-good: Allow soup plugin to be configured
	#385: neon: Fix pkgconfig dependency
	#387: Tremor not installed to toolchain
	#389: New package bmon
	#391: gstreamer: Bump version to 0.10.23
	#393: gst-plugins-base: Bump version to 0.10.23
	#395: gst-plugins-bad: New package
	#403: Error while building iso9660 image
	#409: Bump php package to 5.2.10
	#411: ipsec-tools: Bump version to 0.7.2
	#417: New package spawn-fcgi
	#419: Bump lighttpd package to 1.4.23
	#421: toolchain: Clean up toolchain locale support menu
	#427: webkit: Update to WebKit svn r44552
	#437: ltp-testsuite: Bump version to 20090630
	#451: Upgrade from unmaintained dosfstools-2.11 to dosfstools-3.0.3
	#467: DirectFB 1.4.1
	#473: memstat_0.5.tar.gz has install with -D and that fails "make"
	#491: libxml2: Bump version to 0.7.3
	#495: Bump bind package to 9.5.1-P3 (security)
	#497: OpenSSL RSA key generation hangs on x86_64
	#509: Bump sqlite package to 3.6.16
	#523: pciutils broken with external toolchain
	#533: Update gamin to 0.1.10 to fix compilation

2009.05, Released June 1st, 2009:

	Fixes for dropbear & diffutils, bump linux-advanced 2.6.29.x
	version and marked ubifsroot as broken.

2009.05-rc3, Released May 27th, 2009:

	Fixes for toolchain (gcc arm pr37436), stable kernel versions,
	busybox, curl, libusb, readline, python and strace.

	Issues resolved (http://bugs.uclibc.org):

	#345: libcurl package needs a urandom fix

2009.05-rc2, Released May 19th, 2009:

	Fixes for toolchain (gcc w/softfloat on ppc, 3.4.6 buildfix
	for newer hosts), stable kernel versions, busybox, cups,
	dmraid, docker, mesa3d, rsync and updated defconfigs.

	xserver marked as broken on AVR32 and atngw100-expanded
	config removed.

	Issues resolved (http://bugs.uclibc.org):

	#167: metacity does not build
	#295: gamin installs python support even if python is disabled
	#323: gen_matypes fails to execute during build of Mesa when us...

2009.05-rc1, Released May 5th, 2009:

	Fixes all over the tree, further conversion of packages to
	Makefile.autotools.in and we now build host versions of
	packages where needed for build time dependencies instead of
	relying on the correct versions being available on the build
	host. Ancient toolchain / busybox versions have furthermore
	been removed as announced in the 2009.02 release notes.

	New packages: flac, gob2, lzop, taglib, wpa_supplicant

	Updated packages: avahi, bind, binutils, busybox, dbus, dbus-glib,
	directfb, dnsmasq, freetype, gcc, gmp, gstreamer, iptables, kernel
	headers, kexec, libglib2, libpng, libsndfile, lua, mpfr, ntfs-3g,
	openssl, php, qtopia4, rsync, samba, sqlite, tar, uboot, uclibc,
	util-linux, xorg7, xerces

	Issues resolved (http://bugs.uclibc.org):

	#5,#77,#141,#143: Convert php package to Makefile.autotools.in
         and a ton of other improvements
	#19: page.h missing by util-linux
	#37: update libglib2 to version 2.18.4
	#61: tslib puts staging_dir into pkgconfig file
	#69: tar refuses to build
	#71,#175: ./wchar.h:41:12: error: empty filename in #include
	#73: Bump openssl package to the latest version
	#81: New package wpa_supplicant
	#99: new package: flac
	#101: update gstreamer packages
	#105,#313: menuconfig segfaults on tinyx if wchar is not
         selected
	#107: convert libvorbis to Makefile.autotools.in
	#109: Make pppd package avoid bsd err
	#111: binutils 2.17 fails to build when texinfo >= 4.10
	#133: Modify ncurses5-config to get correct include path
	#137: Bump php to version 5.2.9
	#139: Bump sqlite to 3.6.11 and convert to
         Makefile.autotools.in
	#145: Bump bind package to 9.5.1-P1 (security)
	#147: buildroot toolchain fails to build w/binutils-2.19.1
	#151: openssl package trivial fixes
	#161: vim fails on patching with errors in configure.patch
	#169: blackbox-0.70.1 does not build
	#177: xdriver_xf86-input-keyboard does not build
	#179: Upgrade dropbear to Makefile.autotools.in
	#181: Update to Xorg 7.4
	#187: ntfs-3g: could not build cross
	#191: alsa-lib ARM binaries always built with EABI
	#213: Bump wpa_supplicant package to version 0.6.9
	#217: Bump openssl package to 0.9.8k (security)
	#219: Toolchain build fails on m4
	#225: m4 macros are out of place
	#233: make ipv6 optional in iptables
	#237: ncftp: convert to Makefile.autotools.in
	#239: ntfs-3g: convert to Makefile.autotools.in
	#245: lzop: new package
	#271: Bump bind package to 9.5.1-P2 (security)
	#277: Bump sqlite package to 3.6.16
	#279: update libglib2 to version 2.20.1
	#281: update DirectFB to version 1.2.8
	#283: add taglib
	#285: compilation of samba fails if IPV6 support is missing
	#293: update samba to version 3.3.3
	#299: add shared-mime-info package
	#307: make openssl package respect build flags
