2015.08.1, Released September 6th, 2015

	Fix kernel module infrastructure modules support check

	Updated/fixed packages: eudev

2015.08, Released August 31st, 2015

	Minor fixes.

	OpenCV 3.x package renamed to opencv3. OpenCV 2.4.x
	reintroduced as opencv.

	Updated/fixed packages: bootutils, canfestival, cppcms,
	curlftpfs, dhcpdump, dropbear, erlang-p1-tls, exfat, gnuradio,
	ipkg, libgudev, libmbim, libwebsock, linux-pam, lm-sensors,
	ltrace, midori, network-manager, openssh, perl-file-listing,
	perl-http-cookies, perl-http-daemon, perl-http-negotiate,
	perl-www-robotrules, python-can, qt5base, qt5multimedia,
	setools, sysvinit, tinyalsa, tn5250, tvheadend, uboot, vlc,
	x264, xserver_xorg-server, zyre

2015.08-rc2, Released August, 24th 2015

	Fixes all over the tree.

	Toolchain: fix gcc build on NIOS-II.

	Infrastructure: add <fs>_POST_GEN_HOOKS mechanism to fix
	hybrid ISO image generation.

	Architectures: add arm1136j-s variant.

	Updated/fixed packages: apitrace, audit, bcusdk, bdwgc,
	beecrypt, boost, bwm-ng, cdrkit, c-icap, cifs-utils, clapack,
	c-periphery, cpio, cramfs, czmq, dawgdic, dnsmasq, dosfstools,
	dropbear, elfutils, empty, eudev, fan-ctrl, filemq, gnutls,
	guile, haveged, imlib2, libcec, libepoxy, libev, libgpgme,
	libiio, libnetfilter_queue, libnfnetlink, libpfm4, libpthsem,
	librtas, libselinux, libsigsegv, libsodium, libv4l, lightning,
	linux, lirc-tools, lrzsz, mono, mosh, mpd, msmtp, nbd,
	netatalk, nodejs, ola, opencv, oprofile, php, poco,
	postgresql, powertop, protobuf, protobuf-c, qt5base,
	qt5quickcontrols, rapidjson, rng-tools, squid, sysdig,
	sysstat, tftpd, tinc, tz, util-linux, webkitgtk24, weston,
	wireshark, wvstreams, xdriver_xf86-input-synaptics, zyre.

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

	#8276: package/dropbear: symlink resolution incorrect
	#8286: Error with buildroot
	#8301: ldconfig parameter in Makefile

2015.08-rc1, Released August, 5th 2015

	Fixes all over the tree and new features.

	Architectures:

	 - Refactor how the availability of an MMU is described.
	 - Minimal support for Cortex-M3
	 - Minimal support for AArch64 big-endian

	Toolchains:

	 - Add CodeSourcery MIPS 2015.05, remove MIPS 2013.11
	 - Use uClibc-ng as the default uClibc version, instead of the
	   official uClibc, which hasn't done any release since 3+
	   years
	 - eglibc is now marked as deprecated
	 - GCC: gcc 4.9.x is now the default and was updated to 4.9.3,
	   support for gcc 5.x added.
	 - Binutils: use Binutils 2.24 as the default, 2.25.x series
	   bumped to 2.25.1, remove old Binutils 2.22.
	 - Update ARC toolchain components to 2015.06
	 - Add support for Fortran when building gcc

	Bootloaders:

	 - Support for using the kconfig configuration system in
	   U-Boot

	New Defconfigs:

	 - VIA VAB-820/AMOS-820
	 - OLimex OLinuxino A20 Lime
	 - Many new defconfigs for Atmel evaluation boards:
	   at91sam9rlek, at91sam9x5ek, sama5d3xek, sama5d4ek, sama5d4
	   Xplained Ultra, sama5d3 Xplained.
	 - ACME Systems Aria G25
	 - WarPboard
	 - Altera Cyclone 5 Development Board
	 - Xilinx zc706
	 - ARC AXS101 and AXS103 Software Development Platforms
	 - Significant updates to Raspberry Pi / Raspberry Pi 2

	Infrastructure:

	 - Buildroot takes better care now of generating predictable
	   permissions in the target filesystem. However, existing
	   permissions on a custom skeleton or rootfs overlay will no
	   longer be preserved. Therefore, it is necessary to add a
	   permission table (BR2_ROOTFS_DEVICE_TABLE) to set the
	   required permissions.
	 - Add support for kconfig fragments.
	 - No longer pass --{enable,disable}-debug to autotools
	   packages depending on the value of
	   BR2_ENABLE_DEBUG. BR2_ENABLE_DEBUG now only controls
	   whether we build with -g or not.
	 - Support for extracting archives in .lzma in the generic
	   package infrastructure.
	 - Remove random-seed file from the default skeleton, since
	   seeding the entropy pool with a known seed makes more harm
	   than good.
	 - In the CVS download helper, add support to use a date as
	   the version.
	 - Add support for a per-package <pkg>_STRIP_COMPONENTS
	   variable, which packages can use to specify how many path
	   components should be stripped when extracting the tarball.
	 - Addition of a 'kernel-module' package infrastructure, which
	   simplifies the packaging of external kernel modules. Many
	   existing packages are converted to use it.
	 - Allow bootloaders to be implemented in $(BR2_EXTERNAL)
	 - Remove /etc/securetty from the default skeleton.
	 - Migration of sysV initscripts from the default skeleton to
	   a package called 'initscripts', installed only when Busbox
	   init or sysvinit are used.
	 - Migration of the skeleton logic to a proper 'skeleton'
	   package.
	 - Addition of a 'linux-tools' infrastructure in the 'linux'
	   package, to support building user-space tools bundled
	   within the Linux kernel sources, such as perf and cpupower.
	 - Usage of backticks instead of make $(shell ...) to execute
	   shell commands. This allows to delay the evaluation of such
	   commands when actually needed, and not when expanding the
	   variables. It is useful to make 'make printvars' less
	   noisy, and as a preparation to support top-level parallel
	   build.
	 - Libtool .la files are not mungled for all package types,
	   instead of being handled only for packages using the
	   autotools-package infrastructure.
	 - Add mechanism to allow packages to express a dependency on
	   gcc versions. This is needed for packages that use C++11 or
	   C11 support for example.

	Important package updates:

	 - Complete rework of the matchbox packaging
	 - Lots of fixes in packages for compatibility with musl and
	   gcc 5.
	 - Hash files added to a large number of packages.
	 - Update a significant number of packages to use a new
	   hosting, after the announcement of Google Code and
	   Gitorious closing.
	 - Major packages needed for SELinux support have been merged,
	   but the support is not complete yet.
	 - Significant update of OpenCV to version 3.0, and addition
	   of lots of eatures.
	 - Significant update of all packages supporting the GPU and
	   VPU of i.MX ARM processors.
	 - Addition of systemd support in a significant number of
	   packages.
	 - Qt5 updated to 5.5.0
	 - Use modular X.org server by default instead of KDrive

	Filesystems:

	 - Complete overhaul of the iso9660 support. Now allows to use
	   directly IS9660 as the root filesystem format and not only
	   an initrd, and supports Grub 2 and isolinux in addition to
	   Grub.

	Updated packages: a10disp, agentpp, apache, at91bootstrap3,
	audit, barebox, bc, bind, bmon, boost, btrfs-progs,
	ca-certificates, can-utils, ccache, cloog, collectd, connman,
	coreutils, c-periphery, cryptsetup, dado, dbus, dejavu,
	dhcpcd, dnsmasq, dosfstools, dovecot, dovecot-pigeonhole,
	e2fsprogs, ejabberd, erlang-p1-cache-tab, erlang-p1-sip,
	erlang-p1-stringprep, erlang-p1-stun, erlang-p1-tls,
	erlang-p1-utils, erlang-p1-xml, erlang-p1-yaml, ethtool,
	eudev, evtest, exim, expect, explorercanvas, feh, ffmpeg,
	file, flashrom, freescale-imx, freetype, gawk, gcc, gdb,
	gettext, git, glib-networking, gnupg2, gnutls, gpsd, gptfdisk,
	gpu-viv-bin-mx6q, gst-fsl-plugins, harfbuzz, hdparm, heimdal,
	i2c-tools, imagemagick, imx-vpu, iproute2, ipset, isl, iw,
	kodi, kodi-addon-xvdr, kodi-audioencoder-flac,
	kodi-audioencoder-lame, kodi-audioencoder-vorbis,
	kodi-audioencoder-wav, lftp, libass, libassuan, libcec,
	libconfi, libcurl, libdrm, libevdev, libfreefare, libfslcodec,
	libfslparser, libfslvpuwrap, libfuse, libglib2, libgpgme,
	libgtk2, libgtk3, libical, libidn, libiio, libinput, libiscsi,
	libllcp, libmicrohttpd, libnfc, libnss, libpcap, libpciaccess,
	libpng, libserialport, libsigrok, libsoc, libtirpc, libubox,
	libunistring, libupnp, libuv, libv4l, libva,
	libva-intel-driver, libXrandr, lighttpd, linenoise, linux,
	linux-firmware, linux-headers, live555, ltrace, lua,
	lua-csnappy, lua-ev, luajit, lua-messagepack, luaperiphery,
	lvm2, lxc, lzo, mesa3d, mesa3d-headers, midori, mmc-utils,
	modem-manager, mono, mosquitto, mpd, mpd-mpc, mpfr, mpg123,
	mtd, musl, nano, netperf, network-manager, nfs-utils, nginx,
	nodejs, ntp, ola, opencv, openldap, openssh, openssl,
	openswan, openvmtools, openvpn, opkg, orbit, orc, pcmanfm,
	perl-cross, perl-encode-locale, perl-io-socket-ssl,
	perl-mojolicious, perl-net-ssleay, perl-path-tiny, perl-uri,
	perl-xml-libxml, php, pinentry, polarssl, postgresql,
	pulseview, pure-ftpd, python, python-dpkt, python-lxml,
	python-networkmanager, python-pyinotify, python-pypcap,
	python-tornado, qextserialport, qt, qt5, rapidjson, redis,
	rpcbind, rpi-firmware, rpi-userland, samba4, shairport-sync,
	snmpp, sqlite, squid, strongswan, stunnel, sudo, sunxi-boards,
	sunxi-mali, sysdig, sysstat, systemd, tcpdump, tiff, tmux,
	tor, txheadend, tzdata, uboot, uclibc, ulogd, upmpdcli,
	usb_modeswitch, usb_modeswitch_data, vala, vsftpd, wayland,
	weston, whois, wireless-regdb, wireshark, x264, xapp_xvinfo,
	xdriver_xf86-input-libinput, xdriver_xf86-input-vmmouse,
	xdriver_xf86-video-cirrus, xdriver_xf86-video-geode,
	xdriver_xf86-video-imx-viv, xdriver_xf86-video-mach64,
	xdriver_xf86-video-neomagic, xdriver_xf86-video-r128,
	xdriver_xf86-video-savage, xdriver_xf86-video-siliconmotion,
	xdriver_xf86-video-vesa, xkeyboard-config, xlib_libfontenc,
	xlib_libFS, xlib_libXaw, xlib_libxkbfile, xlib_libXrender,
	xlib_libXt, xproto_kbproto, xproto_xproto, xproto_xrandrproto,
	xscreensaver, xserver_xorg-server, xtables-addons, yaml-cpp,
	zic.

	New packages: angularjs, atf, audit, c-icap, c-icap-modules,
	cpio, dawgdic, faketime, fcgiwrap, gflags, glog, initscripts,
	jquery-datetimepicker, kodi-audioencoder-modplug,
	kodi-audioencoder-nosefar, kodi-audioencoder-sidplay,
	kodi-audioencoder-snesapu, kodi-audioencoder-stsound,
	kodi-audioencoder-timidity, kodi-audioencoder-vgmstream,
	kodi-platform, kodi-pvr-argustv, kodi-pvr-dvblink,
	kodi-pvr-dvbviewer, kodi-pvr-filmon, kodi-pvr-hts,
	kodi-pvr-iptvsimple, kodi-pvr-mediaportal-tvserver,
	kodi-pvr-mythtv, kodi-pvr-nextpvr, kodi-pvr-njoy,
	kodi-pvr-pctv, kodi-pvr-stalker, kodi-pvr-vbox,
	kodi-pvr-vdr-vnsi, kodi-pvr-vuplus, kodi-pvr-wmc,
	kodi-screensaver-asteroids, kodi-screensaver-biogenesis,
	kodi-screensaver-crystalmorph, kodi-screensaver-greynetic,
	kodi-screensaver-pingpong, kodi-screensaver-pyro,
	kodi-screensaver-stars, kodi-visualisation-shadertoy,
	kodi-visualisation-spectrum, kodi-visualisation-waveforhue,
	kodi-visualisation-waveform, kvmtool, kyua, libfm,
	libfm-extra, libplatform, librtas, libsodium, libsquish,
	libucl, libump, linux-backports, lua-iconv, lutok, menu-cache,
	moarvm, monkey, mono-gtksharp3, mosh, openipmi, python-can,
	python-pycli, python-pydal, python-pyyaml, python-web2py,
	qpid-proton, qt5webchannel, quazip, racehound, rtl8188eu,
	rtl8821au, sepolgen, setools, skeleton, stm32flash,
	webkitgtk24, xdriver_xf86-video-qxl, zynq-boot-bin.

	Deprecated packages: webkitgtk, libgail, eglibc support in
	glibc package.

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

	#4291: Segmentation fault with all binaries that use threads
               when compiled with gcc 4.6
	#6944: building toolchain for sh4 fails
	#7592: Buildroot GCC: -lto requires plugin support in ranlib
	#7628: Python SSL does not get built for Raspberry Pi
	#7682: Missing dependencies for NFS
	#7742: dhcp lacks important features when BR2_ENABLE_DEBUG
	#7754: make: *** [/..../buildroot-2014.11/output/build/host-gcc-initial-4.8.3/.stamp_built] Error 2
	#7946: libglib2-2.42.2 fails to build for sparc-buildroot-linux-gnu
	#7956: glibc 2.20 and 2.21 fail to build for sh64-buildroot-linux-gnu
	#7971: python-flask, python-werkzeug. No module named zlib
	#7981: Target file system skeleton permissions hazard
	#8006: rpcdebug in nfs-utils built for the host
	#8036: alsa-lib headers problem that prevents to compile alsa
               dependent projects
	#8081: systemd init system: /tmp is not mode 1777
	#8121: php opcache extension doesn't get installed
	#8151: x86-64 make fails with ncurses 5.9
	#8156: pkg-kconfig infra broken for *-update-{config, defconfig}
	#8161: default /bin/sh symlink to busybox is full path and not relative
	#8171: glamor missing
	#8191: Request update support for the cubieboard series
	#8201: Important security upgrades for node.js

2015.05, Released May 31st, 2015

	Minor fixes.

	Updated/fixed packages: conntrack-tools, directfb, fio, flite,
	gptfdisk, ipmiutil, iproute2, janus-gateway, keyutils, knock,
	libelementary, libgcrypt, libgsasl, libjpeg, libstrophe,
	lttng-libust, nbd, ncurses, nmap, php, postgresql, python,
	python3, sconeserver, udpcast, upmpdcli

2015.05-rc3, Released May 22nd, 2015

	Several fixes, mainly related to static linking.

	Updated/fixed packages: acl, alsa-utils, apr, armadillo, attr,
	autoconf-archive, binutils, boost, czmq, dhcpcd, duma,
	enlightenment, exim, fbterm, freerdp, gcc, gdk-pixbuf,
	google-breakpad, gpsd, heirloom-mailx, hwloc, ipmiutil,
	iproute2, jack2, jasper, kmod, lcdproc, leafnode2, libcap-ng,
	libftdi1, libmatroska, libmemcached, libmodbus, libnftnl,
	libsigrok, libupnpp, libuv, libxml-parser-perl, linux,
	linux-headers, lirc-tools, lua-periphery, lxc, mongoose, mono,
	mpg123, mosquitto, neardal, newt, ntp, ola, openldap, opencv,
	php, postgresql, protobuf, pulseaudio, python-pyqt, qemu, qt,
	qt5base, rpi-userland, rsyslog, snmppp, sqlite, tiff,
	tinyxml2, uboot-tools, unionfs, ux5000-firmware, usbredir,
	ushare, vpnc, vsftpd, wavpack, wireless_tools, wsapi,
	wvstreams, xmlstarlet, zeromq, zmqpp

	New packages: c-periphery

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

	#8106: mkfs.jffs2 uses the --pagesize parameter incorrectly
	#8111: 2015.05.rc2 LIBFOO_CONF_OPTS not working
	#8126: exim lacks plaintext and cram-md5 auth

2015.05-rc2, Released May 11th, 2015

	Minor fixes.

	Toolchain: PR56780 backport to GCC 4.8.4 to fix GDB linking
	issues. Context functions enabled for uClibc snapshot /
	uClibc-NG.

	Architectures: Endian handling symbol for Xtensa, binutils
	fixes.

	Infrastructure: Fix for kernel module stripping when
	localversion contains spaces.

	Updated/fixed packages: at, autoconf-archive, binutils,
	cc-tool, cryptsetup, dstat, expedite, freerdp, giflib,
	gnuchess, guile, ipmiutil, iproute2, mono, monolite, neard,
	ola, poppler, postgresql, python-qt, qt, sqlite, valgrind,
	xlib_libXfont

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

	#8086: Cannot select systemd as init with Linaro 2014.09...

2015.05-rc1, Released May 4th, 2015

	Fixes all over the tree and new features.

	Architectures: Removed AVR32 support, deprecate SH64, added
	support for steamroller, corei7-avx and core-avx2 x86
	variants.

	Toolchains: IPv6 and Largefile support now enforced for
	uClibc. Corresponding Kconfig symbols removed.

	External CodeSourcery AMD64 2014.05, MUSL-cross 1.1.6 added,
	CS sh2, Xilinx microblaze v2/14.3 removed. Distro-class
	external toolchains are now detected and blacklisted.

	Internal toolchain support for Nios2 added, Blackfin
	removed. Aarch64 and sh musl support. uClibc-ng support added.

	Libatomic is now handled for internal and external
	toolchains. Link time optimization (LTO) support.

	New Defconfigs: Freescale i.MX28 EVK, i.MX31 PDK and SABRE
	Auto, Raspberry Pi 2, RIoTboard,

	Infrastructure: Hashes for a large number of packages have
	been added. Missing hashes now stop the build unless
	explicitly disabled.

	Spaces and colons (:) are now supported in package
	versions. Dependencies can now be listed for the patch step
	(<PKG>_PATCH_DEPENDENCIES). Kconfig and Linux kernel
	extensions infrastructure has been added.

	Makedevs now has a recursive (r) option.

	The variable containing the list of packages to build has been
	renamed from TARGETS to PACKAGES.

	Make external-deps / legal-info / source / source-check have
	been reimplemented using the package infrastructure, so their
	output/behaviour may differ from earlier (some packages were
	not included in the past).

	The old insecure DES password encoding is no longer supported.

	U-Boot patch option now support direct references to patch
	files and URLs in addition to directories of patches. The
	i.MX28 SD format (u-boot.sd) is now supported.

	Updated/fixed packages: agentpp, aircrack-ng, alsa-lib,
	alsa-utils, apr-util, apr, atk, autossh, avahi, avrdude,
	bcusdk, bdwgc, bind, binutils, bmon, boost, botan,
	btrfs-progs, busybox, ca-certificates, cairo, can-utils,
	canfestival, ccache, chrony, civetweb, clamav, cmake,
	collectd, connman, copas, crda, cryptodev-linux, cryptsetup,
	cups, czmq, dbus-cpp, dbus-glib, dbus-python, dbus, dfu-util,
	dhcp, dhcpcd, dialog, dillo, dmraid, dnsmasq, dos2unix,
	dosfstools, dovecot-pigeonhole, dovecot, dropbear, dropwatch,
	dtv-scan-tables, dvdauthor, e2fsprogs, ecryptfs-utils,
	libevas, elfutils, enscript, erlang, espeak, eudev, evemu,
	exfat-utils, exim, f2fs-tools, feh, ffmpeg, fftw, flickcurl,
	fltk, fluxbox, fmlib, fmtools, freeradius-client, freerdp,
	gamin, gawk, gcc-final, gcc, gd, gdb, gengetopt, geoip, git,
	glib-networking, gnu-efi, gnuchess, gnutls, gpsd, gptfdisk,
	gpu-viv-bin-mx6q, gst-plugin-bad, gstreamer, gstreamer1,
	gtest, gvfs, harfbuzz, haserl, haveged, hiawatha,
	hicolor-icon-theme, hostapd, hplip, httping, i2c-tools, icu,
	ifplugd, imagemagick, imlib2, iozone, iproute2, iptables,
	iputils, irqbalance, iw, jack2, jhead, jimtcl, json-c, kexec,
	kismet, kmod, kodi-audioencoder-flac,
	kodi-audioencoder-vorbis, kodi-pvr-addons, kodi, ktap, lcms2,
	libass, libatomic_ops, libbluray, libcap, libcgroup, libcurl,
	libdrm, libdvbsi, libebml, libecore, libedit, liberation,
	libev, libevas, libevdev, libftdi, libgcrypt, libglib2,
	libgpgme, libgtk2, libgtk3, libiconv, libidn, libiio,
	libinput, libiscsi, libksba, liblinear, libmatroska,
	libmicrohttpd, libmodbus, libmpdclient, libnice, libnl,
	libnspr, libnss, libpcap, libpciaccess, libphidget, libplayer,
	libpthsem, libqmi, librsvg, libseccomp, libsigrok, libsoup,
	libsrtp, libssh2, libtasn1, libtool, libunistring, liburcu,
	libusb, libuv, libva-intel-driver, libva, libvncserver,
	libvorbis, libvpx, libwebsockets, libxml2, libzip, lightning,
	lighttpd, linknx, linphone, linux-firmware, linux-headers,
	linux-pam, live555, ljsyscall, lmbench, lockdev, logrotate,
	lpc3250loader, lpeg, lsof, lttng-libust, lttng-modules,
	lttng-tools, lua, luacrypto, luafilesystem, luajit, luaposix,
	luarocks, lvm2, lxc, make,
	matchbox-{common,desktop,fakekey,keyboard,lib,startup-monitor,vm},
	matchbox, mcelog, memcached, memstat, memtest86, mesa3d,
	minidlna, mjpegtools, mjpg-streamer, modem-manager, mongoose,
	monit, mono, monolite, mp4v2, mpc, mpd, mpdecimal, mpg123,
	mplayer, musl, nano, nbd, ncftp, ncmpc, ncurses, ne10, neard,
	neardal, net-tools, netatalk, netsnmp, network-manager, nginx,
	nodejs, ntfs-3g, ntp, numactl, odhcp6c, ofono, open2300,
	opencv, openldap, openntpd, openocd, openssh, openssl,
	openswan, opentyrian, openvmtools, openvpn, oprofile, p11-kit,
	pango, patch, patchelf, pciutils, pcre, perf, perl-gdgraph,
	perl-io-socket-ssl, perl-json-tiny, perl-module-build,
	perl-mojolicious, perl-net-ssleay, perl-path-tiny,
	perl-xml-libxml, perl, phidgetwebservice, php-gnupg, php,
	pkgconf, polarssl, poppler, popt, postgresql, powerpc-utils,
	pppd, prboom, procps-ng, proftpd, psplash, ptpd2,
	python-{cheetah,coherence,django,markdown,netifaces,pam,six},
	python-tornado, python-twisted, python-zope-interface, python,
	python3, qemu, qt, qt5, qt5base, qt5multimedia,
	qt5xmlpatterns, qt5cinex, quagga, qwt, radvd, readline,
	rng-tools, rpcbind, rpi-firmware, rpi-userland, rsync,
	rsyslog, rtai, rtmpdump, ruby, sam-ba, samba, samba4,
	sane-backends, sconeserver, shairport-sync, sigrok-cli, slang,
	smcroute, snmppp, socat, socketcand, sofia-sip, sox,
	spawn-fcgi, speex, sqlcipher, sqlite, squid, strace,
	strongswan, stunnel, sudo, sunxi-boards, swig, sysstat,
	systemd, tcpdump, tftpd, thrift, thttpd, ti-gfx, ti-utils,
	tiff, tinyalsa, tn5250, transmission, trinity, tslib,
	tvheadend, tzdata, uboot-tools, uclibc, ulogd, usb_modeswitch,
	usbutils, ustr, util-linux, vala, valgrind, vlc, wayland,
	webp, weston, wget, which, whois, wireless-regdb,
	wireless_tools, wireshark, wpa_supplicant, wvstreams,
	xapp_{bdftopcf,bitmap,fonttosfnt,fslsfonts},
	xapp_{fstobdf,iceauth,mkfontscale,oclock,rgb,sessreg,setxkbmap},
	xapp_{showfont,smproxy,twm,x11perf,xcalc,xclipboard,xcmsdb},
	xapp_{xdbedizzy,xditview,xdpyinfo,xdriinfo,xedit,xev,xeyes},
	xapp_{xf86dga,xfsinfo,xgamma,xgc,xhost,xinit,xinput,xkbcomp},
	xapp_{xkbevd,xkbprint,xlsatoms,xlsfonts,xmag,xman,xmh,xmodmap},
	xapp_xmore, xcb-util-image, xcb-util-keysyms,
	xdata_xcursor-themes,
	xdriver_xf86-input-{evdev,keyboard,synaptics,void},
	xdriver_xf86-video-{ati,cirrus,geode,mach64,mga,neomagic},
	xdriver_xf86-video-{r128,savage,siliconmotion,sis,tdfx},
	xdriver_xf86-video-{trident,vmware,voodoo}, xenomai,
	xfont_font-util, xkeyboard-config,
	xlib_lib{ICE,X11,Xdmcp,Xfont,Xpm,XvMC},
	xlib_lib{Xxf86vm,xshmfence,xtrans}, xproto_randrproto,
	xproto_xproto, xserver_xorg-server, x11vnc, x264, xerces,
	xorriso, xterm, xz, yaml-cpp, zeromq, zic, zmqpp

	New packages: apache, autoconf-archive, batctl,
	bitstream-vera, bullet, cc-tool, doxygen, drbd-utils,
	dvdrw-tools, gnuradio, gst1-imx, hans, hwloc, ijs,
	imx-usb-loader, inconsolata, iodine, iotop, ipmiutil, jsoncpp,
	leveldb, libdcadec, libdri2, libfreeimage, libftdi1,
	libsidplay2, lirc-tools, lua-periphery, mc, mesa3d-headers,
	mosquitto, nvidia-driver, nvidia-tegra23{,-binaries,-codecs},
	openjpeg, opusfile, perl-crypt-openssl-{random,rsa},
	perl-db-file, perl-digest-{hmac,sha1},
	perl-encode-{detect,locale}, perl-file-{listing,util},
	perl-html-{parser,tagset}, perl-http-cookies,
	perl-http-{daemon,date,message,negotiate}, perl-io-html,
	perl-libwww-perl, perl-lwp-mediatypes, perl-mail-dkim,
	perl-mailtools, perl-mime-base64, perl-net-{dns,http},
	perl-netaddr-ip, perl-time-hires, perl-timedate, perl-uri,
	perl-www-robotrules, powertop, pulseview,
	python-{cherrypy,lxml,mako,pyqt,pyxml,sip,spidev,ws4py}, qpdf,
	qt-webkit-kiosk, sl, softether, sysdig, tinyxml2, tor, tovid,
	unixodbc, wf111, wine, libepoxy, xapp_xcompmgr,
	xapp_xfindproxy, xcb-util-cursor, xcb-util-renderutil,
	xdriver_xf86-input-libinput, xdriver_xf86-video-imx{,-viv},
	xproto_xproxymanagementprotocol

	Removed packages: gtk2-theme-hicolor

	Deprecated packages: samba

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

	#7478: Multiple chosen python modules are not built due to...
	#7508: Use of BR2_EXTERNAL and dependencies to existing packages
	#7676: Package procps-ng installs binaries to nonsensical folder
	#7724: Startx is not installed in the target
	#7760: botan: wrong prefix in botan-1.10.pc
	#7826: Building of cdparanoia
	#7844: Lua with hard-float on MIPS by buildroot doesn't work
	#7874: X.org configure error
	#7941: glibc-2.20 fails to build for sparc-buildroot-linux-gnu
	#7951: gcc 4.9.2 fails to build for sparc-buildroot-linux-gnu
	#7961: Qt5 fails to build for xtensa-buildroot-linux-uclibc
	#7976: mkuser script fails with: user already exists with...
	#8011: When building only busybox and strace, strace fails...
	#8016: collectd fails to build, network.c:171:19: error:...
	#8041: error on building libcurl7.42.0

2015.02, Released March 1st, 2015

	Minor fixes.

	Updated/fixed packages: civetweb, ding-libs,
	directfb-examples, glibc, gnupg, gnupg2, gpm,
	gst-plugins-good, gst1-plugins-good, freetype, libao, libevas,
	libevent, libfribidi, libgcrypt, libgtk2, libshout, libsrtp,
	libtheora, libupnpp, libxmlrpc, linux, make, opus, pinentry,
	rpi-firmware, shared-mime-info, vlc, vorbis-tools,
	xcb-util-keysyms

	Removed packages: libgc

2015.02-rc3, Released February 24th, 2015

	Minor fixes.

	Cmake and rebar (erlang) infrastructure fixes.

	Updated/fixed packages: bind, btrfs-progs, busybox, e2fsprogs,
	evtest, ffmpeg, fltk, gnutls, i2c-tools, imagemagick, libxcb,
	make, mjpg-streamer, netsnmp, opentyrian, php, polarssl,
	qt5base, samba, samba4, sudo, util-linux, xserver_xorg-server

2015.02-rc2, Released February 15th, 2015

	Minor fixes.

	raspberrypi: fix kernel sha1 for DT variant.

	Updated/fixed packages: dbus, dvdauthor, git, libsemanage,
	libsepol, libssh2, mplayer, ntp, openvmtools, python3,
	qt5base, qt5connectivity, xserver_xorg-server

2015.02-rc1, Released February 8th, 2015

	Fixes all over the tree and new features.

	Static/shared library handling reworked. This is now a
	tristate (shared only / shared and static / static
	only). Default is now shared only to speed up the
	build. BR2_PREFER_STATIC_LIB is now called BR2_STATIC_LIBS.

	The toolchain (internal and external) will now warn when an
	unsafe library or header path is used (such as /usr/include or
	/usr/lib). If BR2_COMPILER_PARANOID_UNSAFE_PATH is enabled
	under build options this instead becomes an error.

	A installation path issue with the internal musl toolchain
	support has been fixed so it is now possible to reuse it as an
	external toolchain.

	Architectures: Freescale E5500 and E6500 PowerPC support
	added, deprecated MIPS 1/2/3/4 support removed.

	New defconfigs: Freescale p2020ds, MIPS creator CI20,
	Raspberrypi with DT, UDOO Quad.

	'make <foo>_defconfig' now saves the path to the defconfig in
	the .config, so a 'make savedefconfig' automatically updates
	it.

	Infrastructure for packages using the Erland rebar tool has
	been added.

	Hashes for a large number of packages have been added. Hashes
	are now checked for both target and host packages.

	The system menu now has an option to automatically configure a
	network interface through DHCP at bootup.

	The default filesystem skeleton now uses a separate tmpfs for
	/run instead of a symlink to /tmp/ for security reasons / to
	protect against conflicts with user generated temporary files.

	BR2_EXTERNAL is now exported to post-build and post-image
	scripts.

	New packages: bdwgc, benejson, blktrace, bootstrap, cgic,
	ding-libs, dvdauthor, ejabberd, erlang-goldrush, erlang-lager,
	erlang-p1-cache-tab, erlang-p1-iconv, erlang-p1-sip,
	erlang-p1-stringprep, erlang-p1-stun, erlang-p1-tls,
	erlang-p1-utils, erlang-p1-xml, erlang-p1-yaml,
	erlang-p1-zlib, exiv2, freeradius-client, gengetopt, glmark2,
	gpu-amd-bin-mx51, guile, host-qemu, ifupdown, iperf3,
	janus-gateway, kodi, kodi-audioencoder-flac,
	kodi-audioencoder-lame, kodi-audioencoder-vorbis,
	kodi-audioencoder-wav, libcli, libiio, liblinear, libnice,
	libselinux, libsemanage, libserialport, libsigro,
	libsigrokdecode, libsrtp, liburiparser, libvips, libwebsock,
	libz160, libzip, lightning, mcelog, memtest86, mjpegtools,
	mjpg-streamer, mke2img, mpd-mpc, netsurf-buildsystem, odhcp6c,
	openldap, python-alsaaudio, python-certifi, python-cheetah,
	python-coherence, python-django, python-docopt, python-enum,
	python-enum34, python-flask, python-gobject, python-httplib2,
	python-ipaddr, python-itsdangerous, python-jinja,
	python-markdown, python-markupsafe, python-networkmanager,
	python-pam, python-psutil, python-pyftpdlib, python-pyinotify,
	python-pysendfile, python-pyxb, python-requests, python-six,
	python-twisted, python-webpy, python-werkzeug,
	python-zope-interface, qt5cinex, sigrok-cli, sofia-sip,
	start-stop-daemon, szip, triggerhappy, ustr, vnstat, xorriso,
	xtables-addons

	Removed packages (target): bison, distcc, gob2, m4

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

	#7556: make interactive CLI optional for nftables
	#7730: Error while connecting Qt Cretaor to device
	#7766: logrotate default gzip path is usually wrong
	#7790: Invalid ext4 image generated by Buildroot

2014.11, Released December 1st, 2014

	Minor fixes.

	Infrastructure: LD_LIBRARY_PATH handling tweak to ensure
	current working directory isn't searched.

	Updated/fixed packages: gd, gdb, libwebsockets, luajit, mono,
	parted, shairport-sync, util-linux, xapp_bdftopcf,
	xserver_xorg-server

2014.11-rc3, Released November 28th, 2014

	Fixes all over the tree.

	System: File permissions of /etc/random-seed made more
	restrictive.

	Toolchain: Various fixes related to locale handling, a fix for
	building the toolchain wrapper on MIPS.

	Updated/fixed packages: bind, binutils. botan, btrfsprogs,
	clamav, czmq, dhcp, dillo, dovecot, erlang, flac, gd, glibc,
	gptfdisk, gst1-validate, heirloom-mailx, lame, libksba,
	libllcp, libnspr, libpng, libshairplay, libtirpc, linux,
	linux-headers, mpdecimal, mpg123, network-manager, nfstables,
	nfs-utils, openssl, pcituils, qt, radvd, rtai, sqlcipher,
	sstrip, tcpdump, uclibc, uemacs, ushare, wayland, weston,
	xl2tp, xserver_xorg-server

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

	#7670: Fails to build mpc-1.0.2 on latest Cygwin

2014.11-rc2, Released November 21st, 2014

	Fixes all over the tree.

	Inittab tweaks for shutdown handling (busybox and sysvinit).

	Updated/fixed packages: aircrack-ng, botan, canfestival,
	clamav, coreutils, czmq, dbus, dovecot, duma, e2fsprogs,
	erlang, gcc, iputils, libcap, libgcrypt, libmemcached,
	libssh2, libunwind, libv4l, linux-headers, mesa3d-demos, mutt,
	mysql, ndisc6, nodejs, omniorb, perl-cross, php,
	python-tornado, python3, qemu, qt5base, qt5webkit, rpm,
	rt-tests, ruby, schifra, sdl_sound, shairport-sync, sysvinit,
	tstools, tzdata, wireshark, x264

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

	#7646: strftime on datetime not works on python3

2014.11-rc1, Released November 12th, 2014

	Fixes all over the tree and new features.

	Toolchains: Use -mcpu / -march instead of -mtune. Support
	additional ARC and sparc variants. Updated Code sourcery
	and Linaro external toolchains.

	Defconfigs: Freescale iMX6DL SabreSD, Minnowboard MAX, QEMU
	powerpc64 pseries added and a number of updates to the
	existing configurations.

	Infrastructure: Buildroot is now less noisy when built with
	the silent option (make -s).
	A number of package infrastructure variables have been renamed
	from *_OPT to *_OPTS for constency. Buildroot will complain if
	the old names are used to assist in updating out of tree
	packages.
	Fixes for host systems where bash isn't located in /bin, and
	older systems not supporting mktemp --tmpdir.
	Various cleanups of users/groups in the default skeleton.
	There is now an option to choose what shell /bin/sh points to.

	Documentation: Various updates to the user manual. The
	asciidoc documentation handling has now been extended so it
	can be used by (BR2_EXTERNAL) packages.

	Updated/fixed packages: acl, acpid, agentpp, aircrack-ng,
	alsa-lib, alsamixergui, alsa-utils, apitrace, apr, apr-util,
	argus, arptables, at, atftp, atk, attr, audiofile, aumix,
	automake, autossh, avahi, avrdude, axel, bandwidthd, bash,
	bcusdk, beecrypt, bind, binutils, blackbox, bluez5_utils,
	bluez_utils, bmon, boost, bootutils, bridge-utils,
	btrfs-progs, busybox, bwm-ng, bzip2, ca-certificates, cairo,
	ccache, ccid, ccrypt, cdrkit, cegui06, celt051, chrony,
	cifs-utils, civetweb, cjson, clapack, classpath, cloog, cmake,
	collectd, connman, copas, coreutils, coxpcall, cppcms, cppdb,
	cppzmq, cramfs, crda, cryptsetup, ctorrent, cups, cvs, cwiid,
	czmq, dash, dbus, dbus-cpp, dbus-glib, dbus-python, dejavu,
	dhcp, dhcpcd, dhcpdump, dialog, dillo, directfb, distcc,
	dmalloc, dmidecode, dmraid, dnsmasq, doc-asciidoc.mk,
	dosfstools, dropbear, dropwatch, dstat, dtach, dtc, dvbsnoop,
	e2fsprogs, ecryptfs-utils, ed, efl, eigen, elf2flt, elfutils,
	enlightenment, enscript, erlang, espeak, ethtool, eudev,
	evemu, evtest, exfat, exfat-utils, exim, expat, expect,
	explorercanvas, faifa, fakeroot, fan-ctrl, fbdump,
	fb-test-app, fetchmail, ffmpeg, file, filemq, findutils, flac,
	flann, flickcurl, flite, fltk, fluxbox, fmc, fmlib,
	fontconfig, foomatic-filters, freerdp, freescale-imx,
	freetype, ftop, fxload, gamin, gcc, gd, gdb, gdk-pixbuf,
	genimage, genpart, genromfs, geoip, gettext, giblib, git,
	glibc, glib-networking, gmp, gmpc, gnu-efi, gnupg, gnupg2,
	gnuplot, gnutls, google-breakpad, gpm, gpsd, gptfdisk,
	gpu-viv-bin-mx6q, grantlee, grep, gsl, gst1-libav,
	gst1-plugins-{bad,base,good,ugly}, gst-ffmpeg,
	gst-fsl-plugins, gst-omx, gst-plugins-{bad,base,good,ugly},
	gst-plugin-x170, gstreamer, gstreamer1, gtest, gtk2-engines,
	gutenprint, gvfs, harfbuzz, haserl, haveged, hdparm, heimdal,
	heirloom-mailx, hiawatha, hostapd, hplip, htop, httping,
	hwdata, i2c-tools, icu, ifplugd, igh-ethercat, imagemagick,
	imlib2, imx-lib, imx-vpu, inadyn, inotify-tools, input-tools,
	intltool, iperf, iproute2, iprutils, ipsec-tools, ipset,
	iptables, iputils, iw, jamvm, jansson, jasper, jimtcl, joe,
	jpeg-turbo, jq, jquery-keyboard, jquery-mobile, jquery-ui,
	jquery-ui-themes, jquery-validation, jsmin, json-c,
	json-javascript, kbd, kexec, kexec-lite, keyutils, kismet,
	kmod, knock, ktap, lame, lbase64, lbreakout2, lcdproc, lcms2,
	lesstif, lftp, libaio, libao, libarchive, libargtable2,
	libass, libassuan, libatasmart, libbluray, libbsd, libcap,
	libcap-ng, libcdio, libcec, libcgicc, libcgroup, libcofi,
	libconfig, libconfuse, libcurl, libdaemon, libdnet, libdrm,
	libdvdnav, libecore, libedbus, libedit, libedje, libeet,
	libelementary, libelf, libenca, libethumb, libevas,
	libevas-generic-loaders, libevent, libexif, libeXosip2,
	libffi, libftdi, libfuse, libgail, libgcrypt, libgeotiff,
	libglade, libglib2, libgpgme, libgtk2, libhid, libidn,
	libinput, libiscsi, libjson, libksba, liblockfile,
	liblog4c-localtime, liblogging, libmad, libmatroska, libmbim,
	libmemcached, libmicrohttpd, libmpdclient, libmpeg2, libndp,
	libnfc, libnfs, libnftnl, libnl, libnspr, libnss, liboauth,
	libogg, liboping, libosip2, libpcap, libpciaccess, libpfm4,
	libplayer, libplist, libpng, libpthsem, libqmi, libqrencode,
	libraw, libreplaygain, libroxml, librsvg, librtlsdr,
	libsamplerate, libseccomp, libsecret, libshairplay, libsoc,
	libsoup, libsoxr, libssh2, libstrophe, libsvg, libsvg-cairo,
	libtasn1, libtheora, libtirpc, libtorrent, libubox, libuci,
	libungif, liburcu, libusb, libuv, libv4l, libva,
	libva-intel-driver, libvncserver, libvorbis, libvpx,
	libwebsockets, libxcb, libxml2, libxml-parser-perl, libxmlrpc,
	libxslt, lighttpd, linenoise, linknx, links, linphone,
	linux-firmware, linux-fusion, linux-headers, linux-pam,
	linux-zigbee, lite, live555, ljlinenoise, lmbench, lm-sensors,
	localedef, lockdev, lockfile-progs, log4cxx, lpty, lrandom,
	lrzsz, lshw, lsof, lsqlite3, ltp-testsuite, ltrace, ltris,
	lttng-babeltrace, lttng-libust, lttng-modules, lttng-tools,
	lua, luabitop, lua-coat, lua-coatpersistent, lua-csnappy,
	lua-ev, luajit, luajson, lualogging, lua-messagepack,
	lua-msgpack-native, luaposix, luarocks, luasec, luasocket,
	luasql-sqlite3, lua-testmore, lunit, lvm2, lxc, lz4, lzlib,
	lzma, m4, madplay, make, makedevs, Makefile.in,
	matchbox-common, matchbox-desktop, matchbox-fakekey,
	matchbox-keyboard, matchbox-lib, matchbox-panel,
	matchbox-startup-monitor, matchbox-wm, mcrypt, mdadm,
	media-ctl, mediastreamer, memcached, memstat, memtester,
	mesa3d, metacity, midori, mii-diag, minidlna, mmc-utils,
	modem-manager, mongoose, mongrel2, monit, mpc, mpd, mpdecimal,
	mpfr, mpg123, mplayer, mrouted, msmtp, mtd, mtools, mtr,
	musepack, musl, mutt, mxml, mysql, nano, nanocom, nbd, ncftp,
	ncurses, ndisc6, ne10, neard, neon, netatalk, netperf,
	netsnmp, nettle, net-tools, network-manager, newt, nfs-utils,
	ngrep, nmap, nodejs, nss-mdns, ntfs-3g, ntp, numactl, nut,
	nuttcp, ofono, ola, omap-u-boot-utils, omniorb,
	on2-8170-modules, opencore-amr, opencv, openntpd, openobex,
	openocd, openpowerlink, openssh, openssl, openswan,
	opentyrian, opentyrian-data, openvpn, opkg, oprofile, opus,
	opus-tools, orbit, orc, ortp, p11-kit, pango, parted,
	pciutils, pcmanfm, pcre, pcsc-lite, perf, perl, perl-gd,
	perl-gdgraph, perl-io-socket-ssl, perl-json-tiny,
	perl-module-build, perl-mojolicious, perl-net-ssleay,
	perl-path-tiny, perl-xml-libxml, perl-xml-parser, php,
	php-geoip, php-gnupg, php-imagick, php-memcached, php-ssh2,
	php-yaml, php-zmq, picocom, pifmrds, pinentry, pixman,
	pkg-autotools.mk, pkg-cmake.mk, pkg-download.mk,
	pkg-generic.mk, pkg-kconfig.mk, pkg-luarocks.mk, pkg-perl.mk,
	pkg-python.mk, pkg-utils.mk, poco, polarssl, polkit, poppler,
	popt, portaudio, portmap, postgresql, powerpc-utils, pppd,
	pptp-linux, prboom, procps-ng, proftpd, protobuf, protobuf-c,
	psmisc, ptpd2, pulseaudio, pv, pwgen, python, python3,
	python-dialog, python-ipy, python-keyring, python-mad,
	python-netifaces, python-numpy, python-protobuf, python-pyasn,
	python-pyparsing, python-pyro, python-pyusb, python-serial,
	python-setuptools, qdecoder, qemu, qextserialport, qjson, qt,
	qt5, qt5base, qt5connectivity, qt5declarative, qt5enginio,
	qt5graphicaleffects, qt5imageformats, qt5multimedia,
	qt5quick1, qt5quickcontrols, qt5script, qt5sensors,
	qt5serialport, qt5svg, qt5webkit, qt5webkit-examples,
	qt5websockets, qt5x11extras, qt5xmlpatterns, qtuio, quagga,
	quota, qwt, radvd, rapidjson, rdesktop, redis, rings, rpcbind,
	rpi-firmware, rpi-userland, rpm, rp-pppoe, rrdtool,
	rsh-redone, rsync, rsyslog, rtai, rtmpdump, rt-tests, rubix,
	ruby, samba, sam-ba, samba4, sane-backends, schifra,
	sconeserver, scons, screen, sdl, sdl_gfx, sdl_image,
	sdl_mixer, sdl_net, sdl_sound, sdl_ttf, sed, ser2net,
	setserial, sg3_utils, shared-mime-info, simicsfs, sispmctl,
	slang, slirp, smcroute, smstools3, snmppp,
	snowball-hdmiservice, socat, socketcand, sox, spawn-fcgi,
	speex, spice, spice-protocol, sqlcipher, sqlite, squashfs,
	squid, sredird, startup-notification, strace, stress,
	strongswan, stunnel, subversion, sudo, sunxi-boards,
	sunxi-cedarx, swig, sylpheed, synergy, sysklogd, sysstat,
	systemd, sysvinit, taglib, tar, tcl, tcllib, tcpdump,
	tcpreplay, texinfo, tftpd, thrift, thttpd, tiff, ti-utils,
	tn5250, torsmo, trace-cmd, transmission, tslib, tstools,
	tvheadend, twolame, tz, uboot-tools, uclibc, udisks, ulogd,
	upmpdcli, upx, urg, usb_modeswitch, usbmount, usbredir,
	usbutils, util-linux, valgrind, vde2, vim, vlc, vo-aacenc,
	vorbis-tools, vpnc, vsftpd, vtun, wayland, webkit, webp,
	webrtc-audio-processing, weston, wget, whois, wireless-regdb,
	wireshark, wpa_supplicant, wvstreams, x11r7, x11vnc,
	xapp_xcalc, xapp_xdm, xapp_xdpyinfo, xapp_xf86dga, xapp_xfs,
	xapp_xinit, xapp_xkbevd, xapp_xmh, xapp_xrandr, xapp_xsm,
	xbmc, xbmc-pvr-addons, xcb-proto, xcursor-transparent-theme,
	xdriver_xf86-input-mouse, xdriver_xf86-video-{ast,intel},
	xdriver_xf86-video-vmware, xenomai, xerces,
	xfont_font-adobe-{100,75}dpi,
	xfont_font-adobe-utopia-{100dpi,75dpi,type1},
	xfont_font-alias, xfont_font-arabic-misc,
	xfont_font-bh-100dpi, xfont_font-bh-75dpi,
	xfont_font-bh-lucidatypewriter-100dpi,
	xfont_font-bh-lucidatypewriter-75dpi, xfont_font-bh-ttf,
	xfont_font-bh-type1, xfont_font-bitstream-100dpi,
	xfont_font-bitstream-75dpi, xfont_font-bitstream-type1,
	xfont_font-cronyx-cyrillic, xfont_font-cursor-misc,
	xfont_font-daewoo-misc, xfont_font-dec-misc,
	xfont_font-ibm-type1, xfont_font-isas-misc,
	xfont_font-jis-misc, xfont_font-micro-misc,
	xfont_font-misc-cyrillic, xfont_font-misc-ethiopic,
	xfont_font-misc-meltho, xfont_font-misc-misc,
	xfont_font-mutt-misc, xfont_font-schumacher-misc,
	xfont_font-screen-cyrillic, xfont_font-sony-misc,
	xfont_font-sun-misc, xfont_font-winitzki-cyrillic,
	xfont_font-xfree86-type1, xfsprogs, xinetd, xkeyboard-config,
	xlib_libdmx, xlib_libFS, xlib_libpciaccess, xlib_libSM,
	xlib_libX11, xlib_libXaw, xlib_libXext, xlib_libXfont,
	xlib_libXi, xlib_libXinerama, xlib_libXrandr, xlib_libXrender,
	xlib_libXres, xlib_libXScrnSaver, xlib_libXt, xlib_libXv,
	xlib_libXvMC, xlib_libXxf86dga, xlib_libXxf86vm, xmlstarlet,
	xproto_xcmiscproto, xproto_xextproto, xscreensaver,
	xserver_xorg-server, xterm, xz, zeromq, zlib, zlog, zmqpp,
	znc, zsh, zxing

	New packages: adwaita-icon-theme, am335x-pru-package,
	bcache-tools, biosdevname, botan, canfestival, clamav,
	cppunit, dos2unix, dovecot, dovecot-pigeonhole, getent, glm,
	gst1-validate, hicolor-icon-theme, ipmitool, leafnode2,
	libdvbcsa, libgtk3, libphidget, libshout, libunistring,
	libupnpp, mesa3d-demos, modplugtools, mono, monolite, mp4v2,
	netcat-openbsd, nginx, odhcploc, openvmtools,
	phidgetwebservice, pps-tools, pure-ftpd,
	python-configshell-fb, python-rtslib-fb, python-urwid, qlibc,
	qt5location, shairport-sync, spidev_test, targetcli-fb,
	tinyalsa, trinity, x264, yaml-cpp, ympd

	Removed packages: libelf

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

	#261: New package: wxWidgets
	#325: New package: ratpoison
	#405: New package: OpenVZ tools
	#1309: New package: rdiff-backup
	#3427: New package: nginx
	#3655: New package: libav
	#3991: New Package: open-vm-tools (Vmware Tools)
	#6878: dmraid: disabled on ARC
	#6950: Full unicode support in ncurses
	#7010: jamvm builds and runs fine under mips (be)
	#7088: elfutils on Blackfin doesn't build
	#7142: ecryptfs needs getent to run
	#7280: CMake toolchain file uses the FORCE attribute on CMAKE_CXX_FLAGS
	#7346: [2014.08rc3] vim-8ae50e3ef8bf.tar.gz can not be downloaded, ...
	#7352: [2014.08-rc3] diffutils-3.3 failed on building
	#7358: rpi-userland: linking with bcm_host doesn't give vc_dispmanx_*
	#7364: monit builds a static application, even though BR2_PREFER_...
	#7370: ngrep - requires --with-pcap-includes fully defined to find...
	#7442: rootfs remount does not work as expected with sysvinit
	#7448: Having export MACHINE="something" breaks glibc build on IMX6...
	#7568: musl buildroot-toolchain does not put libgcc_s.so.1 into place
	#7574: quota-4.01 fails to build statically

2014.08, Released September 1st, 2014

	Minor manual fixes/additions.

	Updated/fixed packages: btrfs-progs, cmake, cppcms, exim,
	lftp, libdaemon, libev, libgpgme, libiqrf, libnl, libplist,
	libroxml, libwebsockets, mesa3d, mpd, mtdev2tuio, musepack,
	perl-gd, php-geoip, php-gnupg, php-imagick, php-memcached,
	php-ssh2, php-yaml, php-zmq, polarssl, ruby, systemd, taglib,
	uboot-tools, upmpdcli, webkit, xapp_xfs, xapp_luit,
	xscreensaver, yajl

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

	#7346: vim-8ae50e3ef8bf.tar.gz can not be downloaded, 404 not found

2014.08-rc3, Released August 26th, 2014

	Minor fixes.

	User manual update / restructuring.

	Updated/fixed packages: cairo, ecryptfs-utils, gettext,
	gstreamer, gstreamer1, gutenprint, icu, imagemagick, jack2,
	lbreakout2, libevas-generic-loaders, libftdi, libinput,
	libtorrent, ltris, msgpack, ntp, php, procps-ng, pulseaudio,
	thrift, tvheadend, usb_modeswitch, xmlstarlet,

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

	#7136: ecryptfs-utils needs gettext to run when glibc/eglibc...
	#7322: libgomp dependency issue with imagemagick
	#7328: Git dl of versions in x/y broken

2014.08-rc2, Released August 18th, 2014

	Fixes all over the tree.

	User manual restructured / reworked.

	Toolchain: Fix for C++ exceptions / pthread_exit() on
	uClibc/glibc, C++-11 features with uClibc.

	Updated/fixed packages: bandwidthd, bluez5_utils, empty,
	espeak, fbv, ffmpeg, gd, gnupg2, gst1-plugin-good, iftop,
	infozip, libcuefile, libeml, libnftl, localedef, ltrace,
	matchbox, mpd, network-manager, nftables, ngrep, nut, openssl,
	oprofile, perl, perl-net-ssleay, postgresql, pppd, procps-ng,
	qt, subversion, synergy, systemd, tar, tftpd, webkit,
	xapp_rstart, xbmc, xbmc-pvr-addons

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

	#7124: Use BR toolchain externally results a non-bootable...
	#7208: Glibc C++ aplications crash if they use exceptions
	#7250: Cannot build with -std=c++11
	#7262: Generating locale en_US.UTF-8 fails on 64bit fedora..
	#7286: systemd 215 doesn't build

2014.08-rc1, Released August 8th, 2014

	Fixes all over the tree and new features.

	Architecture: Powerpc64 BE/LE added, AVR32 deprecated.
	Improved altivec / SPE /atomic instructions
	handling. Additional PowerPC CPU variants added.

	Defconfigs: Atmel SAMA5D3, Congatec QMX6, Lego ev3, TS-5x00,
	qemu-system-xtensa, qemu-aarch64-virt added. A number of
	tweaks to existing ones. lpc32xx defconfigs removed.

	Toolchain: Microblaze support for internal musl toolchain.
	Default to GCC 4.8 for internal toolchain, remove deprecated
	4.3 and 4.6 versions.
	External CodeSourcery / Linaro toolchain updates, option to
	copy gconv libraries for external toolchains.

	Infrastructure: graph-depends: misc fixes, transitive
	dependencies are not drawn by default. Download handling is
	now done using helper scripts. Integrity of downloads can now
	be verified using sha* hashes. Subversion download now uses
	peg revisions for robustness.
	Legal-info: License info of local or overridden packages are
	saved as well. Toolchain packages are also taken into account.
	autotools: Static linking with libtool / v1.5 improvements.
	Gettextize support, similar to autoreconf.
	kconfig package infrastructure added.

	Misc: Version selection for busybox dropped.

	Updated/fixed packages: aespipe, aiccu, alsa-lib, alsa-utils,
	alsamixergui, argus, armadillo, at, atftp, atk, avahi,
	avrdude, axel, b43-firmware, b43-fwcutter, bandwidthd, bc,
	bcusdk, beecrypt, bind, binutils, blackbox, bluez5_utils,
	bmon, boa, bonnie, bootutils, bsdiff, btrfs-progs, bustle,
	busybox, bwm-ng, bzip2, ca-certificates, cairo, can-utils,
	ccache, ccrypt, chrony, cifs-utils, classpath, cloog, cmake,
	collectd, connman, coreutils, cosmo, cppcms, cramfs, crda,
	cryptodev-linux, cryptodev, ctorrent, cvs, dbus-cpp,
	dbus-glib, dbus-python, dbus, dcron, dejavu, devmem2,
	dfu-util, dhcp, dhcpcd, dhcpdump, dhrystone, dialog, dillo,
	distcc, dmidecode, dmraid, dnsmasq, doom-wad, dropbear,
	dropwatch, dsp-tools, dtv-scan-tables, dvb-apps, e2fsprogs,
	e2tools, eeprog, eigen, elf2flt, elftosb, enlightenment,
	enscript, espeak, ethtool, eudev, evemu, exim, expedite,
	explorercanvas, ezxml, faifa, fan-ctrl, fconfig, feh,
	fetchmail, ffmpeg, fftw, file, fio, fis, flann, flashrom,
	flex, flot, fltk, fontconfig, freerdp, freescale-imx,
	freetype, ftop, gcc, gd, gdb, genimage, genromfs, gettext,
	giblib, glib-networking, glibc, gmp, gnupg, gnutls, gpm, gpsd,
	gptfdisk, gpu-viv-bin-imx6q, gqview, grantlee, gst-ffmpeg,
	gst-fsl-plugins, gst1-libav, gst1-plugins-bad,
	gst1-plugins-ugly, gtk2-engines, gtk2-theme-hicolor, gtkperf,
	gvfs, haserl, hdparm, hostapd, httping, i2c-tools, icu,
	imagemagick, imx-lib, inadyn, inotify-tools, input-tools,
	ipkg, iproute2, iputils, irda-utils, iw, jack2, jpeg, jquery,
	jquery-keyboard, jquery-mobile, jquery-validation, jsmin, kbd,
	kexec, kmod, knock, latencytop, lcdapi, leafpad, lesstif,
	lftp, libaio, libarchive, libargtable2, libart, libatasmart,
	libatomic_ops, libbsd, libcap-ng, libcec, libcgicc, libcgroup,
	libconfuse, libcurl, libdrm, libdvdnav, libdvdread,
	libeXosip2, libedit, liberation, libesmtp, libev, libevas,
	libevdev, libevent, libfcgi, libffi, libfreefare, libfslcodec,
	libfslparser, libfslvpuwrap, libgail, libgcrypt, libglade,
	libglib2, libgpgme, libgtk2, libhid, libical, libiconv,
	libiqrf, libjpeg, liblog4c-localtime, libmbus, libmicrohttpd,
	libmms, libndp, libnftnl, libnl, libnspr, libnss, liboauth,
	libpcap, libpng, libpthsem, libqmi, libraw, libraw1394,
	librsvg, libsoc, libsoup, libsvgtiny, libsysfs, libtasn1,
	libtirpc, libtorrent, libusb, libv4l, libwebsockets, libxcb,
	libxml2, libyaml, links, linux-firmware, linux-fusion,
	linux-headers, linux-pam, lite, live555, lm-sensors,
	lockfile-progs, lpc3250loader, lshw, lsof, lsuio, ltrace,
	ltris, lua-messagepack, luainterpreter, luajit, luaposix,
	luarocks, lvm2, lxc, lz4, lzo, make, makedevs, mdadm,
	mediastreamer, mesa3d, metacity, minidlna, mkpasswd,
	modem-manager, mongoose, mpd, mpg123, msgpack, mtd, mtools,
	mtr, musepack, musl, mysql, nano, nasm, nbd, ncurses, ndisc6,
	netatalk, netplug, network-manager, nftables, ngircd, nodejs,
	nss-mdns, ntp, nut, olsr, open2300, opencv, openntpd, openocd,
	openpgm, openpowerlink, openssh, openssl, openswan, openvpn,
	opkg, oprofile, opus-tools, orc, p910nd, pango, parted,
	pax-utils, pcmanfm, perf, perl, perl-module-build, php,
	pixman, pkgconf, poco, polarssl, popt, portmap, postgresql,
	prboom, protobuf-c, proxychains-ng, psmisc, psplash, ptpd2,
	python,
	python-{bottle,dpkt,id3,mad,msgpack,nfc,pygame,pyzmq,simplejson},
	python3, qhull, qt, qt5base, qt5connectivity, qt5declarative,
	qt5graphicaleffects, qt5multimedia, qt5quickcontrols,
	qt5sensors, qt5svg, qt5webkit, quagga, quota, radvd, rdesktop,
	read-edid, rpcbind, rpi-firmware, rpi-userland, rpm,
	rsh-redone, rsync, rt-tests, rtmpdump, rtorrent, rubix, ruby,
	samba, samba4, sane-backends, sawman, sconeserver, setserial,
	sg3_utils, shared-mime-info, smartmontools, smcroute, snappy,
	socketcand, spawn-fcgi, sqlite, squashfs, squid, sredird,
	startup-notification, statserial, strongswan, stunnel,
	sunxi-mali, supervisor, synergy, sysklogd, sysprof, sysstat,
	systemd, tcpdump, tcpreplay, texinfo, thrift, thttpd, ti-gfx,
	ti-utils, tinyhttpd, torsmo, trace-cmd, transmission, tslib,
	tstools, tvheadend, tzdata, uboot-tools, uclibc, udev,
	udpcast, usb_modeswitch, usbmount, util-linux, valgrind, vim,
	vlc, w_scan, wayland, webrtc-audio-processing, weston, wget,
	wireless-regdb, wireless_tools, wireshark, wpa_supplicant,
	xapp_{twm,xconsole,xcursorgen,xedit,xfs,xinit,xrandr},
	xdriver_xf86-video-intel, xlib_lib{FS,ICE,Xext,Xfont,Xft,Xi},
	xproto_fontsproto, xproto_inputproto, xserver_xorg-server,
	x11vnc, xbmc, xbmc-addon-xvdr, xbmc-pvr-addons, xterm, xvkbd,
	xz

	New packages: flickcurl, fmc, fmlib, geoip, gnupg2,
	google-breakpad, imx-vpu, isl, kexec-lite, libglew, libglu,
	libinput, libksba, libmemcached, libmpdclient, librtlsdr,
	libuv, libva, libva-intel-driver, linux-zigbee, memcached,
	mpdecimal, ncmpc, opencore-amr, patchelf, perl-datetime-tiny,
	perl-gd, perl-gdgraph, perl-gdtextutil, perl-io-socket-ssl,
	perl-json-tiny, perl-mojolicious, perl-net-ssleay,
	perl-path-tiny, perl-try-tiny, perl-xml-libxml,
	perl-xml-namespacesupport, perl-xml-sax, perl-xml-sax-base,
	php-geoip, php-memcached, pifmrds, pinentry, powerpc-utils,
	procps-ng, pwgen, python-cffi, python-daemon, python-flup,
	python-ipython, python-numpy, qt5enginio, qt5webkit-examples,
	qt5websockets, simicsfs, sispmctl, sox, sshpass, tclap,
	twolame, upmpdcli, whois, xlib_libxshmfence, xproto_dri3proto

	Removed packages: procps

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

	#5750: Doing a Buildroot build from /usr doesn't work
	#5900: config flags to the Xenomai build system
	#6230: Cannot compile gcc without threads (uClibc-based)
	#6626: procps Unknown HZ value! (XX) Assume 100
	#7118: Package "thrift" requires atomic operations
	#7154: Local uClibc config file gets overwritten using ...
	#7160: host-xz not built
	#7166: hostapd: segfault when using RT5370
	#7172: Name collision of rpath token expansion and internal..
	#7178: NTPd package cannot sync time without a proper ntp.conf
	#7184: supervisord depends on libxml2 implicitly
	#7196: Unable to build on UBUNTU13.10
	#7268: python 2.7 compilation issue on a Debian/Ubuntu ...

2014.05, Released May 31st, 2014

	Minor fixes.

	Minor manual fixes. U-Boot now defaults to spl/u-boot-spl.bin
	for the spl file.

	Updated/fixed packages: exim, glibc, gnutls, libfribidi,
	qt5base, qt5webkit, sysklogd, thrift, u-boot

2014.05-rc3, Released May 28th, 2014

	Minor fixes.

	Updated/fixed packages: acl, attr, connman, dosfstools,
	dropbear, dvb-apps, exim, flite, gdb, httping, hwdata,
	lesstif, libnss, libv4l, lttng-babeltrace, midori, monit,
	mplayer, php, python2, rdesktop, rpi-userland, ruby, samba,
	samba4, slang, xbmc

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

	#7100: license info for package 'acl' missing
	#7106: license info for package 'attr' missing
	#7112: license info for package 'hwdata'

2014.05-rc2, Released May 21st, 2014

	Fixes all over the tree.

	Stripping using sstrip has been deprecated.

	BR2_EXTERNAL can now also be used to implement custom
	filesystem types.

	The newly added BR2_GRAPH_DEPTH variable to limit the depth of
	the generated dependency graph has been renamed to
	BR2_GRAPH_DEPS_OPTS, so additional options can be supported in
	the future.

	The virtual package infrastructure will now error out early
	if multiple packages providing the same virtual package has
	been enabled (E.G. opengl). This change requires that the
	packages explicitly declare what virtual package(s) they
	provide.

	Updated/fixed packages: acpid, armadillo, avahi, bellagio,
	btrfs-progs, cairo, clapack, directfb, duma, ecryptfs-utils,
	elfutils, eudev, fbgrab, fio, flann, fluxbox, gdb, gpm,
	gpu-viv-bin-mx6q, gst1-plugins-good, gst-plugins-good,
	imagemagick, iprutils, ipsec-tools, jack2, libdvdnav,
	libdvdread, libnss, libunwind, linux-headers, lsof, lua,
	luajit, matchbox-keyboard, mesa3d, mpd, mplayer, mtr, mysql,
	netsnmp, nodejs, openpowerlink, openvpn, pciutils,
	php-imagick, postgresql, pulseaudio, qt5quick1, rpi-userland,
	rsyslog, samba, samba4, sane-backends, sunxi-mali, systemd,
	ti-gfx, tstools, udev, webkit, wpa_supplicant, xbmc,
	xlib_libXpm, xserver_xorg-server, zyre

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

	#5396: Boot hangs when starting samba if BR2_ENABLE_LOCALE...
	#7016: Git issues in resulting buildroot tar
	#7094: pciutils doesn't build on Blackfin

2014.05-rc1, Released May 13th, 2014

	Fixes all over the tree and new features.

	Architectures: Support for MIPS o32 ABI on MIPS-64 targets has
	been removed. Building o32 ELF files for MIPS64 is an exotic
	configuration that nobody should be using. If o32 is required,
	then is better if it's built for MIPS 32-bit cores so only
	32-bit instructions will be used leading to a more efficient
	o32 usage.
	Support for the ARM A12 variant and Intel corei7.

	Configs: Minnowboard and Altera SoCkit added, QEMU updates.

	Bootloaders: Grub2 and gummiboot support, syslinux support
	extended.

	Toolchains: GCC 4.9. Glibc 2.19. Support for the musl C
	library for internal and external toolchains. 4.8-R3 support
	for ARC, Internal toolchain support for Aarch64 and
	Microblaze. Environment variable to control debug output of
	toolchain wrapper renamed to BR2_DEBUG_WRAPPER to match the
	other variables. Toolchain tuple vendor name can now be
	customized. Updated external Linaro ARM/Aarch64
	toolchains. Added external Linaro ARMEB toolchain.
	A GDB gdbinit file is now generated for external toolchains to
	automatically set the correct sysroot.

	Kconfig handling for minimum kernel headers version required
	for packages. Now packages needing specific kernel header
	features can specify these requirements in Kconfig.

	Infrastructure: Support for (but disabled as it leads to
	unreproducible builds) toplevel parallel builds. See the
	comment at the top of Makefile for details about how to enable
	it and what the problems are if you want to test it.
	Python package infrastructure extended to support Python 3.x
	Perl and virtual package infrastructure support added.
	PRE_*_HOOKS support for all build steps.

	Updated/fixed packages: acpid, agentpp, aiccu, apr, avahi,
	barebox, bash, beecrypt, bellagio, binutils, boost,
	boot-wrapper-aarch64, bustle, busybox, ca-certificates, cairo,
	ccache, ccid, cgilua, chrony, cifs-utils, civetweb, cmake,
	collectd, connman, coreutils, coxpcall, cppcms, cppzmq, crda,
	cryptodev, cryptsetup, cups, czmq, dbus, dhcpdump, directfb,
	dmalloc, dmraid, dnsmasq, dosfstools, dsp-tools, dtc,
	dvb-apps, ebtables, ecryptfs-utils, eigen, erlang, ethtool,
	evemu, evtest, f2fs-tools, fdk-aac, feh, ffmpeg, file, filemq,
	flac, flot, fmtools, fping, freetype, fswebcam, gcc, gd, gdb,
	gettext, giblib, git, glibc, glibmm, glib-networking, gmp,
	gnutls, gpm, gpsd, gpu-viv-bin-mx6q, grep, gst1-libav,
	gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good,
	gst1-plugins-ugly, gst-ffmpeg, gst-fsl-plugins, gst-omx,
	gst-plugins-good, gstreamer1, gvfs, harfbuzz, haveged,
	hostapd, htop, httping, ifplugd, iftop, igmpproxy,
	imagemagick, imlib2, imx-lib, infozip, intltool, iproute2,
	ipsec-tools, ipset, jansson, jpeg, jpeg-turbo, jquery,
	jquery-keyboard, jquery-ui, jquery-ui-themes, json-glib,
	json-javascript, kexec, kmod, lame, lbase64, lbreakout2,
	lcdproc, lftp, libao, libatasmart, libatomic_ops, libcap,
	libcdio, libcec, libcgicc, libcgroup, libcurl, libdrm,
	libdvdnav, libdvdread, libegl, libeio, libenca, libesmtp,
	libevas, libevdev, libfribidi, libfslcodec, libfslparser,
	libfslvpuwrap, libgail, libgles, libglib2, libgtk2, libhid,
	libjpeg, libmbim, libmicrohttpd, libmodplug, libnftnl,
	libnspr, libogg, libopenmax, libopenvg, libpcap, libplayer,
	libpng, libpthread-stubs, librsvg, libsigsegv, libsocketcan,
	libsoup, libtasn1, libtool, libtpl, libunwind, liburcu,
	libusb, libwebsockets, libxcb, libxml2, libxmlpp, libyaml,
	lighttpd, linphone, linux-firmware, linux-headers, ljsyscall,
	lmbench, lsof, ltp-testsuite, ltris, lttng-babeltrace,
	lttng-libust, lttng-modules, lttng-tools, lua, lua-cjson,
	luacrypto, lua-ev, luaexpat, luaexpatutils, luafilesystem,
	luainterpreter, luajit, lua-msgpack-native, luaposix,
	luarocks, luasec, luasocket, luasql-sqlite3, lvm2, macchanger,
	memstat, mesa3d, metacity, minidlna, mmc-utils,
	mobile-broadband-provider-info, modem-manager, mongrel2,
	monit, mpd, mplayer, msmtp, mtd, mtools, mutt, mysql, nasm,
	ncurses, ne10, netatalk, netsnmp, nettle, network-manager,
	newt, nfs-utils, nmap, nodejs, ntfs-3g, ntp, nut, ofono, ola,
	olsr, omniorb, opencv, opengl, openpgm, openssh, openssl,
	openswan, openvpn, orbit, orc, p11-kit, pango, parted,
	pciutils, pcre, pcsc-lite, perf, perl, perl-xml-parser, php,
	picocom, pixman, pkgconf, poppler, popt, portmap, powervr,
	pppd, pptp-linux, proftpd, protobuf, protobuf-c, ptpd2,
	pulseaudio, python, python3, python-bottle, python-m2crypto,
	python-netifaces, python-pyasn, python-pycrypto,
	python-pygame, python-pysnmp, python-pysnmp-apps,
	python-pysnmp-mibs, python-serial, python-setuptools,
	qextserialport, qt, qt5, qt5base, qt5connectivity,
	qt5declarative, qt5graphicaleffects, qt5imageformats,
	qt5multimedia, qt5quick1, qt5quickcontrols, qt5script,
	qt5sensors, qt5serialport, qt5svg, qt5webkit, qt5x11extras,
	qt5xmlpatterns, qtuio, qwt, radvd, readline, rings,
	rpi-firmware, rpi-userland, rsh-redone, rsync, rsyslog, rtai,
	rtmpdump, rt-tests, ruby, samba, sconeserver, scons, sdl,
	sdl_image, sdl_mixer, sg3_utils, slang, smstools3, snmppp,
	socat, speex, sqlcipher, sqlite, squashfs, squid, strongswan,
	stunnel, sunxi-boards, sunxi-mali, sunxi-tools, sylpheed,
	syslinux, sysstat, systemd, taglib, tcl, tcllib, tcpreplay,
	tidsp-binaries, ti-gfx, tmux, tvheadend, tzdata, uboot,
	uboot-tools, uclibc, udev, udisks, ulogd, usb_modeswitch,
	usb_modeswitch_data, usbmount, util-linux, valgrind, vlc,
	webkit, weston, wget, wireshark, wpa_supplicant, wsapi,
	w_scan, xapp_appres, xapp_bdftopcf, xapp_beforelight,
	xapp_bitmap, xapp_editres, xapp_fslsfonts, xapp_fstobdf,
	xapp_iceauth, xapp_ico, xapp_mkfontscale, xapp_rgb,
	xapp_rstart, xapp_sessreg, xapp_showfont, xapp_twm,
	xapp_viewres, xapp_xauth, xapp_xbacklight, xapp_xcalc,
	xapp_xclock, xapp_xditview, xapp_xdpyinfo, xapp_xdriinfo,
	xapp_xev, xapp_xfd, xapp_xfontsel, xapp_xfs, xapp_xfsinfo,
	xapp_xgc, xapp_xhost, xapp_xinit, xapp_xkbutils, xapp_xkill,
	xapp_xload, xapp_xlsclients, xapp_xlsfonts, xapp_xmag,
	xapp_xman, xapp_xmessage, xapp_xmodmap, xapp_xprop,
	xapp_xrandr, xapp_xrdb, xapp_xrefresh, xapp_xset,
	xapp_xsetroot, xapp_xsm, xapp_xstdcmap, xapp_xvidtune,
	xapp_xvinfo, xapp_xwd, xapp_xwininfo, xcb-util-wm,
	xdriver_xf86-input-evdev, xdriver_xf86-input-joystick,
	xdriver_xf86-input-keyboard, xdriver_xf86-input-mouse,
	xdriver_xf86-input-synaptics, xdriver_xf86-input-vmmouse,
	xdriver_xf86-video-ark, xdriver_xf86-video-ast,
	xdriver_xf86-video-ati, xdriver_xf86-video-cirrus,
	xdriver_xf86-video-dummy, xdriver_xf86-video-fbdev,
	xdriver_xf86-video-geode, xdriver_xf86-video-glide,
	xdriver_xf86-video-glint, xdriver_xf86-video-i128,
	xdriver_xf86-video-intel, xdriver_xf86-video-mach64,
	xdriver_xf86-video-mga, xdriver_xf86-video-neomagic,
	xdriver_xf86-video-newport, xdriver_xf86-video-nv,
	xdriver_xf86-video-openchrome, xdriver_xf86-video-r128,
	xdriver_xf86-video-savage, xdriver_xf86-video-siliconmotion,
	xdriver_xf86-video-sis, xdriver_xf86-video-tdfx,
	xdriver_xf86-video-tga, xdriver_xf86-video-trident,
	xdriver_xf86-video-vesa, xdriver_xf86-video-vmware,
	xdriver_xf86-video-voodoo, xenomai, xerces, xl2tp, xlib_libFS,
	xlib_xtrans, xproto_xproto, xserver_xorg-server,
	xutil_util-macros, zeromq, zic, zmqpp, zyre

	New packages: armadillo, btrfs-progs, clapack, cosmo, dado,
	dbus-triggerd, dtv-scan-tables, e2tools, eudev, exim, expect,
	fetchmail, flann, flite, gnu-efi, grub2, gummiboot, heimdal,
	iprutils, iptraf-ng, jack2, jquery-mobile, libee, libestr,
	libgc, libgl, liblogging, libndp, libsoxr, libstrophe,
	libubox, libuci, libxmlrpc, ljlinenoise, lpeg, lpty, lrandom,
	lsqlite3, lua-coat, lua-coatpersistent, lua-csnappy, luajson,
	lualogging, lua-messagepack, lua-testmore, lunit, lzip, lzlib,
	musl, nftables, opentyrian, opentyrian-data,
	perl-module-build, php-gnupg, php-imagick, php-ssh2, php-yaml,
	php-zmq, postgresql, python-libconfig, python-pypcap,
	python-pyrex, qdecoder, qhull, samba4, smack, tz, tzdump, ucl,
	upx, vo-aacenc, xbmc, xbmc-addon-xvdr, xbmc-pvr-addons,
	yaffs2utils, zlog, znc

	Removed packages: crosstool-ng, python-distutilscross, vala

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

	#6842: Checking external toolchain for eabihf
	#6956: Packaging libsoxr
	#6986: Make legal-info fails on uboot versions before 2014.01
	#6992: Incorrect installation rights on external kernel module..

2014.02, Released February 27th, 2014

	Minor fixes.

	Updated/fixed packages: cegui06, cppdb, e2fsprogs, gcc, gdb,
	gst1-plugins-bad, gstreamer, gstreamer1, haserl, imagemagick,
	libpng, libxml2, lua, luajit, luarock, ncftp, openswan,
	pcsc-lite, qt5connectivity, ramsmp, strongswan, vlc

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

	#6938: mkuser script generates wrong password for new user in..

2014.02-rc3, Released February 25th, 2014

	Minor fixes.

	Updated/fixed packages: aiccu, ala-lib, alsa-utils, binutils,
	cairo, coreutils, dhcpcd, distcc, efl, evas, iputils, gdb,
	gpsd, gst-fsl-plugins, icu, libcec, libcgi, libplayer,
	libsecret, libsepol, libsigsegv, libtool, libv4l,
	linux-headers, matchbox-lib, mpg123, ncftp, opencv, pcmanfm,
	pixman, pv, qt, rt-tests, sawman, sconeserver, sdl, thrift,
	tvheadend, util-linux, webkit, xscreensaver

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

	#4706: Removing .stamp_target_installed does not trigger...
	#5030: busybox built fails if we use an override src dir...
	#5420: Dbus and /var/run management
	#5768: Not able to build ALSA-Lib for static build
	#5774: Not able to build ALSA-Utils for static build
	#6542: external python modules fail to compile to pyc if...
	#6764: Support for kernel signed modules
	#6794: Busybox compiled from buildroot hangs on pass from...

2014.02-rc2, Released February 20th, 2014

	Fixes all over the tree. Static linking / nommu fixes and
	annotations for several packages.

	Updated/fixed packages: boost, busybox, collectd, coreutils,
	dropbear, elfutils, feh, gcc, gst1-libav, imagemagick, iozone,
	jimtcl, kexec, libvncserver, lvm2, lxc, mplayer, netsnmp, nut,
	opencv, python, python3, qtuio, systemd, thrift, transmission,
	uclibc, vlc, webkit

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

	#5450: AT91SAM9260 Bootstrap compilation problem
	#5582: libiconv 1.14 failed to build
	#5624: When building directfb, BR2_TARGET_LDFLAGS not used by..
	#5852: [2012.11] usb_modeswitch should depends of "BR2_PACK..
	#6218: binutils-2.23.2/gas fails with undefined reference to..
	#6236: binutils-2.23.2/bfd fails with undefined reference to..
	#6470: If the build directory is a child of /usr, the build..
	#6776: systemd error: static declaration of 'execvpe' follows..
	#6818: toolchainfile.cmake has absolut path references

2014.02-rc1, Released February 11th, 2014

	Fixes all over the tree and new features.

	Support for external packages/defconfigs (BR2_EXTERNAL). See
	user manual for details.

	Cleanup of environment variable names for consistency. The
	download directory location override (BUILDROOT_DL_DIR) is now
	called BR2_DL_DIR. Likewise the name of the current .config is
	renamed from BUILDROOT_CONFIG to BR2_CONFIG. Please update
	your post build scripts if you use this! BUILD_DIR is now also
	exported to the post build/image scripts.

	Toolchain: GCC 4.8 fix for ARM stack corruption, reverted
	uClibc pread/pwrite backport as they cause issues on certain
	architectures, new Linaro and Sourcery Codebench toolchains.
	x86: Support for AMD Jaguar cores, SSE4.x, SH: SH2/SH3/SH3EB
	variants removed, Microblaze: Internal toolchain support

	Legal infrastructure: Info is now split between host and
	target packages, large number of license annotations.

	Lua: selection between lua 5.1 / 5.2, luarocks support

	Python: package infrastructure, many new packages.

	Defconfigs: Armadeus APF51 + Zedboard added, apf27, apf28,
	beaglebone, microblaze, pandaboard, qemu, raspberry pi
	updated.

	Updated/fixed packages: aiccu, alsa-lib, alsa-utils,
	am33x-cm3, aumix, autoconf, automake, barebox, bellagio,
	berkeleydb, binutils, bison, blackbox, bluez_utils, boost,
	bustle, busybox, cairo, can-utils, ccache, ccid, cgilua,
	cifs-utils, civetweb, cmake, collectd, connman, copas,
	coreutils, coxpcall, cppzmq, cramfs, crda, cryptodev-linux,
	cryptsetup, cups, czmq, dhcpcd, dhcpdump, dhrystone, dialog,
	dmraid, dnsmasq, dosfstools, dropbear, dropwatch, dtc, duma,
	dvb-apps, e2fsprogs, eglibc, eigen, elf2flt, erlang, ethtool,
	f2fs-tools, ffmpeg, file, filemq, fio, flashrom, flex,
	fluxbox, fontconfig freerdp, freetype, gadgetfs-test, gawk,
	gcc, gdb, gdbm, gettext, git, glibc, gnupg, gnutls, gob2,
	gpsd, grep, grub, gst-ffmpeg, gst-plugins-good,
	gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good,
	gst1-plugins-ugly, gstreamer, gstreamer1, gtest, icu, iftop,
	imagemagick, inadyn, infozip, iozone, iproute2, iptables, iw,
	jpeg, jpeg-turbo, jq, kexec, kmod, knock, lbase64, lcdapi,
	lftp, libcdaudio, libcgi, libcgicc, libcuefile, libcurl,
	libdmtx, libdrm, libdvdnav, libdvdread, libegl, libevent,
	libexif, libfcgi, libfreefare, libgles, libglib2, libllcp,
	libmicrohttpd, libmpd, libnfc, libnl, libnss, libopenmax,
	libopenvg, libpcap, libpfm4, libplayer, libpng, libqmi,
	libreplaygain, libroxml, libsamplerate, libsexy, libsigsegv,
	libsndfile, libsoc, libtasn1, libtorrent, libtpl, libupnp,
	libusb, libusb-compat, libvorbis, libxcb, libxml2, libxmlpp,
	libyaml, lighttpd, linknx, linux-firmware, linux-pam, live555,
	lm_sensors, lmbench, lockdev, logrotate, lrzsz, ltrace, lua,
	lua-ev, lua-msgpack-native, luabitop, luaexpat, luaexpatutils,
	luafilesystem, luajit, luaposix, luasec, luasocket,
	luasql-sqlite3, m4, matchbox, mdadm, minicom, mongrel2, mpc,
	mpd, mpg123, mplayer, mtd, mysql, lvm2, mxml, ncurses, ne10,
	neard, neardal, netsnmp, netstat-nat, network-manager, nodejs,
	numactl, ofone, ola, olsr, omniorb, open2300, opencv,
	openpowerlink, openssh, openssl, openvpn, oprofile, opus,
	opus-tools, orbit, p11-kit, parted, pcre, pcsc-lite, perl,
	php, poco, poppler, powervr, protobuf-c, psplash, python,
	python-bottle,
	python-{crc16,distutilscross,dpkt,id3,ipy,m2crypto,mad,meld},
	python-{netifaces,nfc,protobuf,pygame,pyparsing,pyro,pyzmq},
	python-{serial,setuptools}, qt, qt5base, qt5connectivity,
	qt5declarative, qt5graphicaleffects, qt5jsbackend,
	qt5multimedia, qt5quick1, qt5quickcontrols, qt5script,
	qt5webkit, radvd, redis, rings, rng-tools, rpcbind,
	rpi-firmware, rpi-userland, rt-tests, sam-ba, samba, sawman,
	sconeserver, scons, sdl, sg3_utils, snappy, snmppp,
	socketcand, spice, spice-protocol, sqlcipher, sqlite, squid,
	sshfs, strace, subversion, sunxi-mali, supervisor, sysklogd,
	sysprof, sysstat, systemd, sysvinit, taglib, tar, tcpdump,
	ti-gfx, ti-utils, tinymembench, tn5250, trace-cmd,
	transmission, tvheadend, tzdata, zxing, uboot, uboot-tools,
	uclibc, udev, udpcast, ulogd, urg, usb_modeswitch_data,
	util-linux, vala, valgrind, vorbis-tools, wavpack, wayland,
	weston, wget, wireless-regdb, wireshark, wpa_supplicant,
	wsapi, xavante, xapp_xdpyinfo, xapp_xrandr, xcb-proto,
	xdriver_xf86-video-intel, xenomai, xkeyboard-config, xl2tp,
	xlib_lib{FS,SM,X11},
	xlib_libX{au,aw,composite,cursor,damage,ext,fixes,font,i},
	xlib_libX{inerama,mu,pm,randr,render,res,t,tst,v,xf86dga},
	xlib_libXxf86vm, xlib_libdmx, xlib_libfontenc,
	xlib_libpciaccess, xlib_xtrans, xproto_dri2proto,
	xproto_{glproto,inputproto,presentproto,randrproto,videoproto},
	xproto_xextproto, xproto_xproto, xutil_util-macros,
	xutil_makedepend, zic, zmqpp, zxing, zsh, zyre

	New packages: apitrace, avrdude, c-ares, ca-certificates,
	cwiid, dbus-cpp, evemu, fping, fswebcam, gpm, gst1-libav,
	haveged, intel-microcode, iucode-tools, jasper, joe, ktap,
	lbreakout2, libass, libbluray, libcdio, libenca, libevdev,
	libmbim, libmodplug, libnfs, libnftnl, libplist, libshairplay,
	libsocketcan, ljsyscall, log4cplus, ltris, luainterpreter,
	luarocks, minidlna, mmc-utils, modemmanager, mtr, net-tools,
	python-configobj, python-dialog, python-json-schema-validator,
	python-keyring, python-msgpack, python-posix-ipc,
	python-pyasn, python-pycrypto, python-pysnmp,
	python-pysnmp-apps, python-pysnmp-mibs, python-pyusb,
	python-simplejson, python-tornado, python-versiontools,
	rtmpdump, rtptools, smcroute, smstools3, tcpreplay, thrift,
	ti-uim, tinyxml, tmux, vlc, wmctrl, xconsole

	Removed packages: autoconf, automake, ccache, cpanminus, lzma,
	netkitbase, netkittelnet, pkg-config, squashfs3, ttcp, xstroke

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

	#65:   new package: dbus c++ language bindings
	#769:  Update configuration menu for MIPS target
	#2419: Add a bundle of Lua modules
	#2629: Segmentation faults and division by zero in Grub on ext2
	#3811: Added auto-mount for USB and SD Card (mdev) (for 2011.05)
	#4339: Allow override of DL_DIR in extract step
	#4363: Make sure that copied linux and busybox defconfig are...
	#4454: There should be simple way to update image, when chang...
	#5024: grub fails to build for x86_64 target architecture
	#5066: New-Package: net-tools
	#5072: ncurses: add ncurses-progs to target
	#5294: uclibc build ignores target CFLAGS and LDFLAGS
	#5366: Login doesn't work with util-linux versions of login/agetty
	#5378: dropbear Makefile broken
	#5390: System banner - change to empty doesn't remove /etc/issue
	#5780: spurious build failure because it cannot remove ubinize.cfg
	#5798: ncurses-5.9 fails to compile statically
	#5810: Buildroot 2012.11: Additional GCC option "-msoft-float" ...
	#6080: Git fetch caching
	#6092: Bootable ISO image creation seems to have stopped working..
	#6272: coreutils build fails
	#6434: apply-patches.sh does not work recursively
	#6446: eglibc doesn't install ldconfig to target
	#6484: Add c-ares
	#6596: Slow bootup if mdev is chosen
	#6656: Build Qt5 with ccache
	#6662: internal compiler error: Segmentation fault during making..
	#6722: Usage of $($(PKG)_DIR_PREFIX) is an issue with linux package
	#6752: genext2fs: e2fsck must run before tunefs -U random
	#6770: openssl 1.0.1f fails with ccache
	#6830: Qt5: no fonts are installed
	#6848: Qt5: no text shown in simple QWidget / frame-buffer setup
	#6854: Update to Qt 5.2.1

2013.11, Released November 30th, 2013:

	Minor fixes.

	Updated/fixed packages: apr, binutils, dbus-python, dropwatch,
	ecryptfs-utils, eglibc, gdb, gpsd, grantlee, hostapd,
	iptables, qlibiscsi, libnspr, libnss, libpfm4, libtool,
	lua-ev, lvm2, mplayer, qt, qt5, quagga, ruby, tinymembench,
	tvheadend, util-linux, wpa_supplicant

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

	#1279: Buildroot compiled Busybox and Coreutils LFS issues
	#2995: -fstack-protector-all causes ssh to SIGSEGV
	#5570: Cannot compile software on the target machine
	#6428: util-linux libmount segfaults with patch from buildroot
	#6500: php fails to build for armel
	#6554: gdb needs to dependents on host texinfo
	#6692: GNU nano fails to compile for x86_64
	#6704: wpa_supplicant: fix wrong path to executable file in D-Bus

2013.11-rc3, Released November 26th, 2013

	Fixes all over the tree.

	Architecture: Mark MIPS I, II, III and IV as deprecated.

	Updated/fixed packages: beecrypt, dbus, e2fsprogs, libcap-ng,
	libglib2, libroxml, libsigsegv, libvncserver, lxc, mdadm,
	mongoose, nut, ola, omniorb, openssl, pcre, php, poco,
	protobuf-c, pv, qt5base, ruby, schifra, squid, sunxi-mail,
	swig, ti-gfx, tinymembench, uclibc, udisks, vim

2013.11-rc2, Released November 18th, 2013

	Fixes all over the tree.

	Defconfigs: qemu_arm_versatile, qemu_arm_nuri, sheevaplug:
	Adjust kernel versions.

	Toolchain: avr32: fix for modern kernel headers

	Bootloader: Barebox updated to 2013.10.1

	Updated/fixed packages: dhcp, e2fsprogs, gst1-plugins-bad,
	libcurl, libvncserver, nano, pc, qt5base, squashfs, ttcp,
	wayland, wvstreams

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

	#3601: DHCPD S80dhcp-server startup script issues
	#6320: Fix kernel compile issue if BR2_LINUX_KERNEL_CUSTOM_GIT_VERS..
	#6416: Xenomai package, patch alternative
	#6590: directfb-examples build failed whit linaro toolchain

2013.11-rc1, Released November 12th, 2013

	Architectures: Nios-II support, MIPS arch handling fixes

	Defconfigs: cubieboard2, freescale i.MX 6sololite evk,
	sabre-sd, wandboard added, rpi renamed to raspberrypi_defconfig

	Toolchain: glibc support, upstream uClibc fixes, uClibc 0.9.31
	for avr32, crosstool-ng backend removed, external musl
	toolchain support, gcc 4.8.2, updated Linaro external
	toolchains. Fortran and objective-C support deprecated,
	mudflap support

	Bootloaders: U-Boot: u-boot.imx support, version bumps

	Linux: use kmod instead of module-init-tools

	System: default to devtmpfs for /dev

	Infrastructure: Make 3.82 fixes, locales generation fixes, CVS
	download support, post-rsync hooks

	Fs: u-boot image support for cpio

	Updated/fixed packages: aircrack-ng, alsamixergui, apr,
	apr-util, atk, automake, bellagio, berkeleydb, bind, binutils,
	bison, boost, busybox, can-utils, ccache, ccid, cgilua,
	chrony, cifs-utils, cjson, collectd, connman, conntrack-tools,
	copas, cppcms, cppzmq, czmq, dash, dbus, dhcpcd, diffutils,
	directfb, dmidecode, dnsmaqs, docker, dosfstools, dropbear,
	dropwatch, ebtables, eglibc, elf2flt, empty, enchant, erlang,
	ethtool, fbgrab, fbv, fdk-aac, feh, ffmpeg, file, findutils,
	fltk, fmtools, freetype, gdk-pixbuf, gettext, git,
	glib-networking, gmp, gnupg, gnutls, gpu-viv-bin-mx6q, gsl,
	gstreamer, gstreamer1, gst1-plugins-{bad,base,good,ugly},
	gtest, gutenprint, hplip, i2c-tools, icu, ifplugd,
	imagemagick, iozone, iproute2, ipset, iptables, iw, jamvm,
	jansson, jpeg-turbo, kismet, kmod, lcms2, libassuan, libcap,
	libcap-ng, libcdaudio, libcec, libcue, libcurl, libdrm,
	libedit, libevas, libevent, libfreefare, libfuse,
	libgpg-error, libiconv, liblog4c-localtime, libmicrohttpd,
	libmnl, libmodbus,
	libnetfilter_{acct,conntrack,cthelper,cttimeout,log,queue},
	libnfnetlink, libnl, libpng, libqmi, libqrencode, libroxml,
	libsecret, libsigsegv, libsoup, libtirpc, libunwind, libusb,
	libvpx, lighttpd, linphone, linux-pam, lmbench,
	lockfile-progs, log4cxx, logrotate, logsurfer, ltp-testsuite,
	ltrace, luacrypto, luaposix, lvm2, m4, matchbox-lib,
	media-ctl, mediastreamer, minicom, minidlna, mongoose, monit,
	mpc, mpd, mpg123, mplayer, mrouted, mtdev, mutt, mysql_client,
	nano, ncftp, ndisc6, neard, neardal, neon, net-snmp, netatalk,
	netcat, netkitbase, netperf, netplug, nettle, nfacct,
	nfs-utils, ngircd, ngrep, noip, nuttcp, olsr, openssh, opkg,
	oprofile, opus-tools, orc, ortp, pciutils, pcre, pcsc-lite,
	perf, perl, perl-cross, php, picocom, pkgconf, polarssl,
	poppler, pppd, proftpd, protobuf, proxychains-ng, pulseaudio,
	pv, qemu, qt, qt5base, qt5webkit, quagga, radvd, redis,
	rpi-{firmware,userland}, rrdtool, rsync, rtorrent, ruby,
	samba, scons, screen, sdl_sound, ser2net, setserial,
	smartmontools, socat, socketcand, sqlcipher, sqlite, squid,
	stress, strongswan, stunnel, sudo, syslinux, systemd,
	sysvinit, tcl, ti-gfx, time, transmission, tremor, tslib,
	tstools, tvheadend, tzdata, uboot-tools, uclibc, udpcast,
	uemacs, ulogd, usb_modeswitch{,_data}, util-linux, vala,
	valgrind, vde2, vorbus-tools, vpnc, vsftpd, vtun, wayland,
	webkit, webp, webrtc-audio-processing, weston, wget,
	wireshark, wsapi, xavante, xdriver_xf86-video-geode, xenomai,
	xinetd, xlib_libpthread-stubs, xl2tp, xmlstarlet,
	xserver_xorg-server, xz, zeromq, zic, zmqpp

	New packages: aiccu, autossh, bc, civetweb, cppdb, cryptsetup,
	duma, eigen, harfbuzz, igmpproxy, iputils, jq, knock, kobs-ng,
	lesstif, libcgroup, libsepol, libsoc, libssh2, luasec, luasql,
	lxc, nut, ola, omniorb, openpowerlink, orbit, p910nd, psplash,
	python-crc16, python-ipy, python-pyzmq, qt5sensors,
	qt5serialport, qt5x11extras, snmppp, subversion, tcping,
	trace-cmd, xscreensaver, zsh

	Removed packages: module-init-tools

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

	#1138: Buildroot fails to build packages if BR2_GCC_SHARED_LIBGCC=y
	#5408: qt build failure with Sourcery CodeBench ARM 2010.09
	#5630: makefile error with toolchain helpers.mk
	#5672: htop: remove X11 stuff
	#5678: linux.mk: linux-menuconfig fails
	#5696: python3 installation is too large, patches from python2 needed
	#5978: Erlang does not build for arm in 2013.02-rc3
	#6392: Extended ARM uImage kernel options
	#6404: Buildroot's coreutils 'uname -p' reports 'Unknown' on recent..
	#6428: util-linux libmount segfaults with patch from buildroot
	#6452: eglibc from Linaro 2013.07 not copied to target correctly
	#6566: PHP segfault when crosscompiled to mips64 - patch included
	#6572: [PowerPC] Buildroot uses wrong external toolchain libraries..
	#6578: udisks package broken
	#6602: ebtables 64 bit kernel + 32 bit userland alignment error..
	#6608: ebtables missing ethertypes - fix included
	#6620: Sysvinit package missing killall5 and symlinks - patch included
	#6632: CMake use host pkg-config
	#6638: pkgconf doesn't download
	#6644: "all" target doesn't work in out-of-tree builds
	#6650: Segmentation fault when trying to build latest buildroot
	#6668: iptables limit module alignment problem on mips64

2013.08, Released August 31th, 2013:

	Minor fixes.

	Documentation build fixed.

	Updated/fixed packages: ltrace, strongswan

2013.08-rc3, Released August 29th, 2013:

	Fixes all over the tree.

	External toolchain lib32/lib64 handling, ABI name for EABIhf,
	misc fixes for generatelocales, apply-patches and module
	stripping.

	Top level menu names reordered and renamed for clarity.

	Updated/fixed packages: acl, attr, bash, dbus, directfb,
	dvb-apps, kexec, kmod, libbsd, linux-fusion, mesa3d, minidlna,
	openssh, openssl, pulseaudio, python-setuptools, qt5,
	qt5webkit, redis, strongswan, sunxi-mali

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

	#6464: dbus-daemon-launch-helper needs setuid

2013.08-rc2, Released August 16th 2013:

	Documentation improvements.

	External toolchains fixes.

	Updated/fixed packages: aircrack-ng, bash, boost, cairo,
	cppcms, eglibc, ffmpeg, gcc, git, gnupg, imagemagick, libcec,
	libffi, libgcrypt, linux, linux-headers, ltrace, netatalk,
	opencv, opengl, readline, samba, strongswan, sunxi-cedarx,
	uclibc, udev, wayland, webkit, zeromq.

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

	#6440: typo in ffmpeg makefile

2013.08-rc1, Released August 5th, 2013:

	Architectures:
	 - improved support for floating point on ARM and Thumb/Thumb2
	 - support for ARM OABI removed

	Toolchains:
         - support added for Sourcery CodeBench ARM and MIPS 2013.05
         - Linaro ARM and Aarch64 toolchains updated
	 - support added for the Arago ARMv5 and ARMv7 toolchains
	 - gcc 4.8.x version bumped
	 - support for installing both FDPIC and FLAT libraries on
	   Blackfin
	 - support for uClibc 0.9.31 removed,
	 - convert the internal toolchain backend to use the package
	   infrastructure
	 - support added for eglibc in the internal toolchain backend
	 - toolchain components for the ARC architecture updated and
           gdb for ARC added.
	 - support for Blackfin in the internal toolchain fixed

	Defconfigs: beaglebone_defconfig updated, new defconfig for
	CubieBoard, for Olimex mx233 Olinuxino, for Calao Systems
	TNY-A9G20-LPW.

	A number of packages have been fixed to use the
	<pkg>_CONFIG_SCRIPTS mechanism to get their <pkg>-config shell
	script installed and modified properly. Licensing informations
	has been added to a number of packages.

	Use XZ tarballs for a number of packages.

	Noticeable package changes/additions:
         - The glib2/libgtk2/webkit stack has been updated to recent
           versions.
	 - Support for Gstreamer 1.x has been added.
	 - OpenGL support for TI OMAP platforms has been added.
	 - OpenGL support for Allwinner platforms has been added.
	 - OpenMAX support for RasberryPi has been added.

	Updated/fixed packages: acl, attr, autoconf, avahi, barebox,
	bind, binutils, busybox, bwm-ng, bzip2, cifs-utils, colletctd,
	cpanminus, cups, curl, dash, dbus, dhcp, directfb,
	directfb-examples, dnsmasq, dosfstools, dropbear, dtc,
	e2fsprogs, ed, efl, enlightenment, erlang, ethtool, fbgrab,
	fftw, firmware-imx, flot, fltk, freetype, gawk, gdk-pixbuf,
	gettext, gmp, gnutls, gsl, gutenprint, gvfs, gzip, haserl,
	hiawatha, httping, icu, imagemagick, imlib2, imx-lib,
	intltool, iozone, ipset, iptables, jquery, jquery-keyboard,
	jquery-sparkline, kmod, less, libart, libcdaudio, libcgicc,
	libesmtp, libftdi, libfuse, libglib2, libgtk, libgtk2, libidn,
	libiqrf, liblog4c-localtime, libnspr, libnss, libpcap,
	libroxml, libserial, libsigsev, libsoup, libtool, libtpl,
	libvncserver, libxml2, linphone, lm_sensors, logrotate,
	ltrace, lttng, luafilesystem, luajit, minicom, monit, mpg123,
	mtd, mutt, mxml, neard, netatask, netsnmp, nettle,
	network-manager, nodejs, nss-mdns, openssh, openswan, openvpn,
	opkg, opus, pcre, perl-cross, php, pixman, poco, polarssl,
	pulseaudio, pv, python, python3, qt, qt5, qt5declarative,
	qt5jsbackend, qt5quick1, readline, rpi-firmware, ruby, samba,
	sane-backends, sconeserver, sdl_image, sdparm, ser2net,
	socketcand, sqlite, squid, strace, tcl, tcpdump, tinyhttpd,
	tvheadend, tzdata, uboot, udpcast, usb_modeswitch,
	usb_modeswitch_data, usbutils, webkit, wireshark, wvstreams,
	xapp_luit, xapp_xmodmap, xenomai, xfsprogs, xlib_libX11, zic,
	zlib.

	New packages: a10disp, aespipe, am33x-cm3, cppcms, dhcpcd,
	dropwatch, dtc, ecryptfs-utils, eglibc, elf2flt, fdk-aac,
	gcc-final, gcc-initial, gcc-intermediate, git,
	gpu-viv-bin-mx6q, gst1-plugins-bad, gst1-plugins-base,
	gst1-plugins-good, gst1-plugins-ugly, gst-omx,
	gst-plugin-x170, gstreamer1, jimtcl, lbase64, libassuan,
	libbsd, libcec, libdvbsi, libedit, libgpgme, libqmi,
	libqrencode, libsvg, libsvg-cairo, libunwind, libvpx,
	linux-headers, lockdev, luabitop, luacrypto, lua-ev,
	luaexpatutils, msgpack, ocrad, on2-8170-libs,
	on2-8170-modules, p11-kit, pax-utils, ptpd, ptpd2,
	python-pyro, ramspeed/smp, snappy, strongswan, sunxi-boards,
	sunxi-cedarx, sunxi-mali, sunxi-tools, ti-gfx, tinymembench,
	tree, tstools, uclibc, w_scan.

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

	#4718: python (built for powerpc) distutils has paths to host
               compiler toolchain
	#5516: appended device tree blobs on uImage fails
	#6302: Versions of packages retrieved from github.com are wrong
	#6308: dosfstools download link is wrong
	#6326: Dropbear: Add options to allow better config for
               different target devices (e.g. routers)
	#6338: Wrong download link for minicom package
	#6344: Wrong handling of license text files with same name and
               different directory
	#6374: gnutls package broken if linux cryptodev module
               selected
	#6410: omap3_beagle has uimage error load address error

2013.05, Released May 31th, 2013:

	Minor fixes.

	External toolchain wrapper fix for if host/usr/bin is placed
	in the patch.

	Updated/fixed packages: acpid, at91bootstrap, czmq, elf2flt,
	flex, jamvm, kmod, libplayer, libtirpc, libv4,
	lttng-babeltrace, opengl, qt5jsbackend, udpcast, wvstreams

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

	#4868: Buildroot compile failure for toolchain/gdb-7.4/intl/reloc...
	#4988: flex and m4 problems
	#5912: obsolete CVS files

2013.05-rc3, Released May 25th, 2013:

	Minor fixes.

	Updated/fixed packages: aircrack-ng, bellagio, boost, crda,
	dvb-apps, flot, libatomic_ops, libeXosip2, libosip2, libxml2,
	mongrel2, poco, portaudio, pptp-linux, tvheadend, urg, weston,
	wireshark

2013.05-rc2, Released May 15th, 2013:

	Fixes all over the tree.

	Default number of parallel jobs is now number of CPUs + 1.

	Defconfigs: Add Telit EVK-PRO3, AT91SAM9260-EK Nand flash.

	Updated/fixed packages: aircrack-ng, busybox, cairo,
	classpath, curlftpfs, czmq, dbus, f2fs-tools, fan-ctrl,
	filemq, gst-plugin-bad, gutenprint, hplip, json-c,
	libatomic_ops, libcurl, libdrm, libglib2, libnspr, libnss,
	libsha1, libsigsegv, libxcb, linknx, linux-pam, lttng-modules,
	lttng-tools, matchbox-lib, mcookie, mesa3d, neon, pixman,
	pulseaudio, python-nfc, qt5imageformats, quota, openssl,
	sconeserver, strace, sylpheed, wvstreams,
	xapp_{appres,bdftopcf,beforelight,bitmap,edires,fonttosfnt},
	xapp_{fslsfonts,fstobdf,iceauth,ico,listres,luit,mkfontdir},
	xapp_{mkfontscale,oclock,rgb,rstart,scripts,sessreg,setxkbmap},
	xapp_{showfont,smproxy,twm,viewres,x11perf,xauth,xbacklight},
	xapp_x{biff,calc,clipboard,clock,cmsdb,cursorgen,dbedizzy,ditview},
	xapp_x{dm,dpyinfo,driinfo,edit,ev,eyes,f86dga,fd,fontsel,fs,fsinfo},
	xapp_x{gamma,gc,host,input-calibrator,input,kbcomp,kbevd,kbprint},
	xapp_x{kbutils,kill,load,logo,lsatoms,lsclients,lsfonts,mag,man},
	xapp_x{message,mh,modmap,more,pr,prop,randr,rdb,refresh,set,setmode},
	xapp_x{setpointer,setroot,sm,stdcmap,vidtune,vinfo,wd,wininfo,wud},
	xcb-util, xcursor-transparent-theme, xdata_xbitmaps,
	xdata_xcursor-themes,
	xdriver_xf86-input-{evdev,joystick,keyboard,mouse,synaptics},
	xdriver_xf86-input-{tslib,vmmouse,void},
	xdriver_xf86-video-{ark,ast,ati,cirrus,dummy,fbdev,geode,glide},
	xdriver_xf86-video-{glint,i128,intel,mach64,mga,neomagic,newport},
	xdriver_xf86-video-{nv,openchrome,r128,savage,siliconmotion,sis},
	xdriver_xf86-video-{tdfx,tga,trident,v4l,vesa,vmware,voodoo,wsfb},
	xfont_encodings, xfont_font-adobe-{100,75}dpi,
	xfont_font-utopia-{100dpi,75dpi,type1},
	xfont_font-{alias,arabic-misc,bh-100dpi,bh-75dpi},
	xfont_font-bh-lucidatypewriter-{100,75}dpi, xfont_font-bh-{ttf,type1},
	xfont_font-bitstream-{100dpi,75dpi,type1}, xfont_font-cronyx-cyrillic,
	xfont_font-{cursor,daewoo,dec,isas,jis,micro}-misc,
	xfont_font-ibm-type1, xfont_font-misc-{cyrillic,ethiopic,meltho,misc},
	xfont_font-{mutt,schumacher}-misc,
	xfont_font-{screen-cyrillic,sony-misc,sun-misc,util},
	xfont_font-winitzki-cyrillic, xfont_font-xfree86-type1,
	xlib_lib{FS,ICE,SM,X11,XScrnSaver,Xau,Xaw,Xcomposite,Xcursor},
	xlib_libX{damage,dmcp,ext,fixes,font,ft,i,inerama,mu,pm,randr},
	xlib_libX{render,res,t,tst,v,vMC,xf86dga,xf86vm},
	xlib_lib{dmx,fontenc,pciaccess,pthread-stubs,xkbfile}, xlib_xtrans,
	xproto_{applewm,bigreqs,composite,damage,dmx,dri2,fixes}proto,
	xproto_{fontcache,font,gl,input,kb,randr,record,render}proto,
	xproto_{resource,scrnsaver,video,windowswm,xcmisc,xext}proto,
	xproto_{xf86bigfont,xf86dga,xf86dri,xf86vidmode,xinerama,x}proto,
	xserver_xorg-server, xutil_{makedepend,util-macros}

	Readded Packages: xapp_xinit

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

	#5054: amd64: cannot find init - due to missing /lib64 folder

2013.05-rc1, Released May 8th, 2013:

	Architectures: ARC support, Blackfin support, FLAT binary
	format, ARM: Drop old CPU variants, add fa526/626, Marvell PJ4

	Toolchains: Add new Microblaze external toolchains, Linaro
	ARM/Aarch64 updates, GCC 4.6.4 / 4.7.3 / 4.8.0 added to
	internal toolchain, default to GCC 4.7.x. Internal
	Crosstool-ng backend deprecated.

	Defconfigs: Add Atmel at91sam9g45m10ek, freescale mpc8315erdb
	& p1010rdb, Armadeus apf27 / apf28, Openblocks A6, Raspberry
	pi, gnublin board.

	FS: LZO and XZ compression methods, extra ubifs options,
	ext2 rev 0/1 and ext3/4 support.

	Patch handling: apply-patches now has .patch.xz support,
	Patch logic reworked as discussed during Febrary dev days:
	http://elinux.org/Buildroot:DeveloperDaysFOSDEM2013

	<pkg>-rsync now excludes version control files.

	linux: uImage load address for ARM multiplatform kernels

	Infrastructure for multiple OpenGL / ES / EGL / OpenVG
	providers, similar to how libjpeg / libjpeg-turbo is handled.

	Infrastructure for packages to add system users.

	kconfig: updated to 3.9-rc2, support make olddefconfig

	Updated/fixed packages: alsa-lib, alsa-utils, apr, apr-util,
	argp-standalone, at, at91bootstrap, audiofile, aumix, avahi,
	bash, blackbox, bind, binutils, bison, boost, bridge-utils,
	busybox, ccache, cifs-utils, cmake, collectd, connman,
	conntrack-tools, cpanminus, crosstool-ng, diffutils, directfb,
	directfb-examples, divine, dmalloc, dnsmasq, dosfstools,
	dropbear, e2fsprogs, ebtables, eeprog, erlang, ethtool,
	fb-test-app, fbset, feh, ffmpeg, file, flex, flot, foomatic,
	fxload, gd, gdb, gdisk, genimage, gettext, gmp, gnuchess,
	gnutls, gob2, gperf, gpsd, gstreamer, haserl, hiawatha, htop,
	httping, icu, inotify-tools, intltool, iproute2, ipset,
	iptables, iw, jpeg, jquery, jquery-{sparkline,validation},
	json-c, kbd, kexec, kismet, kmod, lcdproc, libarchive,
	libatasmart, libcap, libconfig, libconfuse, libcurl, libdrm,
	libeet, libev, libevas, libeXosip2, libffi, libfribi, libfuse,
	libgcrypt, libglib2, libgtk2, libid3tag, libmicrohttpd,
	libnetfilter_acct, libnetfilter_conntrack, libnl, libpcap,
	libplayer, libsigc, libv4l, libxcb, linenoise, linux-pam,
	lm_sensors, ltp-testsuite, luajit, lzop, madplay, make, mdadm,
	mediastreamer, memtester, mesa3d,
	mobile-broadband-provider-info, monit, mpd, mpfr, mpg123,
	mrouted, msmtp, nbd, ncurses, ndisc6, neard, neardal, neon,
	netperf, netsnmp, nettle, nfacct, ntfs-3g, ofono, olsr,
	omap-u-boot-utils, openssh, openssl, openswan, openvpn,
	oprofile, orc, patch, pciutils, pcre, perl, php, poco,
	polarssl, proftpd, psmisc, pulseaudio, python,
	python-{bottle,netifaces,serial,setuptools}, qt, quagga,
	quota, radvd, rpi-firmware, rpi-userland, rt-tests, sam-ba,
	samba, sawman, sdl, ser2net, smartmontools, socat, socketcand,
	speex, squid, stress, stunnel, sudo, syslinux, sysstat,
	sysvinit, tcl, tcprelay, tinyhttpd, tslib, tvheadend,
	uboot-tools, udev, ulogd, util-linux, vala, vtun, webkit,
	xapp_{iceauth,luit,makefontscale,sessreg,setxkbmap,smproxy},
	xapp_{xauth,xcmsdb,xdpyinfo,xev,xgamma,xhost,xinput,xkbcomp},
	xapp_{xkbevd,xlsatoms,xlsclients,xmodmap,xpr,xprop,xrandr,xrdb},
	xapp_{xset,xwd,xwininfo}, xcb-{proto,util},
	xdriver_xf86-input-{evdev,joystick,keyboard,mouse,synptics},
	xdriver_xf86-input-{tslib,vmmouse,void},
	xdriver_xf86-video-{ark,ast,ati,cirrus,dummy,geode,glide,glint},
	xdriver_xf86-video-{i128,intel,mach64,mga,neomagic,newport},
	xdriver_xf86-video-{openchrome,r128,savage,siliconmotion,sis},
	xdriver_xf86-video-{tdfx,trident,vesa,vmware,wsfb}, xenomai,
	xfont, xinetd, xkeyboard-config, xlib_lib{FS,ICE,SM,X11},
	xlib_libX{scrnSaver,au,aw,cursor,dmcp,ext,fixes,font,ft,i},
	xlib_libX{inerama,mu,pm,randr,res,tst,v,vMC,xf86dga,xf86vm},
	xlib_lib{dmx,fontenc,pciaccess,xkbfile}, xlib_xtrans,
	xproto_{applevm,bigreqs,dri2,fonts,gl,input,kbd,record}proto,
	xproto_{resource,scrnsaver,xcmisc,xext,x}proto,
	xserver_xorg-server, xutil_makedepend, xz, zeromq

	New packages: aircrack-ng, bcusdk, chrony, crda,
	cryptodev-linux, cppzmq, czmq, dtach, enscript, exfat,
	exfat-utils, f2fs-tools, fan-ctrl, filemq, foomatic-filters,
	genimage, genpart, glibmm, gnuplot, gtest, gutenprint, hplip,
	iozone, jansson, jhead, jquery-keyboard, jquery-ui,
	jquery-ui-themes, json-glib, json-javascript, lcms2, libpfm4,
	libpthsem, libserial, libsigsegv, libtasn1, libwebsockets,
	libxkbcommon, libxml++, linknx, log4cxx, mongoose, mongrel2,
	mtools, ne10, nmap, nodejs, openobex, openpgm, poppler,
	protobuf-c, python-m2crypto, python-thrift, qjson, qt5base,
	qt5declarative, qt5graphicaleffects, qt5imageformats,
	qt5jsbackend, qt5multimedia, qt5quick1, qt5script, qt5svg,
	qt5webkit qt5xmlpatterns, rapidjson, redis, swig, texinfo,
	tzdata, urg, ussp-push, wayland, webp, weston, wireless-regdb,
	wireshark, wvdial, wvstreams, xcb-util-image, xcb-util-wm,
	xcursor-transparent-theme, zic, zmqpp, zyre

	Removed packages: microperl, ocf-linux, xapp_xinit,
	xapp_xplsprinters, xapp_xprehashprinterlist,
	xfont_font-bitstream-speedo,
	xlib_lib{Xfontcache,XprintAppUtil,XprintUtil,Xp,oldX,xkbui},
	xproto_{print,xf86rush}proto

	Deprecated packages: vala

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

	#1291: Add support for Faraday 526 arm processor (fa526)
	#2683: cups does not install correctly to target
	#3313: mesa3d fails to build
	#5186: initramfs/cpio should support lzo compression
	#5636: agetty - cannot get controlling tty error - need updated...
	#5906: collectd client headers not exported
	#5966: bison unnecessarily required as build dependency
	#6140: --enable-fileinfo not applied for php package
	#6164: openvpn usage of ip tool from Busybox

2013.02, Released February 28th, 2013:

	Misc manual updates.

	Updated/fixed packages: busybox, collectd, flashbench,
	libgtk2, libupnp, mii-diag, quota

2013.02-rc3, Released February 26th, 2013

	Minor fixes.

	Updated/fixed packages: conntrack-tools, dialog,
	enlightenment, haserl, keyutils, libfif, libmad,
	linux-firmware, linux-fusion, matchbox-desktop, matchbox-wm,
	ruby, spawn-fcgi, vtun

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

	#5960: fusion.ko driver does not install to target rootfs

2013.02-rc2, Released February 19th, 2013

	Fixes all over the tree.

	Various manual updates and fixes.

	Updated/fixed packages: busybox, collectd, gesftpserver,
	glib-networking, gnutls, inotify-tools, libcurl, libffi,
	libglib2, libtorrent, libvorbis, neard, network-manager,
	ntfs-3g, openssl, qt, rpi-userland, rtorrent, thttpd, vim.

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

	#5906: collectd client headers not exported

2013.02-rc1, Released February 10th, 2013

	Toolchain: Crosstool-ng 1.17.0, default to GCC 4.6.3, target
	libraries install fixed. Add Linaro ARM
	2012.11/2012.12/2013.01, AArch64 12.11/12.12/13.01. Sourcery
	CodeBench MIPS 2012.03/09. Infrastructure to warn about
	missing 32bit support for binary toolchains. Toolchain wrapper
	is now relocatable. Add GDB 7.5.1 / Remove 6.8 / 7.0 /
	7.1. Deprecate uClibc 0.9.31.

	Architecture: Xtensa fixes, add missing powerpc variants, arm
	1136jf-s rev1, add A5/A15, neon support toggle, OABI
	deprecated. Sparc: drop old unused variants

	Bootloaders: At91bootstap: fix upstream URL, Barebox: add
	2012.12/2013.01/2013.02, remove 2012.08/09/10, lzop fixes,
	environment image support, U-Boot: add 2013.01.01

	Linux: fix appended dtb handling for v3.8+ kernels, support
	multiple device trees

	Defconfigs: calao USB-A9260, snowball, QEMU PPC440 on ML507
	board, QEMU ARM Exynos4210, Kernel version in QEMU defconfigs
	updated, at91rm9200df: misc fixes. Lock kernel headers to
	match kernel.

	Infrastructure: Git download fixes. Toolchain make target
	renamed from 'cross' to 'toolchain'. Eclipse integration
	support. Option to set root password, post image scripts,
	config scripts handling.

	Updated/fixed packages: alsa-lib, argp-standalone, argus,
	arptables, atk, audiofile, axel, beecrypt, bind, bison,
	bluez_utils, boost, cairo, can-utils, bmon, boa, busybox,
	cairo, ccache, cdrkit, cifs-utils, cjson, cmake, collectd,
	connman, coreutils, cpanminus, cups, dbus, dhcp, dialog,
	diffutils, directfb, distcc, divine, dnsmasq, docker,
	dosfstools, dstat, e2fsprogs, ebtables, ed, empty, ethtool,
	expedite, fbset, fbv, ffmpeg, flex, fltk, fluxbox, freetype,
	gadget-test, gawk, gdb, genext2fs, gettext, giblib,
	glib-networking, gmp, gmpc, gnupg, gnutls, gpsd,
	gst-plugins-{bad,base,good}, gstreamer, gzip, haserl, hdparm,
	heirloom-mailx, hiawanta, hostapd, icu, imagemagick, imlib2,
	inadyn, infozip, iproute2, ipset, iptables, iw, jpeg, jquery,
	jquery-sparklines, jqeury-validation, kismet, kmod, lame,
	libao, libcap, libcurl, libdvdnav, libdvdread, libecore,
	libedbus, libedje, libeet, libefreet, libeina, libeio,
	liberation, libelementary, libembryo, libethumb, libev,
	libevas, libffi, libfribidi, libfuse, libgcrypt, libglib2,
	libgpg-error, libgtk2, libhid, libidn, libmicrohttpd, libmpd,
	libnl, libnspr, libnss, libogg, libpcap, libplayer, libpng,
	libroxml, librsvg, libseccomp, libsigc, libsndfile, libungif,
	libupnp, liburcu, libusb-compat, libvncserver, libvorbis,
	libxml2, libxslt, lighttpd, links, linux-firmware,
	linux-fusion, ltp-testsuite, ltrace,
	lttng-{babel,libust,modules,tools}, lvm2, lua, luajit, lzop,
	matchbox-{desktop,lib}, mdadm, metacity, midori, minicom, mpd,
	mpfr, mplayer, mtd, mysql_client, ncurses, neon, netatalk,
	networkmanager, nspr, ntfs-3g, nuttcp, ofone, olsr, openssl,
	openvpn, opkg, oprofile, opus, opus-tools, orc, ortp, pango,
	pciutils, pcmanfm, pcre, pcsc-lite, perl, php, pixman,
	pkgconf, polarssl, pptp-linux, proxychains, pulseaudio,
	python, python3, qemu, qextserialport, qt, quagga, radvd,
	readline, rng-tools, rt-tests, rubix, ruby, sam-ba, samba,
	sane-backends, sconeserver, scons, screen, sdl, sdl_gfx,
	sdl_mixer, sdl_ttf, sdparm, sed, ser2net, smartmontools,
	speex, sqlite, squid, sshfs, strace, sudo, sylpheed, tn5250,
	taglib, tar, torsmo, transmission, tslib, uboot-tools, ulogd,
	usb_modeswitch, util-linux, valgrind, vim, vsftpd, wavpack,
	webkit, wipe, wireless_tools, wpa_supplicant, xapp_xinit,
	xapp_xinput-calibrator, xapp_xman, xapp_xmh, xlib_libX11,
	xlib_libXdmcp, xlib_libXft, xlib_libpthread-stubs,
	xlib_xtrans, xproto_xcmiscproto, xproto_xextproto,
	xserver_xorg-server, xstroke, xvkbd, xz

	New packages: b43-firmware, b43-fwcutter, bustle,
	cache-calibrator, cegui06, celt051, classpath, curlftpfs,
	dvb-apps, dvbsnoop, elfutils, enlightenment, firmware-imx,
	flashbench, gd, gesftpserver, gst-fsl-plugins, httping, iftop,
	imx-lib, jamvm, jpeg-turbo, keyutils, libatasmart, libcofi,
	libebml, libevas-generic-loaders, libfslcodec, libfslparser,
	libfslvpuwrap, libgsasl, libiscsi, libmatroska, libmcrypt,
	libmhash, libqwt, libseccomp, libsha1, linenoise, mcrypt,
	media-ctl, ncdu, neard, neardal, nettle, perf, polkit,
	proxychains, python-bottle, python-pyparsing, rpi-firmware,
	rpi-userland, sg3_utils, slirp, snowball-hdmiservice, spice,
	spice-protocol, tcllib, tvheadend, udisks, usbredir
	ux500-firmware, vde2, xcb-utils-keysyms, yavta,
	zd1211-firmware

	Removed packages: customize, xdriver_xf86-input-{acecad,aiptek},
	xdriver_xf86-video-{apm,chips,i740,rendition,s3,s3virge,sisusb},
	xdriver_xf86-video-sun{cg14,cg3,cg6,ffb,leo,tcx},
	xdriver_xf86-video-{tsend,xgi,xgixp}

	Deprecated packages: xstroke

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

	#4237: building shared openssl w/-Os fails due to gcc bug
	#5690: python3 does not obey to BR2_PACKAGE_PYTHON3_PYC_ONLY=y
	#5602: python3 should install a "python" symbolic link
	#5846: Extra slash added to last slash in URL

2012.11.1, Released January 3rd, 2013:

	Toolchain: Fixed non-largefile builds on recent Ubuntu
	versions.

	Arch: fix missing x86/generic handling, Build for Xtensa with
	longcalls option.

	Updated/fixed packages: dosfstools, qt

2012.11, Released December 2nd, 2012:

	Git shallow clone fix for older git version.

	Updated/fixed packages: ctuio, libtool

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

	#5726: List all the available hook points

2012.11-rc2, Released November 30th, 2012:

	Minor fixes around the tree.

	Various manual updates and fixes.

	Add checks for legacy features.

	Updated/fixed packages: acpid, alsa-lib, arptables, binutils,
	busybox, ccache, cjson, cramfs, directfb, flex, fluxbox, gdb,
	hiawatha, igh-ethercat, imagemagick, imlib2, lcdproc,
	libdaemon, libecore, libhid, libmad, libpcap, libsigc, libusb,
	linux-fusion, matchbox, ocf-linux, owl-linux, python, rrdtool,
	scons, strace, sylpheed

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

	#5732: Error : package/alsa-lib/alsa-lib.mk

2012.11-rc1, Released November 17th, 2012

	Fixes all over the tree and new features.

	Defconfigs: use u-boot 2012.10 on at91 and beaglebone,
	sheevaplug + qemu: bump kernel version, add qemu-mips64-malta
	+ nitrogen6x defconfigs.

	Bootloaders: add u-boot 2012.07/10, ais target format, add
	barebox 2012.08/09/10/11, linker overlap issue fix for
	at91bootstrap, mxs-bootlets updated for new Barebox versions.

	Toolchains: binutils 2.23.1, gcc 4.7.2, default to gcc 4.6.x,
	Codebench arm/sh/x86 2012.03/09, Linaro 2012.08/09/10.
	Libtirpc support for modern glibc variants. Toolchain on
	target has been deprecated.

	Initial Aarch64 support, Xtensa support re-added.

	Infrastructure: Use shallow git clone when possible, use
	tarballs rather than git URLs for github. Moved to pkgconf
	rather than pkg-config. System directory added, default
	skeleton/device tables moved. More than 1 post-build script
	can now be used. output/target now contains a
	THIS_IS_NOT_YOUR_ROOT_FILESYSTEM warning, to help people
	understand how to (not) use it.

	Manual has been reworked and extended.

	Legal-info: Lots of package annotations, CSV file fixes,
	_LICENSE / _REDISTRIBUTE splitup, per-package hooks.

	Updated/fixed packages: acpid, alsa-lib, alsa-utils,
	alsamixergui, attr, autoconf, automake, bash, bind, binutils,
	bison, blackbox, bluez-utils, busybox, cairo, can-utils,
	cifs-utils, cjson, cmake, collectd, connman, conntrack-tools,
	coreutils, cups, cvs, dbus, dhcp, directfb, dmalloc, dnsmasq,
	dropbear, e2fsprogs, ethtool, fbdump, feh, fftw, file,
	flashrom, fluxbox, gdb, gdisk, gdk-pixbuf, genext2fs, gettext,
	gnutls, gpsd, gqview, grep, gsl, gst-plugins-{bad,good},
	hdparm, hiawatha, hostapd, input-tools, iproute2, ipset,
	iptables, iw, json-c, kexec, kmod, lcdproc, leafpad, less,
	libcurl, libdrm, libdvdnav, libdvdread, libffi, libfuse,
	libglib2, libhid, liblockfile, libmad, libmbus, libmnl,
	libnetfilter_{acct,conntrack,cthelper,cttimeout,queue},
	libnfc, libnfc-llcp, libnfnetlink, libnl, libnspr, libnss,
	libpcap, libplayer, libtool, libtorrent, liburcu, libv4l,
	libxcb, libxml2, libxslt, links, linux-firmware, lm-sensors,
	lmbench, lockfile-progs, logrotate, lshw, lsof,
	lttng-babeltrace, lttng-tools, lua, luajit, mesa3d, microperl,
	mii-diag, module-init-tools, mpc, mpd, mpg123, mplayer,
	mtd-utils, mysql_client, nbd, ncurses, netatalk, netkitbase,
	netkittelnet, netsnmp, newt, nfs-utils, openntpd, openssh,
	openssl, opkg, patch, pciutils, pcre, php, poco, polarssl,
	popt, portmap, pppd, procps, pulseaudio, python, python-nfc,
	python-protobuf, qt, quota, rp-pppoe, rtorrent, sam-ba, samba,
	scons, sdl_gfx, smartmontools, sqlite, squid, strace, sudo,
	sylpheed, tcpdump, tremor, ttcp, tiff, unionfs,
	usb_modeswitch, usbutils, util-linux, vala, valgrind, vpnc,
	vsftpd, webkit, wget, which, wpa_supplicant, x11vnc, xapp_*,
	xdriver_*, xenomai, xfont_*, xinetd, xl2tp, xlib_*, xlsclient,
	xproto_*, xserver_xorg-server, xutil_util-macros, xz, zeromq

	New packages: arptables, at91bootstrap3, boot-wrapper-aarch64,
	ccid, cpanminus, cpuload, erlang, evtest, fb-test-apps,
	fxload, gdbm, gnupg, googlefontdirectory, grantlee, gsl,
	lcdapi, liblo, liblog4c-localtime, libtirpc, linux-pam,
	lua-msgpack-native, macchanger, mtdev, mtdev2tuio, nfacct,
	opus, opus-tools, pcsc-lite, perl, pkgconf, python-meld3,
	python3, qemu, qextserialport, qtuio, rpcbind, schifra,
	sconeserver, supervisor, time, ulogd, usb_modeswitch_data,
	yasm

	Deprecated packages: netkitbase, netkittelnet

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

	#807:  [PATCH] samba - make iconv and smbd optional
	#3049: binutils have a sysroot bug in ld
	#5330: update vsftpd to 3.0.0
	#5486: libglib2 build fails on: libs/libglib-2.0.so: undefined...
	#5666: Fails to build python 2.7.2 for 2440 arm

2012.08, Release August 31th, 2012

	Updated/fixed packages: microperl, cups, luajit, rrdtool,
	prboom, oprofile.

	Added license information for: sqlite.

	Changed the source URLs of all packages located on Sourceforge
	in order to use the automatic mirror selection URL
	downloads.sourceforge.net, and get rid of the
	BR2_SOURCEFORGE_MIRROR option.

2012.08-rc3, Released August 25th, 2012

	Updated/fixed packages: libglib2, netsnmp, freetype, libfuse,
	libpng, x11vnc, zlib, gpsd, ifplugd, bash, distcc.

	Added license informations for: barebox, grub, syslinux,
	uboot, xloader, yajl, zlib, zxing, alsa-lib, alsa-utils,
	faad2, nano, fbdump, rsync, librsync, fontconfig,
	inotify-tools,

2012.08-rc2, Released August 15th, 2012

	Updated/fixed packages: imagemagick, sudo, crosstool-ng.

	Added license informations for: mxml, nanocom, empty, expat,
	lua, lucjson, xinetd, cjson, luaexpat, lmbench, bwm-ng,
	input-event-daemon, luajit, cgilua, copas, coxpcall,
	luafilesystem, luasocket, rings, wsapi, xavante, libtpl,
	avahi, busybox, libfcgi, ifplugd, libcgicc, libcurl,
	libdaemon, libdnet, libgpg-error, libpcap, libpng, lighttpd,
	mtd, openssl, psmisc, socat, spawn-fcgi.

	Fixes to Microblaze external toolchains
	configuration. Improvements of the pkg-stats
	script. Out-of-tree fix for the graph-depends script.

	Kernel headers version bump.

2012.08-rc1, Released August 1st, 2012

	Fixes all over the tree and new features.

	Integration of a legal information reporting infrastructure,
	which allows to generate detailed informations about the
	licenses and source code of all components of a system
	generated by Buildroot. License information will progressively
	be added on packages.

	Default configuration files added for Calao-systems USB-A9263
	and Calao-systems USB-A9G20-LPW.

	External toolchains update: allow download of a custom
	toolchain, add Linaro 2012.05 and 2012.06 for ARM, add
	Blackfin toolchain 2012R1-BETA1, add Sourcery CodeBench MIPS
	2011.09.

	Allow the restriction of downloads to the primary site only.
        This is useful for project developers who want to ensure that
        the project can be built even if the upstream tarball
        locations disappear.

	Add a 'System configuration' choice to select between 3
	different init systems: Busybox init, SysV init and Systemd
	init.

	Cleanups to the package infrastructure. The visible change to
	developers is that $(eval $(call AUTOTARGETS)) is now $(eval
	$(autotools-package)), and similarly for other package
	infrastructures and host packages. Refer to the documentation
	for details.

	By default, automatic detection of the number of compilation
	jobs to use, depending on the number of CPUs available.

	Improvements to generate systems with static libraries only
	(infrastructure and package fixes).

	Add proper support in the Linux kernel package to generate
	Device Tree Blobs or combined Device Tree / Kernel
	images. This will be useful on Microblaze, PowerPC and ARM,
	which are architectures making extensive use of the Device
	Tree.

	Updated/fixed packages: audiofile, autoconf, automake, axel,
	barebox, bash, beecrypt, berkeleydb, bind, bison, bluez_utils,
	bonnie, boost, busybox, bsdiff, bwm-ng, bzip2, cifs-utils,
	cgilua, cmake, connman, conntrack-tools, crosstool-ng, cups,
	dbus, dhcp, dnsmasq, e2fsprogs, eeprog, ethtool, faad2, fbv,
	ffmpeg, freetype, gmp, gnutls, gob2, gpsd, grep,
	gst-plugins-base, gst-plugins-good, gzip, hiawatha, hostapd,
	htop, icu, igh-ethercat, imagemagick, input-tools, iostat,
	iproute2, ipset, iptables, iw, kmod, less, libcap, libgci,
	libconfig, libcurl, libelf, libevas, libeXosip2, libexif,
	libfuse, libidn, libmad, libmbus, libmnl,
	libnetfilter-conntrack, libnl, libnspr, libnss, libogg,
	libosip2, libpcap, libpng, libroxml, liburcu, libusb, libxml2,
	libxslt, lighttpd, linux, ltrace, lttng-libust, lttng-modules,
	lttng-tools, lua, m4, memtester, midori, mii-diag,
	module-init-tools, mpfr, mpg123, mrouted, msmtp, mtd, mxml,
	mysql_client, nasm, nbd, ncurses, nfs-utils, opencv, openocd,
	openssl, pciutils, php, polarssl, portaudio, pppd,
	pthread-stubs, pulseaudio, qt, quagga, quota, radvd, rpm,
	rrdtool, samba, sam-ba, scons, sdl_gfx, sdl_sound, speex,
	sqlite, squashfs, squid, sudo, synergy, syslinux, systemd,
	tar, tcpdump, tcpreplay, udev, usbutils, valgrind, wget,
	wpa_supplicant, wsapi, xavante, xserver_xorg-server, zlib

	New packages: cjson, collectd, dfu-util, dmidecode, elftosb,
	fbterm, flashrom, freerdp, inadyn, libfreefare,
	libnetfilter_cttimeout, libnfc, libnfc-llcp, liboping,
	libtorrent, linphone, logsurfer, lshw, luacjson, luaexpat,
	luajit, mediastreamer, mobile-broadband-provider-info, monit,
	mxs-bootlets, nanocom, nss-mdns, ofone, omap-u-boot-utils,
	opkg, ortp, owl-linux, python-id3, python-nfc, quota,
	ramspeed, rtorrent, sound-theme-borealis,
	sound-theme-freedesktop, sysprof, webrtc-audio-processing,
	xinetd, zxing

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

	#1315: Allow use of older external toolchains without sysroot
               support [won't fix]
	#5276: Hiawatha needs to manage IPV6 if so [fixed]
	#5360: buildroot fails when building "host-libglib2 2.30.2
               Building" [won't fix, upstream problem]
	#5384: Can't build packages relying on gets on newer glibc
               [fixed]

2012.05, Released May 30th, 2012:

	Updated/fixed packages: busybox, netsnmp, pptp-linux

2012.05-rc3, Released May 25th, 2012:

	Minor fixes around the tree.

	Infra: Fix for DOWNLOAD macro when using primary mirrors with
	scp targets.

	Toolchain: Kernel headers 3.2.18 / 3.3.7.

	Updated/fixed packages: binutils, bison, busybox, cifs-utils,
	gnuchess, gpsd, iperf, libmpeg2, mtd, ntfs-3g, oprofile,
	xserver-xorg

2012.05-rc2, Released May 18th, 2012:

	Fixes all over the tree.

	Toolchain: uClibc: Use 0.9.33.2, Crosstool-ng: fix gperf
	dependency, disable decimal floats support, Linux 3.2.17 /
	3.3.6 kernel headers. Fix sysroot copy handling for toolchains
	without C++ support.

	Updated/fixed packages: apr, apr-util, ccache, dnsmasq,
	heirloom-mailx, gdb, ndisc6, opencv, openssl, socat, vala

2012.05-rc1, Released May 10th, 2012:

	Fixes all over the tree and new features.

	Use /etc/os-release for version info rather than
	/etc/br-version.

	CMake toolchain file moved to $HOST_DIR/usr/share/buildroot.

	Apply-patches.sh: cleanups, archived patches handling fixes,
	support series files.

	Defconfigs: beaglebone, mx53qsb, pandaboard, qemu configs for
	arm-vexpress/microblaze/ppc-mpc88544ds, use 3.2.x for
	atngw100, use 3.3.x for qemu configs.

	Menu structure: Libraries moved out of multimedia section

	Atom processor support. Prescott fix, blackfin ABI fix,
	Microblaze architecture support (using ext toolchain). Cleanup
	architecture names, deprecate Xtensa support.

	Toolchain: Add GCC 4.4.7, 4.6.3, 4.7.0. uClibc 0.9.33.1,
	default to uClibc 0.9.33.x, enable
	UCLIBC_SUPPORT_AI_ADDRCONFIG by default, static and 64bit
	fixes for external toolchains, linaro ext toolchains, new
	sourcery codebench ext toolchains, GDB 7.4.1, crosstool-ng
	1.15.2.

	Bootloaders: U-Boot: add 2012.04.01, SPL and u-boot.img
	support. Barebox: add 2012.04, remove 2011.12.

	Updated/fixed packages: alsa-lib, alsa-utils, at, atk, avahi,
	barebox, berkeleydb, bind, bluez_utils, boost, busybox,
	can-utils, ccache, cifs-utils, coreutils, cups, dbus, dhcp,
	directfb, dnsmasq, doom-wad, dosfstools, e2fsprogs, expat,
	fakeroot, feh, ffmpeg, file, fis, freetype, gamin, gawk,
	gdk-pixbuf, gettext, giblib, glib-networking, gmp, gnutls,
	gpsd, grep, gstreamer, gst-plugins-{bad,base,good,ugly},
	haserl, hdparm, imagemagick, iproute2, iptable, iw, kexec,
	kmod, lame, libaio, libarchive, libatomic_ops, libconfig,
	libcurl, libdvdnav, libdvdread, libedbus, libethumb, libffi,
	libfuse, libglib2, libgtk2, libhid, libmad, libmbus, libmpeg2,
	libnl, libplayer, libpng, libsigc, libsoup, libupnp, liburcu,
	libusb, libusb-compat, libxml2, libxml-parser-perl, libxslt,
	lighttpd, linux-firmware, linux-fusion, lite, lsof, ltrace,
	lttng-libust, lua, m4, makedevs, microperl, mpd, mpfr, mpg123,
	mrouted, mtd, mysql_client, nbd, ncftp, ncurses, neon,
	netsnmp, network-manager, nfs-utils, ngrep, ntfs-3g, openntpd,
	openssh, openssl, parted, pango, pcre, php, pixman, poco,
	psmisc, pulseaudio, python, qt, quagga, radvd, rpm, rsync,
	ruby, samba, sam-ba, sane-backends, sawman, screen, sdl_net,
	smartmontools, speex, sqlite, squashfs3, squid, sshfs, sudo,
	syslinux, sysstat, taglib, tcpdump, tftp-hpa, transmission,
	tiff, tinyhttpd, uboot-tools, udev, uemacs, unionfs, usbutils,
	util-linux, vala, valgrind, vim, vsftpd, wget, wipe,
	wpa_supplicant, xdriver_xf86-{input-vmmouse,video-fbdev},
	xfsprogs, zlib

	New packages: apr, apr-util, audiofile, bellagio,
	conntrack-tools, empty, fmtools, glib-networking,
	heirloom-mailx, hiawatha, latencytop, lcdproc, libcap-ng,
	libdmtx, libfcgi, libnetfilter_conntrack, libnfnetlink,
	libtpl, localedef, minicom, msmtp, ndisc6, netatalk,
	ocf-linux, openswan, parted, polarssl, protobuf, read-edid,
	socketcand, stress, systemd, ushare, zeromq

	Deprecated packages: ttcp

	Removed packages: ntfsprogs

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

	#2353: [lua] fix build with 2010.08-rc1
	#2503: Microperl fails build on MIPSel or with Fedora13.x86_64
	#2557: [PATCH] mkfs.xfs complains about missing libxfs.so.0
	#2881: Can't build project statically with external toolchain
	#3751: MIPS: fix BR2_GCC_TARGET_ABI for MIPS n64
	#4808: ccache may build against wrong zlib
	#4880: New package lcdproc
	#4886: New package protobuf
	#4892: build fails on ltp-testsuite-20101031/testcases/kernel/fs/...
	#4898: * make: [target-finalize] Error 1 (ignored)*
	#4985: Qt 4.7.4 build crashes with Linux 2.6.29
	#4970: udev 181 fails to build if kernel version 3.3 is selected
	#5018: dialog broken: exits with assert in uClibc
	#5102: qt package moc, uic, rcc read from wrong place
	#5144: Patch to fix ixon bug in uemacs
	#5198: Line graphics output is broken in GNU Screen
	#5204: Missing terminfo file(s) for GNU screen terminal type

2012.02, Released February 29th, 2012:

	Updated/fixed packages: libecore

2012.02-rc3, Released February 27th, 2012:

	Fixes all over the tree.

	Automatic host dependencies handling for cmake packages
	fixed. Customize package deprecated as using a post-build
	script is nowadays the preferred way of adding extra stuff to
	the rootfs.

	Linux-headers 3.0.x / 3.2.x stable version bumped.

	QEMU defconfigs updated to 3.2.x kernels and readme fixed.

	Updated/fixed packages: dropbear, ffmpeg, libpng

2012.02-rc2, Released February 19th, 2012:

	Fixes all over the tree.

	Toolchain: uClibc: Added upstream post-0.9.33 fixes, Bump
	linux-headers 3.0.x / 3.2.x stable versions.

	Documentation: Added makedev / <pkg>_DEVICES /
	<pkg>_PERMISSIONS documentation.

	Updated/fixed packages: busybox, ffmpeg, gst-dsp, libecore,
	libvncserver, mxml, python.

2012.02-rc1, Released February 12th, 2012:

	Fixes all over the tree and new features.

	Toolchain: Default to GCC 4.5.x, add binutils 2.22. Java
	support removed, Powerpc SPE ABI support. GDB ELF support fix,
	GDB 7.4, crosstool-NG 1.13.4.

	Gentargets: scp and mercurial support.
	Autotools: derive host dependencies from target by default.
	Packages can now declare device table snippets.

	Host utilities menu with commonly used host tools.

	defconfigs: qemu configs for x86-64, mips and sparc, at91
	defconfigs now use modern U-Boot / mainline Linux, added
	lpc3250 defconfigs.

	uClibc: remove 0.9.30, backport unshare() support, add
	0.9.32.1 / 0.9.33, use same config for ctng.

	Bootloaders: U-Boot: add 2011.12, remove 2010.xx versions,
	Barebox: add 2012.01/02, remove 2011.10/11, LPC32xx
	bootloaders added.

	Various manual updates. Release tarballs now contain generated
	manual in text/html/pdf formats.

	Buildroot now calls the stop function of scripts in
	/etc/init.d at shutdown.

	Updated/fixed packages: atk, avahi, barebox, bash, beecrypt,
	bind, binutils, bison, bluez_utils, bzip2, busybox, cairo,
	ccache, cdrkit, coreutils, cramfs, dbus, dbus-glib, dialog,
	diffutils, dmalloc, dropbear, e2fsprogs, ebtables, ed,
	ethtool, expat, ffmpeg, file, fis, flex, fluxbox, fontconfig,
	freetype, gawk, grep, gst-dsp, gst-ffmpeg, gst-plugins-base,
	hdparm, hostapd, htop, i2c-tools, icu, iproute2, ipsec-tools,
	ipset, iptables, iw, jpeg, kismet, lame, libcap, libcgi,
	libev, libeXosip2, libffi, libftdi, libgpg-error, libgtk2,
	libidn, libmms, libmnl, libmodbus, libnl, libogg, libosip,
	libpcap, libpng, libraw1394, libroxml, libusb, libusb-compat,
	libv4l, libvorbis, libxcb, libxml-parser-perl, libxslt,
	lighttpd, links, lm-sensors, lua, m4, module-init-tools, mpc,
	mesa3d, mpd, mpfr, mplayer, mtd-utils, nano, nbd, ncurses,
	netperf, netsnmp, ntp, opencv, openocd, openssl, openvpn, orc,
	pciutils, pcre, pixman, pkg-config, poco, popt, proftpd,
	python, python-serial, qt, ruby, samba, sdl, sdparm,
	squashfs3, sshfs, sqlite, squid, sudo, syslinux, tcl, tcpdump,
	ti-utils, tiff, tremor, uboot, uboot-tools, udev, usbmount,
	util-linux, vala, valgrind, vsftpd, wpa_supplicant,
	xapp_{bdftopcf,mkfontdir,mkfontscale,xkbcomp,xcursorgen,xinit},
	xapp_xinput, xapp_xman, xcb-util, xdm, xenomai,
	xf86-video-sis, xfont_{encodings,font-util},
	xlib_lib{fontenc,X11,Xau,Xcursor,Xdmcp,Xfixes,Xfont,Xrender},
	xlib_libxkbfile, xterm, xutil_makedepend, yajl

	New packages: boost, connman, dstat, expedite, explorercanvas,
	feh, flot, giblib, igh-ethercat, imlib2, jquery,
	jquery-sparklines, jquery-validation, jsmin, kmod, libecore,
	libedbus, libedje, libeet, libeina, libelementary, libesmtp,
	libethumb, libevas, libical, libmbus, liboauth, liburcu,
	libvncserver, linux-firmware,
	lttng-{babeltrace,libust,modules,tools}, NetworkManager,
	open2300, python-distutilscross, python-dpkt,
	python-netifaces, python-pygame, python-setuptools, rt-tests,
	sam-ba, sane-backends, sqlcipher, transmission, unionfs,
	xf86-input-tslib, xinput-calibrator

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

	#743:  Add Transmission bit torrent option to buildroot
	#755:  Add Boost libraries as a package
	#2299: Add crypto support to libsoup
	#2617: Pixman 0.19.2 & Cairo 1.10.0
	#3403: libgpg-error: bump to version 1.10
	#3409: libgpg-error: download from gnupg.org
	#3421: nano: make tiny flag optional
	#3691: New EFL packages
	#4664: Cannot patch AT91Bootstrap
	#4700: setlocalversion not working for combination svn/ubuntu 11.10...
	#4760: Qt: add host-pkg-config to dependency-list

2011.11, Released November 30th, 2011:

	Fixes all over the tree.

	Bump kernel headers / default Linux version to 3.1.4.

	Updated/fixed packages: ruby

2011.11-rc3, Released November 26th, 2011:

	Fixes all over the tree.

	Toolchain: Fix gdb dependencies for external toolchains,
	adjust uClibc patches so they don't confuse modern versions of
	patch, bump crosstool-ng, kernel headers and linux versions.

	Updated/fixed packages: busybox, freetype, mplayer, opencv,
	php, rsyslog, ruby, thttpd, xapp_xf86dga

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

	#4357: Prevent patch commands from accessing source control
	#4369: Fix permissions on untared lsof archive

2011.11-rc2, Released November 18th, 2011:

	Fixes all over the tree and new features.

	Updated asciidoc documentation

	Toolchain: Bumped 3.x stable kernel headers, use wget in
	crosstool-ng as well, bump crosstool-ng version, gdb fixes,
	uClibc sparc fix.

	Updated/fixed packages: distcc, file, gst-plugins-bad, libxcb,
	mplayer, newt, qt, rpm, rrdtool, tar, tftpd

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

	#3355: mplayer fails to build
	#4021: uClibc: undefined reference to `__GI___errno_location'
	#4297: Qt's qmake uses wrong pkg-config

2011.11-rc1, Released November 11th, 2011:

	Fixes all over the tree and new features.

	Moved misc scripts and support stuff to support/. Renamed
	patch-kernel.sh to support/scripts/apply-patches.sh.

	Documentation: Moved to asciidoc format, make targets to
	generate text/html/pdf/epub output added.

	Defconfigs: Qemu configs updated to 3.1 kernel and readmes
	added.

	Bootloaders: Add support for custom git tree / tarballs for
	barebox, similar to how it's handled for u-boot. Clean up
	menuconfig options.

	Toolchain: Update external codesourcery toolchain download
	URLs after Codesourcery got bought by Mentor, add x86
	toolchain, update toolchain versions and optimize toolchain
	sysroot copying. Fix uClibc 0.9.32 builds for e500 PPC,
	updated GDB versions / download URLs. Binutils
	libbfd/libopcodes static/dynamic linking fix. GCC 4.6.2 added,
	use ctng-1.13.0.

	Package infrastructure: Support for local packages /
	overrides, package dir / name arguments dropped from
	{GEN,AUTO,CMAKE}TARGETS.

	Linux: Kernel extensions infrastructure support, Xenomai +
	RTAI support.

	Updated/fixed packages: acpid, bind, busybox, dash, dbus,
	dbus-glib, directfb, dnsmasq, drystone, e2fsprogs, ethtool,
	fakeroot, fbdump, file, freetype, fuse, gamin, gmp, gmpc,
	gnutls, gob2, gst-plugins-{base,bad,good,ugly}, gstreamer,
	hostapd, ifplugd, imagemagick, intltool, ipsec-tools, ipset,
	iptables, iw, jpeg, kexec, leafpad, less, libargtable2, libao,
	libconfuse, libcuefile, libcurl, libdaemon, libevent,
	libglib2, libiconv, libmpd, libreplaygain, libroxml,
	libsamplerate, libsndfile, libsoup, libsvgtiny, libtool,
	libxcb, lighttpd, links, linux-fusion, lite, lrzsz, lsof, lzo,
	lzop, makedevs, mcookie, mpg123, mpd, mpfr, mtd, musepack,
	mutt, mysql_client, ncftp, ncurses, neon, netcat, netsnmp,
	ntfs-3g, ntfsprogs, ntp, openntpd, openssh, openssl, oprofile,
	orc, pciutils, psmisc, python, qt, quagga, radvd, rpm, rsync,
	samba, sawman, sdl_sound, smartmontools, sqlite, squid,
	stunnel, sudo, sylpheed, sysstat, taglib, tar, tcpreplay,
	tslib, usbutils, util-linux, valgrind, wget, whetstone, which,
	wpa-supplicant, xdata_xcursor-themes, xmlstarlet, xterm

	New packages: bluez-utils, cifs-utils, fftw, fluxbox, json-c,
	libev, libftdi, libgeotiff, libmodbus, libplayer, live555,
	ngrep, noip, opencv, openocd, picocom, poco, portaudio,
	pulseaudio, pv, rtai, vala, xenomai.

	Removed packages: liboil, sfdisk, swfdec, webif

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

	#505:  live555: new package
	#507:  Enable live and tv options in MPlayer-1.0rc2
	#531:  let e2fsprogs package to export headers to staging dir if needed
	#1171: Linuxthreads new cannot find sysdep.h
	#1357: Add bluez to buildroot system
	#2107: New package: input-event-daemon
	#2599: New package: orc (Oil Runtime Compiler)
	#2605: gstreamer: Update to 0.10.30
	#2677: introducing util-linux-ng as replacement for util-linux
	#2917: Qt: Add declarative module
	#3145: jffs2 image generation fails
	#3271: netperf-2.4.5 fails to compile
	#3331: xdata_xcursor-themes depends on xcursorgen
	#3343: Add file:// download SITE_METHOD
	#3391: Add support for specifying an external kernel tree
	#3631: Error while compiling with Xorg
	#3709: oprofile doesn't build for mipsel
	#3925: midori not getting compile
	#4045: Add support for downloading i386 toolchains from codesourcery
	#4165: lrzsz-fix-symlink-at-rebuild.patch
	#4171: makedevs-unused-but-set-variable.patch
	#4183: Codesourcery toolchain download site has changed
	#4231: libneon.so: undefined reference to `SSL_SESSION_cmp'
	#4381: Add option to lighttpd to enable Lua support
	#4387: Make sure that dest dir exists before installing mtd files

2011.08, Released August 31th, 2011:

	Fixes all over the tree.

	Toolchain: Fix codesourcery 2009q3 ARM download, Linux 3.0.4
	kernel headers.

	Updated/fixed packages: ipset, python

2011.08-rc2, Released August 29th, 2011:

	Fixes all over the tree.

	Toolchain: crosstool-NG 1.12.1, use binutils 2.21 on
	mips/sh/older uClibc, disallow uClibc 0.9.32 on avr32/sh
	(broken).

	Defconfigs: kernel updates, fix mini2440 serial port config,
	remove old arm toolchain configs.

	Bootloaders: Fix grub patching, add barebox-{n,x,menuconfig}
	targets similar to linux/busybox.

	Updated/fixed packages: barebox, directfb, libsoup,
	libxml-parser-perl, mtd, ncurses, python, ti-utils, udev,
	usbmount, util-linux, xfont_font-misc-misc

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

	#3685: ncurses installation hangs due to old version of tic
	#4093: Grub fails to install bz2 patch after conversion to...

2011.08-rc1, Released August 4th, 2011:

	Fixes all over the tree and new features.

	Toolchain: uClibc 0.9.32 / NPTL support, 0.9.29 removed,
	ext-toolchain-wrapper improvements, improved non-MMU
	support. GCC 4.3.6 / 4.6.1.

	GENTARGETS infrastructure extended to cover bootloaders and
	Linux kernel as well. Options to retrive Linux/U-Boot from a
	custom git repo instead of upstream tarballs.
	Support for Linux 3.x and release candidate tarballs.
	X-Loader bootloader for omap added.

	Make source/external-deps now also works for external
	toolchains / crosstool-ng backend.

	Updated/fixed packages: autoconf, berkeleydb, bind, binutils,
	bmon, bridge-utils, busybox, cmake, dbus, dbus-glib,
	e2fsprogs, ethtool, ffmpeg, gst-plugins-{bad,base,good,ugly},
	gvfs, hostapd, iproute2, iptables, iw, jpeg, lame, libarchive,
	libdnet, libdrm, libgcrypt, libgtk2, libmpeg2, libpng,
	libsoup, lighttpd, linux-fusion, lzo, midori, mtd-utils,
	nfs-utils, openvpn, oprofile, orc, pkg-config, proftpd, qt,
	ruby, samba, sdl, shared-mime-info, sudo, sqlite, squid,
	synergy, udev, usbmount, usbutils, util-linux, valgrind,
	webkit, xorg-xserver, xz, zlib

	New packages: acl, attr, ebtables, gnutls, inotify-tools,
	ipset, libargtable2, libiqrf, libmnl, libnspr, libnss,
	libroxml, libyaml, live555, mxml, orc, rsyslog, sredird,
	statserial, stunnel, ti-utils, uboot-tools, yajl

	Deprecated packages: liboil, swfdec

	Removed packages: hal

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

	#3559: libnspr: Add new package
	#3595: patch to add libroxml
	#3565: libnss: Add new package
	#3583: xfonts_font-adobe-100dpi fails due to missing map file
	#3649: [PATCH] Add mapdir to existing pkg-config patch
	#3907: 2011.05 - Qt 4.7.3 not building on ARM
	#3961: Nfs-utils: Remove SUSv3-function index
	#3985: "help" target's defconfig list needs sort
	#3997: bump libroxml to v2.1.0

2011.05, Released May 27th, 2011:

	Updated/fixed packages: makedevs

2011.05-rc2, Released May 24th, 2011:

	Fixes all over the tree.

	Toolchain: Code sourcery ARM 2009q1 download URL fixed /
	2009q3 external toolchains added. Crosstool-NG bumped to
	1.11.3, eglic/glibc configuration fixes. Linux kernel 2.6.38.x
	bumped to 2.6.38.7.

	Updated/fixed packages: bind, fakeroot, kbd, psmisc, qt

2011.05-rc1, Released May 18th, 2011:

	Fixes all over the tree and new features.

	External toolchain improvements: We now build a binary
	toolchain wrapper and install it into HOST_DIR/usr/bin, which
	enforces the correct compiler arguments, making an external
	toolchain as easy to use outside of Buildroot as the internal
	ones are. This also brought a cleanup of CFLAGS, making the
	Buildroot build output easier to read.

	Rootfs device handling improvements: Choice between static
	/dev, devtmpfs and devtmpfs with either mdev or udev.

	Toolchain: More preconfigured codesourcery external
	toolchains, improved Crosstool-NG support, fix for GCC
	snapshot versions, GCC 4.4.6 / 4.5.3, experimental GCC 4.6.0
	support, target-GCC fixes, uClibc fixes, 0.9.32-rc3 support.

	Bootloaders: U-boot 2011.03, Barebox 2011.05.0

	Linux: support for custom kernel image targets, E.G. for
	powerpc builds with embedded device trees.

	Misc fixes for qemu defconfigs, ensuring correct serial
	terminal setup out of the box.

	Misc gentarget / autotools handling fixes.

	Updated/fixed packages: alsa-lib, alsa-utils, alsamixergui,
	atk, avahi, bind, bison, busybox, copas, dbus-glib, dhcp,
	dhcpdump, dnsmasq, dropbear, ethtool, fakeroot, ffmpeg, file,
	gamin, gnuconfig, gst-ffmpeg, gst-plugins-good, gtk2-engines,
	haserl, hostapd, icu, imagemagick, iproute2, iw, kismet, less,
	libcap, libdnet, libglade, libglib2, libgtk2, libnl, libpng,
	libxml2, libxml2, libxslt, lighttpd, lockfile-progs, makedevs,
	midori, mpg123, mpc, mpd, mpfr, mplayer, mtd-utils, ncurses,
	netsnmp, openssh, openssl, openvpn, pango, pkg-config, popt,
	procps, proftpd, qt, quagga, readline, rsync, samba, sdl,
	socat, squashfs, squid, sudo, tslib, udev, usbutils, webkit,
	wpa_supplicant, xerces, xfont_font-misc-misc, xlib_libX11,
	xlib_libXfont, xlib_xtrans, xorg-server, xterm, xz

	New packages: bonnie++, can-utils, gdisk, htop,
	input-event-daemon, libexif, libraw, libv4l, ngircd

	Removed packages: festival

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

	#2131: Add OpenMP support to the toolchain
	#3379: New Package: bonnie++
	#3445: Not working openssl-10.0.0d on 386sx
	#3451: fakeroot package: wrong FAKEROOT_SITE variable
	#3457: alsamixergui: broken URL
	#3475: Calling sync on large filesystems when not always necessary
	#3511: make busybox-menuconfig does not download busybox package
	#3541: Quotes in the top Makefile:217 break buildroot/kernel config...
	#3571: u-boot: fw_printenv does not build
	#3643: popt source url is not responding
	#3733: dropbear: make zlib optional
	#3757: Buildroot can't build mplayer with libmad

2011.02, Released February 28th, 2011:

	Fixes all over the tree.

	Updated/fixed packages: alsamixergui, avahi, ffmpeg, icu, mpd,
	nuttcp, qt, slang, squashfs, sylpheed, synergy, xerces

	Deprecated packages: devmem2, webif

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

	#2911: Qt: Disable qt3support-option, if gui-module isn't selected
	#3259: Unable to build webkit (on arm)
	#3295: slang fails to build on mipsel
	#3325: ffmpeg fails to build

2011.02-rc2, Released February 24th, 2011:

	Fixes all over the tree.

	Festival packages marked as broken. Unless someone steps up
	to support them, they will be removed during the 2011.05
	development cycle.

	Updated/fixed packages: atk, avahi, bind, cairo, dbus,
	enchant, fakeroot, gmpc, gpsd, gvfs, iperf, jpeg, libarchive,
	libcgicc, libdaemon, libdrm, libevent, libgail, libglib2,
	libgpg-error, libmicrohttpd, librsvg, libsoup, libxcp,
	makedevs, matchbox-fakekey, matchbox-startup-monitor, mdadm,
	metacity, mpd, nasm, nfs-utils, olsr, openssl, popt,
	pthread-stubs, quagga, rpm, samba, sdl, sdl_gfx, sdl_image,
	sdl_mixer, sdl_sound, sdl_ttf, squashfs, synergy, taglib,
	tcpreplay, tiff, wpa_supplicant, xcb-util,
	xdriver_xf86-input-{acepad,aiptek,evdev,joystick,keyboard},
	xdriver_xf86-input-{mouse,synaptics,void},
	xdriver_xf86-video-{chips,dummy,geode,glide,intel,nv,wsfb},
	xlib_lib{ICE,SM,XScrnSaver,Xau,Xcursor,Xdmcp,Xi,Xinerama},
	xlib_lib{Xrandr,Xt,Xtst,Xxf86dga,Xxf86vm,dmx,fontenc,pciaccess},
	xserver_xorg-server, xz

	Removed packages: ace_of_penguins, vlc

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

	#3205: Failing chmod when running "make" in buildroot (openssl)...
	#3277: quagga fails to build with SNMP support
	#3283: See why nfs-utils needs fakeroot, and convert to autotools
	#3307: synergy fails to build due to missing XTest library

2011.02-rc1, Released February 14th, 2011:

	Fixes all over the tree and new features.

	External toolchain improvements: clarification of the options,
	and introduction of the toolchain profile concept, for
	well-known toolchains. Buildroot is now capable of
	automatically downloading and extracting well-known toolchains
	(for the moment, CodeSourcery ARM, PowerPC, MIPS and SuperH
	toolchains are supported). Crosstool-NG backend updated and
	improved.

	Complete rework of how hardware boards are supported.
	Each board now only has a single defconfig file, and all
	board-specific options have been removed. See
	docs/buildroot.html#board_support for details.

	Added support for the following boards: Mini2440, Qemu ARM
	Versatile, Qemu MIPSel Malta, Qemu PowerPC G3beige, Qemu SH4
	r2d and Qemu x86. The Qemu boards support allows to easily
	build systems that are known to work under Qemu.

	Initial support for Blackfin processors.

	Staging directory moved into $(O)/host/usr/<tuple>/sysroot, in
	preparation for support of SDK. For the same reason, the
	toolchain binaries (cross-compiler and other related tools)
	are now installed in $(O)/host/usr/bin/. The cross pkg-config
	now also automatically returns correct values for cross
	compilation, without needing any environment variables to be
	set.

	Ccache support reworked. Now used for both host and target
	compilation, and cache is stored in ~/.buildroot-ccache.

	Toolchain: uClibc 0.9.32-rc2, several components moved to
	normal AUTOTARGET packages.

	Generic cmake infrastructure, similar to the existing
	GENTARGETS/AUTOTARGETS.

	Support for bzr downloads, next to the existing git/svn support.

	Kconfig infrastructure rebased against 2.6.38-rc3, bringing
	misc fixes. 'xconfig' now uses Qt4 rather than Qt3.

	EXT2 file system size handling improved, UBI image support, fs
	configuration options cleanup, U-Boot/Barebox version bumps.

	Updated/fixed packages: alsa-utils, at, autoconf, automake,
	bash, binutils, bison, busybox, bzip2, cdrkit, cloop, cmake,
	coreutils, cups, dbus, dbus-python, dhcp, directfb,
	direcfb-examples, dmalloc, dnsmasq, dosfstools, e2fsprogs, ed,
	fbset, ffmpeg, findutils, flac, freetype, gdk-pixbuf, gmp,
	grep, gperf, gst-ffmpeg, gst-plugins-bad, gst-plugins-base,
	gst-plugins-good, gst-plugins-ugly, gstreamer, gvfs, hdparm,
	hostapd, i2c-tools, icu, imagemagick, input-tools, iproute2,
	iptables, iw, jpeg, kexec, libaio, libart, libcap, libconfig,
	libfuse, libglib2, libidn, libmad, libogg, libpcap, libpng,
	libsndfile, libtheora, libtool, libusb-compat, libvorbis,
	libxcb, libxml2, libxslt, links, linux-fusion, lm-sensors,
	lsof, ltp-testsuite, ltrace, lvm2, lzo, m4, makedevs,
	memtester, mesa3d, mii-diag, mpc, mpfr, mpg123, mplayer,
	mrouted, mtd-utils, nano, netperf, netplug, ntfs-3g, ntp,
	openssh, openssl, openvpn, oprofile, pango, patch, pciutils,
	php, pkgconfig, portmap, psmisc, python, qt, rsync, ruby,
	sawman, screen, sdl_gfx, sdl_sound, smartmontools, socat,
	sqlite, squid, sshfs, sstrip, sysklogd, sysstat, sysvinit,
	tar, tcpdump, tslib, udev, usbutils, vim, vtun, webkit, wipe,
	x11vnc, xapp_xlogo, xcb-proto, xfont_font-util,
	xkeyboard-config, xlib_libX11, xz, zlib

	New packages: dhrystone, dsp-tools, faad2, fbgrab, gst-dsp,
	gst-omapfb, irda-utils, lame, libao, libcue, libcuefile,
	libffi, libhid, libreplaygain, libsamplerate, libsigc++,
	lsuio, mpd, musepack, python-mad, python-serial, rsh-redone,
	sdparm, tidsp-binaries, vorbis-tools, wavpack, whetstone,
	xl2tp, xmlstarlet

	Removed packages: hotplug, l2tp, libfloat, microcom,
	ng-spice-rework

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

	#267:  The make target: cross fails because toolchain_build_...
	#415:  Berkeley DB: mut_pthread.o: relocation R_X86_64_32 against...
	#561:  ltp-testsuite failed to install
	#1447: Installing gfortran on PowerPC
	#1651: Build fail caused by ccache in module-init-tools
	#1681: Cross-compiled binaries shouldn't be installed into staging
	#1723: [PATCH] axel: convert to generic package infrastructure and...
	#1735: [PATCH] mplayer: convert to autotools infrastructure
	#2551: [PATCH] native toolchain in the target filesystem fails
	#2623: buildroot-snapshot-20100922 fails when compiling development...
	#2647: makedevs package lacks support for 16-bit major/minor numbers
	#2371: QT MYSQL Module does not build when MySQL installed on the host
	#2839: compile fails in various packages with a odd message "error:...
	#2887: tar "buffer overflow detected" error
	#2893: Broken "make source" with external toolchain
	#2905: Qt: Speed up compilation, if gui-module isn't selected
	#2929: genext2fs: couldn't allocate a block (no free space)
	#2935: Ntpdate isn't installed
	#2965: Broken linkage to xkbcomp (blocking X server startup)
	#2983: xlib_libX11 build failed
	#3007: kexec doesn't build: Missing regdef.h file
	#3085: Init scripts are not compatible with sysVinit (when busybox...
	#3103: make external-deps wants to download gcc-.tar.bz2 when...
	#3109: abnormal `make busybox-menuconfig`
	#3115: How about board specific makefiles?
	#3169: python patch has typo, aborts build in scenario
	#3181: dhcp.mk copies S80dhcp-server to etc/init.d, not etc/init.d/

2010.11, Released November 30th, 2010:

	Fixes all over the tree.

	Updated/fixed packages: libgcrypt, qt, squid, sysstat, tcpdump,
	xserver-xorg

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

	#2773: squid with openssl support needs openssl on the host
	#2857: OBJDUMP definition is missing from TARGET_CONFIGURE_OPTS

2010.11-rc2, Released November 25th, 2010:

	Fixes all over the tree.

	Add support for LEON Sparc architecture variants. Fix make
	source/external-deps for host packages.

	Updated/fixed packages: bash, bind, busybox, dialog, gpsd,
	libglib2, libcurl, libmad, lrzsz, midori, module-init-tools,
	mtd-utils, openssh, openssl, pciutils, php, qt, sqlite,
	sysstat, webkit, zlib

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

	#759:  Sysstat build broken without libintl
	#2479: host-module-init-tools 3.11 fails to build
	#2725: Buildroot overrides kernel config
	#2785: mtd-utils build fails due to missing libmtd
	#2791: Added PHP-Process Control to the PHP-Package
	#2797: pciutils dependencies on zlib not taken into account
	#2809: failed to compile libglib2
	#2821: [PATCH] Patch for JavaScriptCore in QtWebKit module
	#2827: qt-4.7.0-pthread_getattr_np.patch invalid for qt 4.6...
	#2833: Failed to compile webkit without X11

2010.11-rc1, Released November 8th, 2010:

	Fixes all over the tree and new features.

	Kconfig infrastructure rebased against 2.6.36-rc1, bringing
	misc fixes + nconfig and savedefconfig targets.

	Toolchain: ARM cortex A9 support, experimental crosstool-ng
	backend, GCC 4.5.x.

	Fs: Squashfs 4.1 with lzo support

	Old-style package hooks (*_HOOK_POST_*) removed. Use the more
	generic new-style ones instead.

	Download handling reworked and support for git/svn downloads
	added.

	Removed experimental shared config.cache support, as it is
	too unreliable.

	A convenience Makefile wrapper is created when using
	out-of-tree building, similar to how it is done for the kernel.

	Alpha, Cris, IA64 and Sparc64 architecture support removed.

	New packages: argp-standalone, gdk-pixbuf, gpsd, gst-ffmpeg,
	libmpeg2, kbd, librsvg, nuttcp, rng-tools, rrdtool, xz

	Updated/fixed packages: acpid, alsa-lib, argus, at, autoconf,
	automake, avahi, axel, beecrypt, berkeleydb, bind, bmon, boa,
	bootutils, bridge-utils, bsdiff, busybox, cvs, dbus, directfb,
	dmraid, docker, dosfstools, dropbear, e2fsprogs, ethtool,
	expat, ezxml, fbset, fconfig, ffmpeg, freetype, gadgetfs-test,
	gamin, gawk, genext2fs, gperf, gst-plugins-base,
	gst-plugins-ugly, gtk2-themes, gtkperf, gvfs, haserl, hdparm,
	hostapd, hwdata, ifplugd, imagemagick, iperf, ipsec-tools,
	iproute2, iptables, iw, jpeg, kexec, kismet, less, libcgi,
	libcurl, libdaemon, libdnet, liberation, libevent, libeXosip2,
	libglade, libgtk2, libiconv, libidn, libintl, libmms, libmpd,
	libnl, liboil, libosip2, libpcap, libpng, libtool, libungif,
	libxml2, libxslt, lighttpd, lite, lm-sensors, lockfile-progs,
	logrotate, m4, matchbox, mdadm, mesa3d, metacity, mplayer,
	mtd-utils, mysql_client, nano, nbd, ncftp, neon, netperf,
	netsnmp, ng-spice-rework, ntfsprogs, ntp, openntpd, openssh,
	openssl, openvpn, oprofile, pango, patch, pcre, php,
	pkg-config, portmap, pppd, pptp-linux, prboom, proftpd, radvd,
	rdesktop, readline, rp-pppoe, ruby, qt, quagga, samba, sawman,
	sdl_mixer, sdl_sound, sed, setserial, shared-mime-info, slang,
	speex, sqlite, squashfs, startup-notification, strace,
	sylpheed, sysstat, taglib, tcpdump, thttpd, tiff, tn5250,
	torsmo, tslib, udev, udpcast, usbmount, usbutils, vsftpd,
	vtun, which, wireless-tools, wpa_supplicant, xapp_twm,
	xapp_xbacklight, xapp_xcursorgen, xapp_xinit, xapp_xinput,
	xapp_xmore,
	xdriver_xf86-input-{acecad,aiptek,evdev,joystick,keyboard},
	xdriver-xf86-input-{mouse,synaptics,vmmouse,void},
	xdriver-xf86-video-{apm,ark,ast,ati,chips,cirrus,dummy,fbdev},
	xdriver-xf86-video-{geode,glide,glint,i128,i740,intel,mach64},
	xdriver-xf86-video-{mga,neomagic,newport,nv,openchrome,r128},
	xdriver-xf86-video-{rendition,s3,s3virge,savage,siliconmotion},
	xdriver-xf86-video-{sis,sisusb,suncg3,suncg6,suncg14,sunffb},
	xdriver-xf86-video-{sunleo,suntcx,tdfx,tga,trident,v4l,vesa},
	xdriver-xf86-video-{vmware,voodeo,wsfb,xgi,xgixp},
	xkeyboard-config, xlib_libX11, xserver_xorg-server, xstroke,
	xterm, xvkbd, zlib

	Deprecated packages: hotplug, lzma, ng-spice-rework, sfdisk

	Removed packages: dillo, libglib12, libgtk12, microwin,
	pcmcia

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

	#901:  new package: gpsd
	#2389: Generate a Makefile wrapper in $(O)
	#2461: wireless_tools: install shared library if needed
	#2521: Can't compile sdl_mixer, mikmod.h can't be found
	#2533: xserver_xorg-server: Enable glx, if mesa3d is built
	#2563: [PATCH] cairo: Expose the configure option to disable some...
	#2581: libmms: Update to 0.6, and patch to work on architectures...
	#2707: Can't compile linux kernel using buildroot + crosstool-ng
	#2731: Build order
	#2737: buildroot configuration tool crashing when the path exceeds...
	#2767: Build for lsof broken in buildroot-2010.08

2010.08: Released August 31th, 2010:

	Fixes all over the tree.

	Updated/fixed packages: atk, xstroke

	Removed packages: lxdoom

2010.08-rc2, Released August 30th, 2010:

	Fixes all over the tree.

	Mark the combination of uClibc 0.9.31, gcc 4.2.x, C++ and
	locale support as broken. Remove deprecated GCC 4.2.[1-3]
	versions.

	Mark CRIS architecture as deprecated, as it is discontinued
	upstream.

	Marked shared config.cache as experimental and disabled by
	default as it is known to break with certain package
	combinations.

	Toolchain: fixed gcc 4.2.x build after uClibc NPTL support got
	added.

	fs: old-style squashfs for big endian archs fixed.

	Updated/fixed packages: busybox, gst-plugins-base,
	imagemagick, kismet, libgail, libglib2, libgtk2, lua,
	luafilesystem, lzo, ncurses, netcat, pango, php, pppd,
	proftpd, qt, samba, startup-notification, swfdec, sysvinit,
	util-linux

	Removed packages: stunnel

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

	#635:  util-linux fails to build in 2009.08
	#2239: netcat package installs its binary to target as avr32-linux...
	#2395: libglib2-2.24.1 and libxml2-2.7.7 fails build on MIPS because...
	#2443: Initramfs: Don't overwrite $(TARGET_DIR)/init if it exists
	#2449: Minor fixes for squashfs makefile and correct PowerPC e500 ...

2010.08-rc1, Released July 30th, 2010:

	Fixes all over the tree and new features.

	Toolchain: GCC 4.3.5, older 4.3.x versions removed. GCC 4.1.2
	and non-sysroot support removed. Added support for (snapshot)
	NPTL in uClibc, 0.9.28.3 removed,

	Bootloaders: Various cleanups, moved to boot/, added Barebox,
	removed yaboot. Support building u-boot from custom tarball,
	u-boot 2010.06.

	New GTK-based configurator, usable using 'make gconfig'.

	Java packages marked as broken. Unless someone steps up to
	support this, they will be removed during the 2010.11
	development cycle.

	Alpha, IA64 and Sparc64 architectures marked as deprecated.
	GTK+ on DirectFB has also been marked as deprecated, as it is
	not supported in recent GTK+ versions, and more and more
	packages depends on the new versions.
	Unless someone steps up to support them, they will be removed
	during the 2010.11 development cycle.

	New packages: cgilua, copas, coxpcall, ffmpeg, libsvgtiny,
	libgail, luafilesystem, luasocket, rings, wsapi, xavante, xterm

	Updated/fixed packages: alsa-lib, alsamixergui, at, atk,
	avahi, berkeleydb, bash, blackbox, busybox, bzip2, cairo,
	cdrkit, cmake, dash, dhcp, dialog, diffutils, distcc, dmalloc,
	dnsmasq, dropbear, e2fsprogs, fbv, file, flex, fontconfig,
	gawk, gmpc, gnuchess, gst-plugins-base, gst-plugins-good,
	gstreamer, gzip, icu, intltool, iostat, ipsec-tools, iptables,
	iw, libart, libcgi, libcurl, libdrm, libeXosip, libfuse,
	libglib2, libgpg-error, libiconv, libidn, liblockfile, libpng,
	libsoup, lighttpd, links, linux-fusion, lmbench, lrzsz,
	ltrace, make, midori, module-init-tools, mplayer,
	mysql_client, nbd, ncurses, neon, netcat, netperf, netsnmp,
	ntfsprogs, openssl, oprofile, pango, php, qt, quagga, samba,
	setserial, sdl, sdl_mixer, sdl_sound, sdl_ttf, speech-tools,
	sqlite, squashfs, swfdec, tftpd, thttpd, tn5250, tremor,
	usbutils, webif, webkit, wireless_tools, xerces,
	xkeyboard-config, xserver_xorg-server, xvkbd, zlib

	Removed packages: modutils, portage, rxvt

	Deprecated packages: dillo, libglib12, libgtk12, microwin, pcmcia

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

	#321:  alsa-lib uses host include files for python which breaks ...
	#361:  linux kernel configuration choice works incorrectly
	#387:  Tremor not installed to toolchain
	#401:  new package: ffmpeg
	#475:  uImage target for U-boot failed generating
	#543:  ATK requires X11 on DirectFB target
	#575:  webkit: Buildroot Libtool Patch Fails
	#583:  build fails with external x86_64 toolchain
	#729:  sstrip creates corrupted headers
	#829:  Webkit r44552 needs libXt
	#835:  Package Dataflashboot-1.05 does not compile with buildroot...
	#847:  Compiling target-gcc v4.4 fails with "libc.so.0: cannot open...
	#859:  Add (head of) nptl branch to list of uClibc versions
	#949:  compile with debug info
	#955:  Grub fails to build with External Toolchain
	#1051: Webkit doesn't compile (Linuxthreads new, x86)
	#1213: Move .config into output directory
	#1225: Buildroot fails to account for "nof" subdirectory (no float...
	#1231: (sparc) Linux kernel fails to build
	#1261: The getline() in output/build/linux-2.6.28/scripts/unifdef.c...
	#1339: Busybox needs -fno-strict-aliasing to compile cleanly
	#1393: neon config fails libxml/parser.h: libxml2 requires, but not ...
	#1405: WebKit fails to build because pthread_getattr_np is not impl...
	#1675: GMP Error during buildroot make process
	#1741: external toolchain linking error
	#1753: lmbench: convert to generic package infrastructure
	#1771: Fakeroot and the target/generic/device_table.txt create bad...
	#1807: LZMA 4.32.7, Required header file(s) are missing
	#1813: xkeyboard-config fails to build because of intltool problem
	#1879: Bump iptables to 1.4.8
	#1885: Add a bunch of lua modules
	#1897: Bump libusb to 1.0.7
	#1903: Bump tn5250 to 0.17.4 and migrate to autotargets
	#1909: netperf-2.4.5 fails to build because of undeclared SOCK_DCCP
	#1927: Bump file to 5.03 and migrate to autotargets
	#1933: Bump gawk to 3.1.8 and migrate to autotargets
	#1945: PHP: add sqlite3 dependency when using external lib
	#1951: Bump openssl to 0.9.8o
	#1957: Bump sqlite to 3.6.23.1
	#1975: Package removal/deprecation
	#1981: zlib: bump to 1.2.5
	#1987: intltool: Fix spelling mistake
	#1993: Bump bash to 4.1.7(1) and migrate to autotargets
	#1999: Typo in path checking
	#2005: Bump dnsmasq to 2.55 and migrate to gentargets
	#2035: ipsec-tools-0.7.2 fails to build with gcc-4.4.x
	#2038: Bump ncurses to 5.7
	#2095: make gconfig: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
	#2101: blackbox depends on locale support
	#2119: Tries to build kernel, although disabled in config
	#2125: libXfont build fail
	#2143: buildroot compiler generates segfaulting statically linked exe..
	#2149: xterm build failure
	#2155: Compression lzo don't set for ubifs
	#2161: [SECURITY] Update libpng to 1.2.44
	#2167: Bump busybox to 1.17.0, convert to gentargets, drop 1.12, ...
	#2181: pixman can't apply pixman-0.10.0-no-tests.patch
	#2191: linux-fusion build fail
	#2221: Qt does not compile (dependencies not taken into account?)
	#2233: Atmel atstk target skeletons have /etc/mtab as a file, not ...
	#2245: Netcat does not work due to incorrect assumptions about signed..
	#2251: directory output/build after make *_defconfig not found
	#2257: Convert netsnmp package to autotargets
	#2263: Bump samba to 3.3.13
	#2269: setserial causes make error

2010.05, Released May 30th, 2010:

	Fixes all over the tree.

	Updated/fixed packages: coreutils, hal, libcap,
	lockfile-progs, ncftp, xserver_xorg-server

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

	#1789: binutils fails to build for i386
	#1843: Fix libcap build failure
	#1855: XORG Keyboard driver fails to compile

2010.05-rc3, Released May 27th, 2010:

	Fixes all over the tree.

	Updated/fixed packages: aumix, atk, avahi, bmon, busybox, cairo,
	cdrkit, dbus-glib, dbus-python, docker, enchant, fltk, gamin,
	gettext, gmpc, gob2, grep, gstreamer, gst-plugins-bad,
	gst-plugins-base, gvfs, hal, iconv, icu, iperf, libcgicc,
	libdvdnav, libdvdread, libglade, libglib2, libgtk2, libidn,
	libmms, libmpd, libpcap, libsoup, lmbench, lsof, ltrace, lvm2,
	make, metacity, microperl, mtd-utils, mutt, nbd, netsnmp,
	ntfsprogs, ntp, olsr, pango, pciutils, pcmanfm, php,
	pkg-config, psmisc, qt, samba, shared-mime-info, squashfs,
	squashfs3, sshfs, startup-notification, swfdec, sylpheed,
	uemacs, util-linux, valgrind, vpnc, vsftpd, webkit, xstroke

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

	#75: arm buildroot "unrecognized option" error
	#699: Buildroot fails to copy libstdc++ to target when using external...
	#1693: NTP trys IPV6 even if not configured error: 'IPV6_MULTICAST...
	#1729: alsamixergui fails to build
	#1801: Avahi-autoipd doesn't create TARGET_DIR/var/lib
	#1819: pciutils small bugs
	#2065: Internal toolchain: bump gcc 4.3.x series to 4.3.5

2010.05-rc2, Released May 11th, 2010:

	Fixes all over the tree.

	Updated/fixed packages: busybox, customize, gawk, gnuchess,
	hal, hostapd, less, libgcrypt, libnl, libxcb, linux-fusion,
	ltp-testsuite, mplayer, netplug, pciutils, php, sed,
	shared-mime-info usb_modeswitch, usbutils, vlc wpa_supplicant,
	xapp_bdftopcf, xapp_mkfontdir, xdriver_xf86-video-openchrome,
	xfont_encodings, xlib_libX11, xlib_libXfont, xlib_xtrans,
	xproto_fontcacheproto, xproto_fontsproto, xvkbd

	Removed packages: vice

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

	#849: "customize" package copies files to wrong place in target tree
	#985: Bump usb_modeswitch package to 1.1.0
	#1135: Package customize. Wrong copying
	#1525: Package hal deletes a whole <target>/etc/rc.d directory
	#1531: libxcb 1.5 build fails, due to missing xcbgen Python module
	#1669: Busybox failed to compile when using an external toolchain
	#1699: Fix usbutils dependencies and bump
	#1705: Fix pciutils broken cross compiling
	#1717: External toolchain fixes for hostapd & wpa_supplicant

2010.05-rc1, Released May 3rd, 2010:

	Cleaned up / restructured package menu.

	Toolchain: uClibc 0.9.30.3 / 0.9.31, older 0.9.30.x removed.
	2.6.33 kernel headers, binutils 2.20.1, GCC 4.4.4,
	removed broken nios2 support, ppc e300cX/e500mc support,
	improved external toolchain support, GDB 7.x support.

	X.org updated to 7.5.

	New packages: cdrkit, cramfs, genext2fs, genromfs,
	libatomic_ops, librsync, libusb-compat, lmbench, netperf,
	squashfs, squashfs3, squid

	Updated/fixed packages: alsa-utils, argus, autoconf, bison,
	busybox, bzip2, directfb, dnsmasq, dosfstools, e2fsprogs,
	eeprog, fakeroot, fbv, findutils, freetype, haserl, hostapd,
	iperf, iptables, iw, less, libaio, libcgi, libcgicc, libdrm,
	libgcrypt, libglib2, libid3tag, libmad, liboil, libosip2,
	libpng, libraw1394, libsysfs, libxml2, libxslt, linux-fusion,
	ltrace, lua, lzma, madplay, makedevs, matchbox, mdadm,
	memstat, mesa3d, mtd-utils, nano, ncurses, openssl, patch,
	pciutils, php, pixman, portage, pppd, pthread-stubs, python,
	qt, radvd, samba, setserial, smartmontools, tar, tslib,
	udpcast, usb_modeswith, vtun, wget, xdata_xcursor-themes,
	xdriver_xf86-video-intel, xkeyboard-config, xlib_libX11,
	xlib_libXaw, xlib_libXfont, xlib_libXfontcache,
	xlib_libXxf86misc, xlib_libXtst, xlib_libpciaccess,
	xproto_dri2proto, xproto_eviext, xproto_fontcacheproto,
	xproto_xf86miscproto, xserver_xorg-server

	Removed packages: xapp_xtrap, xlib_libXTrap, xlib_libXevie,
	xlib_libXxf86misc, xxproto_evieext, proto_trapproto,
	xproto_xf86miscproto

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

	#513: Add new squid package
	#661: lmbench: new package
	#719: Add lua option to haserl
	#800: [PATCH] iperf update to 2.0.4
	#803: [PATCH] lua - add shared library patch and config option for...
	#805: [PATCH] mdadm - version update
	#817: integrator926_defconfig uses unsupported uboot board name
	#851: Add option to specify --sysroot value for external toolchain
	#1093: Upgrade libusb to v1.0.3 and add new libusb-compat
               package for compatibility with old packages that expect
               the pre-1.0 API.
	#1105: Add new netperf package
	#1111: Bump wget to 1.12 and migrate to Makefile.autotools.in
	#1117: Bump nano to 2.2.3 and migrate to Makefile.autotools.in
	#1123: Bump less to 436 and migrate to Makefile.autotools.in
	#1129: Bump memstat to 0.8 and migrate to Makefile.package.in
	#1189: Wrong u-boot configuration name for integrator926 target
	#1219: kernel headers not correctly installed into toolchain/staging
	#1267: Wrong BR2_EXTRA_VERSION
	#1273: BR2_INET_IPV6 does not enable IPv6 in pppd
	#1303: Add librsync package
	#1321: Busybox link fails due to lack of --sysroot option
	#1327: mtd-utils compile failure due to lack of --sysroot in CFLAGS
	#1345: Bump pppd to 2.4.5 and convert to Makefile.autotools.in
	#1369: cannot build radvd (flex problem)
	#1387: xlib_libX11-1.3.2 can't find libjpeg
	#1411: [SECURITY] Update openssl package to 0.9.8n
	#1417: Bump iptables to 1.4.7
	#1423: Bump e2fsprogs to 1.41.11
	#1429: [SECURITY] Update php to 5.2.13
	#1441: Add binutils 2.20.1
	#1447: Package installation on target with debug symbols is broken
	#1459: Misc QA fixes
	#1489: radvd update to 1.6
	#1513: Enable powerpc e300c2, e300c3 and e500mc optimization
	#1537: dev entries not created anymore
	#1555: Fix default uclibc-0.9.31 configuration
	#1561: [SECURITY] Update samba to 3.3.12
	#1567: openssl0.9.8n fails to compile
	#1573: Alsa-utils alsactl/init/* not installed to target
	#1591: portmap fails to compile
	#1615: Convert eeprog package to gentargets
	#1645: Bump hostapd package to 0.7.2

2010.02, Release February 26th, 2010:

	Fixes all over the tree.

	Updated/fixed packages: avahi, busybox, cramfs, ipsec-tools, libcgicc,
	libgtk2, libraw1394, madplay, netsnmp, pango, squashfs, sylpheed, qt,
	xfont_font-util

	Removed packages: hostap, openmotif, xpdf

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

	#165: openmotif does not build
	#1147: Remove obsolete hostap package
	#1183: make source fails to download gmp, mpfr and patches

2010.02-rc2, Released February 23th, 2010:

	Fixes all over the tree and new features.

	New packages: intltool

	Updated/fixed packages: ace_of_penguins, alsa-lib, alsa-utils, argus,
	at, automake, ccache, dosfstools, e2fsprogs, flex, gob2, gmpc,
	gst-plugins-good, imagemagick, iw, kexec, libeXosip, libgtk2,
	libpcap, libpng, libsoup, libxcb, libxml-parser-perl, libxml2,
	libxslt, lvm2, matchbox, mplayer, rsync, rubix, shared-mime-info,
	tcl, webkit, xapp_mkfontscale, xfont_encodings, xfont_font-util,
	xlib_libfontenc, xproto_trapproto, zlib

	Removed package: xboard

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

	#335: atk looks for the path to the gnome library on the host
	#355: Please update WebKit - it doesn't compile!
	#453: libglib2 autoreconf
	#457: e2fsprogs link problem
	#459: libgtk2 autoreconf
	#469: build of libgtk2 for host incorrectly assumes that X.org ...
	#671: Bash fails to build when building buildront on Ubuntu 9.04
	#711: WebKit host dependencies problems
	#821: cp: illegal operation
	#1039: Not compiled on ubuntu karmic
	#1069: [PATCH] The AT91BOOTSTRAP makefile contains a typo

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
