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
