2020.11-rc2, released November 14th, 2020

	Fixes all over the tree.

	cve-checker script dropped. Instead the pkg-stats logic has
	been extended to be able to only generate stats for the
	configured packages using 'make pkg-stats'

	Removed defconfigs: rock64

	Updated/fixed packages: apparmor, asterisk, bitcoin, busybox,
	cups-filters, cryptsetup, davfs2, domoticz, elf2flt, freetype,
	ghostscript, glmark2, go, gst1-plugins-bad, guile, jsoncpp,
	libcap, libexif, libnetfilter_conntrack, libpam-tacplus,
	libsigrokdecode, linux-backports, linux-firmware, mesa3d,
	modem-manager, mp4v2, oniguruma, openntpd, python3,
	python-lmdb, python-m2crypto, rauc, s390-tools, slirp,
	stress-ng, suricata, systemd, tcpdump, tmux, tor, webkitgtk,
	wireguard-linux-compat, wpewebkit, xen

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

	#13281: Raspberry Pi 2: overlays folder missing in genimage-ra..
	#13291: BR2_DL_DIR is ignored when creating defconfig
	#13306: wpewebkit build problem in 2020-11-rc1

2020.11-rc1, released November 4th, 2020

	Fixes all over the tree and new features.

	Architectures: Support for IBM s390x

	Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC
	32. Binutils 2.35.1 added, now defaulting to 2.34. ARC
	2020.09-release toolchain. GCC 7.x dropped. RISC-V support for
	uclibc-ng. Support for Bootlin external toolchains.

	SELinux support improvements: File security contexts are now
	set when the file systems are created, so there is no need to
	run restorecon on first boot / read only rootfs is supported.
	An optimized / stripped refpolicy SELinux policy is now
	used. Packages can enable additional refpolicy modules using
	<pkg>_SELINUX_MODULES.

	support/scripts/cve-checker: Utility script to check for known
	CVEs in just the packages enabled in a Buildroot configuration
	rather than all packages, by passing the output of 'make
	show-info' to it.

	Go: Modules handling. The module name must be specified using
	<pkg>_GOMOD.

	BR2_EXTERNAL: Support for defining skeleton and init system
	packages in external trees.

	meson: Correct SDK cross-compilation.conf file when
	per-package builds were used to build SDK.

	systemd: Use /run rather than /var/run for PID files in units.

	Fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) are now run
	after all finalization hooks (including pre-rootfs) to ensure
	they can override any late configuration done by packages.

	support/script/pycompile: Rework logic to ensure .pyc files
	contain absolute target paths, fixing code inspection at
	runtime when executed with cwd != '/'.

	support/scripts/setlocalversion: Correct Mercurial output to
	match behaviour with Git.

	support/scripts/apply-patches.sh: Use patch
	--no-backup-if-mismatch, so we no longer blindly have to
	remove *.orig files after patching, fixing issues with
	packages containing such files.

	New defconfigs: Acer chromebook elm, Friendlyarm nanopc-t4 and
	nanopi-m4, Hardkernel odroid-c2, Kontron SMARC-sAL28, NXP
	imx8mqevk, Orangepi RK3399 and zero+, PCengines APU2, Pine64
	rockpro64, QEMU s390x, Raxda rockpi-n8,

	New packages: altera-stapl, asn1c, babeltrace2, cukinia,
	easyframes, environment-setup, frr, graphicsmagick, htpdate,
	ipcalc, libbacktrace, libblockdev, libbytesize, librelp,
	libuev, makedumpfile, meson-tools, mg, mrp, multipath-tools,
	netcalc, odroidc2-firmware, php-xdebug, python-aiofiles,
	python-ansicolors, python-boto3, python-botocore,
	python-bsdiff4, python-crayons, python-iniconfig,
	python-intelhex, python-ipdb, python-jmespath,
	python-m2crypto, python-opcua-asyncio, python-packaging,
	python-piexif, python-pluggy, python-pytest,
	python-s3transfer, python-xmodem, qprint, qt5lottie,
	qt5remoteobjects, re2, redir, s390-tools, sentry-cli,
	sentry-native, timescaledb, tinyhttpd, uhd, uredir, watchdog,
	wayland-utils, weston-imx

	Removed packages: amd-catalyst, bellagio, gqview, libcroco,
	nvidia-tegra23, opencv

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

	#11811: lsblk (util-linux) should depend on libudev if available
	#11931: Bugs in support/scripts/apply-patches.sh
	#12301: systemd-journal-gatewayd: config options broken
	#12911: usb_modeswitch installation race condition
	#13236: Can't compile linux 5.4.8 (with gcc 10 on host)
	#13286: The system hangs in vmware workstation on the line..

2020.08.2, released November 16th, 2020

	Important / security related fixes.

	Toolchain-wrapper: Pass -fno-tree-loop-distribute-patterns to
	fix kernel build on microblaze with gcc 10.x when
	optimizations are enabled.

	Updated/fixed packages: apparmor, argp-standalone, asterisk,
	bandwidthd, binutils, bitcoin, busybox, collectd, cryptsetup,
	cups-filters, darkhttpd, davfs2, docker-cli,
	docker-containerd, docker-engine, dovecot-pigeonhole,
	dvb-apps, elf2flt, fastd, fbset, fbtft, freetype, gcc,
	ghostscript, grpc, gst1-plugins-bad, jsoncpp,
	kernel-module-imx-gpu-viv, keepalived, kmscube, libass,
	libexif, libiqrf, libnetfilter_conntrack, libpam-tacplus,
	libraw, linux-backports, linux-firmware, lzlib, mp4v2,
	netsnmp, nginx, numactl, oniguruma, opencv3, openntpd,
	patchelf, php, pistache, postgresql, python-pyqt5, qemu,
	qt5base, rauc, redis, samba4, slirp, systemd, tcpdump,
	tinyproxy, tmux, tor, waf, webkitgtk, wine,
	wireguard-linux-compat, wireshark, wpewebkit, xen, xorriso,
	xvisor, zeromq, zxing-cpp

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

	#11931: Bugs in support/scripts/apply-patches.sh

2020.08.1, released October 12th, 2020

	Important / security related fixes.

	Fixes for various compilation issues with GCC 10.x.

	meson: Correct SDK cross-compilation.conf file when
	per-package builds were used to build SDK.

	systemd: Use /run rather than /var/run for PID files in units.

	Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC 32.

	Fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) are now run
	after all finalization hooks (including pre-rootfs) to ensure
	they can override any late configuration done by packages.

	support/script/pycompile: Rework logic to ensure .pyc files
	contain absolute target paths, fixing code inspection at
	runtime when executed with cwd != '/'.

	support/scripts/setlocalversion: Correct Mercurial output to
	match behaviour with Git.

	support/scripts/apply-patches.sh: Use patch
	--no-backup-if-mismatch, so we no longer blindly have to
	remove *.orig files after patching, fixing issues with
	packages containing such files.

	fs/jffs2: Now correctly handles xattrs

	Updated/fixed packages: acpica, afboot-stm32, alsa-utils,
	apparmor, bandwidthd, barebox, bash, bison, brotli,
	cifs-utils, cups, dhcpcd, dhcpdump, docker-cli, docker-engine,
	ecryptfs-utils, efl, fail2ban, fbterm, ffmpeg, fontconfig,
	freetype, gcc, gdb, ghostscript, gnupg2, gnutls, go, gqview,
	gst1-plugins-base, gst1-plugins-ugly, ipmitool, jbig2dec,
	kexec, lcdproc, libcamera, libhtp, libnetconf2, libraw,
	libssh, libxml2, libxml-parser-perl, libzip, linux-headers,
	live555, localedef, ltp-testsuite, lua, matchbox, memcached,
	memtester, mesa3d, meson, minidlna, mongodb, mongrel2, motion,
	mraa, mtd, musepack, neardal, netatalk, netperf, netsniff-ng,
	nginx, nodejs, nss-pam-ldapd, open-plc-utils, openswan,
	opentyrian, openvmtools, php, postgresql, python,
	python-aenum, python-cycler, python-engineio, python-fire,
	python-pymodbus, python-scapy, python-semver,
	python-sentry-sdk, python-socketio, python-texttable,
	python-tinyrpc, python-txtorcon, python3, qt5base, quagga,
	read-edid, redis, rsh-redone, runc, samba4, socketcand,
	strace, supertux, suricata, systemd, ti-utils, trinity,
	uclibc, usb_modeswitch, vlc, vsftpd, wampcc,
	wayland-protocols, wireguard-linux-compat, wireshark, wlroots,
	wolfssl, w_scan, xerces, xfsprogs, xdriver-xf86-video-ati,
	xserver_xorg-server, ympd, zeromq, zlib-ng, zstd

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

	#12911: usb_modeswitch installation race condition
	#13236: Can't compile linux 5.4.8 (with gcc 10 on host)

2020.08, released September 1st, 2020

	Various fixes.

	Updated/fixed packages: am33x-cm3, avahi, bluez-tools,
	busybox, chocolate-doom, collectd, dhcp, docker-cli, domoticz,
	gobject-introspection, graphite2, haproxy, ibm-sw-tpm2,
	imagemagick, libeXosip2, libressl, lxc, mbedtls, menu-cache,
	mongodb, mosquitto, nvidia-driver, paho-mqtt-c, pixz,
	postgresql, python-django, rtty, squid, stress-ng, systemd,
	trousers, uclibc, wireshark, wolfssl, zbar

2020.08-rc3, released August 28th, 2020

	Fixes all over the tree.

	Infrastructure: Ensure RPATH entries that may be needed for
	dlopen() are not dropped by patchelf.

	Toolchain: Drop old GCC 6 based external Sourcery AMD64
	toolchain.

	Updated/fixed packages: assimp, davfs2, dillo, glibc,
	gnuradio, hostapd, ibm-sw-tpm2, ipmitool, json-c, libroxml,
	linux, mender, netopeer2, openal, openjpeg, python-matplotlib,
	ripgrep, shadowsocks-libev, trousers, xlib_libX11,
	xserver_xorg-server

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

	#13141: Target-finalize fail with "depmod: ERROR: Bad version passed"

2020.08-rc2, released August 24th, 2020

	Fixes all over the tree, including a number of fixes for
	compilation with GCC-10.

	Toolchain: Disallow building uClibc-ng for RISC-V 64-bit,
	because of issues with a missing __riscv_flush_icache()
	implementation.

	Defconfigs: CI20: Use mainline Linux and U-boot. Update
	Microchip sama5d27_wlsom1_ek_mmc_dev to use bluez5-utils
	instead of (the removed) legacy bluez-utils

	Updated/fixed packages: 18xx-ti-utils, aircrack-ng, apache,
	atest, bandwidthd, bellagio, bind, bird, bluez-alsa, boost,
	c-periphery, capnproto, chrony, collectd, cpio, cvs,
	dieharder, domoticz, dovecot, dovecot-pigeonhole, drbd-utils,
	dump1090, efl, elixir, f2fs-tools, feh, fluidsynth, fping,
	gdbm, gdk-pixbuf, ghostscript, gst1-plugins-bad,
	gstreamer1-editing-services, htop, ibm-sw-tpm2, ifplugd,
	iftop, igd2-for-linux, ima-evm-utils, iprutils, iputils,
	keepalived, kmsxx, libabseil-cpp, libcamera, libcurl,
	libfuse3, libnss, librtlsdr, libubox, libunwind, live555,
	lttng-tools, luabitop, mender-artifact, minizip,
	mjpg-streamer, mpd, mpv, mtd, ncftp, open-lldp, openal,
	opencv, opencv3, openfpgaloader, optee-os, owfs, php,
	pistache, prosody, pulseview, python-decorator,
	python-gunicorn, python-rpi-gpio, python-spidev,
	python3-decorator, python3-mako, python3-pyselftools, qt5,
	qt5webengine, rauc, redis, ripgrep, rtl8188eu, rtl8821au,
	setools, smstools3, supertux, tftpd, tpm2-abrmd,
	wpa_supplicant, xen, xlib_libX11, xserver_xorg-server

	New packages: python3-cython, python3-pycryptodomex

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

	#12876: nodejs fails to build when host-icu has been built before
	#13111: python-gunicorn: missing dependency on python-setuptools
	#13121: wpa_supplicant fails to build without libopenssl enabled
	#13146: raspberrypi3_defconfig: "Inappropriate ioctl for device"..
	#13156: package live555 new license
	#13166: python-rpi-gpio: does not work against aarch64, unint..

2020.08-rc1, released August 6th, 2020

	Toolchain:

	- GCC 10.x added, GCC 9.x is the default
	- binutils 2.34 added, binutils 2.33 is the default, binutils
          2.31 removed
	- glibc updated to 2.31
	- ARC toolchain components updated to 2020.03-release.
	- Enable uClibc-ng usage for RISC-V 64-bit

	Infrastructure:

	- qmake-package was fixed to be compatible with
          BR2_PER_PACKAGE_DIRECTORIES
	- complete rewrite of the Gitlab CI Yaml configuration file,
          now generated directly by the Gitlab CI pipeline itselfs

	Misc:

	- cargo and cargo-bin packages removed, as cargo is now part
          of Rust itself

	Filesystem: ubinize configuration files can now use
	BINARIES_DIR to refer to the $(O)/images directory.

	New packages: bitwise, earlyoom, fuse-overlayfs, gloox,
	kodi-pvr-octonet, kodi-pvr-zattoo, libabseil-cpp, libcutl,
	libnids, libnpupnp, libodb, libodb-boost, libodb-mysql,
	libodb-pgsql, mbpfan, netopeer2, odb, parprouted,
	python-colorzero, python-gpiozero, python-pybind, python-yatl,
	python3-decorator, qt5quicktimeline, resiprocate, ttyd,
	unclutter-xfixes, urandom-scripts,

	New defconfigs: bananapi_m2_zero, freescale_imx8mnevk,
	globalscale_espressobin, imx6ullevk,
	microchip_sama5d27_wlsom1_ek, rock_pi_4, rock_pi_n10

	Removed packages: cargo, cargo-bin,
	kodi-peripheral-steamcontroller

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

	#12941: Python GObject fails to build when using  BR2_PER_PACKAGE_DIRECTORIES
	#12946: Grub: Decompressor is too big.
	#12986: Mtools: Error converting to codepage 850
	#13001: openjdk-bin replaces libfreetype.so from  host-freetype
	#13011: Incorrect selection of gcc version
	#13021: Minor code error when building granite-0.4.1
	#13026: rpi-firmware: must not rename start files
	#13046: Optimize for fast -Ofast is not compliant
	#13081: host-e2fsprogs attempts to create udev  rules.d on build host if not exists
	#13101: BR audit2allow support

2020.05.3, released October 12th, 2020

	Important / security related fixes.

	meson: Correct SDK cross-compilation.conf file when
	per-package builds were used to build SDK.

	systemd: Use /run rather than /var/run for PID files in units.

	Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC 32.

	Fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) are now run
	after all finalization hooks (including pre-rootfs) to ensure
	they can override any late configuration done by packages.

	support/script/pycompile: Rework logic to ensure .pyc files
	contain absolute target paths, fixing code inspection at
	runtime when executed with cwd != '/'.

	support/scripts/setlocalversion: Correct Mercurial output to
	match behaviour with Git.

	support/scripts/apply-patches.sh: Use patch
	--no-backup-if-mismatch, so we no longer blindly have to
	remove *.orig files after patching, fixing issues with
	packages containing such files.

	Updated/fixed packages: alsa-utils, apparmor, avahi,
	bandwidthd, barebox, bash, bison, brotli, busybox, cifs-utils,
	cryptsetup, cups, dhcpcd, dhcpdump, docker-cli, docker-engine,
	ecryptfs-utils, efl, fail2ban, freetype, gcc, gdb,
	ghostscript, gnutls, go, graphite2, gst1-plugins-base,
	gst1-plugins-ugly, imagemagick, ipmitool, jbig2dec, libhtp,
	libraw, libssh, libxml2, libxml-parser-perl, linux-headers,
	localedef, lua, mbedtls, memcached, mesa3d, meson, minidlna,
	mongodb, nginx, nodejs, nss-pam-ldapd, openvmtools,
	paho-mqtt-c, php, postgresql, python, python-aenum,
	python-django, python-engineio, python-fire, python-pymodbus,
	python-scapy, python-semver, python-sentry-sdk,
	python-socketio, python-texttable, python-tinyrpc,
	python-txtorcon, python3, qt5base, rsh-redone, runc, samba4,
	strace, supertux, suricata, systemd, uclibc, usb_modeswitch,
	vlc, vsftpd, wayland-protocols, wireguard-linux-compat,
	wireshark, wlroots, wolfssl, xserver_xorg-server, ympd,
	zeromq, zstd

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

	#12911: usb_modeswitch installation race condition
	#13251: cryptsetup does not work on branch 2020.02 following..

2020.05.2, released August 29th, 2020

	Important / security related fixes.

	Infrastructure: Ensure RPATH entries that may be needed for
	dlopen() are not dropped by patchelf.

	BR_VERSION_FULL/setlocalversion (used by make print-version
	and /etc/os-release): Properly handle local git tags

	Updated/fixed packages: apache, assimp, at91bootstrap3, bind,
	boost, busybox, capnproto, cegui, chrony, collectd, cpio,
	cryptsetup, cups, cvs, dbus, docker-engine, domoticz, dovecot,
	dovecot-pigeonhole, dropbear, efl, elixir, f2fs-tools, ffmpeg,
	gd, gdk-pixbuf, ghostscript, glibc, gnuradio, grub2,
	gst1-plugins-bad, gstreamer1-editing-services, hostapd,
	ibm-sw-tpm2, iputils, jasper, json-c, libcurl, libressl,
	libwebsockets, linux, live555, mesa3d, mongodb, mosquitto,
	mpv, nodejs, opencv, opencv3, openfpgaloader, openjpeg,
	patchelf, perl, php, postgresql, prosody, python-django,
	python-gunicorn, python-matplotlib, ripgrep, rtl8188eu,
	rtl8821au, ruby, shadowsocks-libev, squid, systemd,
	tpm2-abrmd, tpm2-tools, trousers, uboot, webkitgtk, wireshark,
	wolfssl, wpa_supplicant, wpewebkit, xen, xlib_libX11,
	xserver_xorg-server

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

	#12876: nodejs fails to build when host-icu has been built before
	#13111: python-gunicorn: missing dependency on python-setuptools
	#13121: wpa_supplicant fails to build without libopenssl enabled
	#13141: Target-finalize fail with "depmod: ERROR: Bad version passed"
	#13156: package live555 new license

2020.05.1, released July 25th, 2020

	Important / security related fixes.

	Toolchain:
	- Make external toolchain version check also work for
	  toolchains configured with --with-gcc-major-version-only

	- Do not handle SOURCE_DATE_EPOCH in toolchain wrapper if the
	  compiler supports it, fixing an issue with precompiled
	  headers

	- Ensure debug libs from external toolchains are not installed
          into target if debugging is disabled

	Download:
	- Correct reproducibility issue in handling of git submodules
	  for older git versions.

	- Fix file locking over NFS

	fs: Ensure cpio archive element order is reproducible

	Br2-external: Fix error reporting for invalid br2-external trees

	Per-package:
	- Fix an issue with python3 sysconfig data not getting
	correctly expanded

	- Fix per-package building for packages using the qmake
          infrastructure

	Updated/fixed packages: a10disp, asterisk, bind, brltty,
	cdrkit, clamav, cryptodev-linux, dbus, docker-cli,
	docker-engine, dvb-apps, e2fsprogs, exim, exiv2, freerdp, gdb,
	gdk-pixbuf, gerbera, gnutls, go, granite, grub2, gssdp,
	gst1-plugins-good, gst1-plugins-ugly, gupnp, intel-microcode,
	iproute2, irrlicht, iwd, jq, kodi, libcamera, libcec,
	libconfuse, libcurl, libevdev, libhttpserver, libmicrohttpd,
	libnss, libressl, libvncserver, libxml2, libxmlrpc, lxc,
	mbedtls, mediastreamer, mesa3d, meson, minizip, mongodb,
	mtools, mutt, nano, network-manager, nghttp2, ngircd, nodejs,
	ntp, open-plc-utils, open2300, openjdk-bin, openssh,
	oracle-mysql, paho-mqtt-c, pango, php, poco, prosody, putty,
	python-greenlet, python-urllib3, python-validators, python3,
	readline, redis, rpi-firmware, rtl8821au, samba4, sdl2,
	sqlite, squid, strace, sunxi-mali-mainline-driver, syslog-ng,
	systemd, tcpreplay, tinydtls, upmpdcli, upx, vlc, webkitgtk,
	wireguard-linux-compat, wireshark, wpebackend-fdo, wpewebkit,
	x11vnc, znc, zstd

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

	#12941: Python GObject fails to build when using BR2_PER_PACKAGE_..
	#12946: Grub: Decompressor is too big.
	#12986: Mtools: Error converting to codepage 850
	#13001: openjdk-bin replaces libfreetype.so from host-freetype
	#13011: Incorrect selection of gcc version
	#13021: Minor code error when building granite-0.4.1
	#13026: rpi-firmware: must not rename start files
	#13031: nodejs: RangeError at new ArrayBuffer()
	#13046: Optimize for fast -Ofast is not compliant

2020.05, released June 1st, 2020

	Various fixes.

	Updated/fixed packages: arm-trusted-firmware, gcc, mp4v2, fmc,
	fmlib, glib-networking, libusb-compat, linux, qt5webengine,
	sysrepo, wampcc, xen

2020.05-rc3, released May 29th, 2020

	Fixes all over the tree.

	Infrastructure: Support checking download hashes for packages
	coming from Subversion.

	Defconfigs: Increase boot partition size to 64MB for Freescale
	boards to allow space for bigger kernels.

	Updated/fixed packages: audit, bind, dovecot, efl, erlang,
	ffmpeg, fio, gerbera, gnupg, leveldb, lrzip, ltrace, matio,
	mesa3d, mp4v2, prosody, qemu, qt5declarative, speexdsp,
	systemd, tremor, uboot-tools, unbound, wireshark

	Removed packages: wiringpi

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

	#12361: Init system (systemd) kills login on Raspberry Pi Zero
	#12686: recipe for target 'install_dev' failed (libcrypto.so..)

2020.05-rc2, released May 22nd 2020

	Fixes all over the tree.

	U-Boot: Support building with Python 3.x instead of Python
	2.x. Since U-Boot 2020.01, various U-Boot build scripts use
	Python 3.x instead of Python 2.x, so add an option to pull in
	host-python3 rather than host-python. Also fix a number of
	defconfigs to use this new option.

	Updated/fixed packages: apparmor, binutils, bison, brltty,
	c-icap, cegui, checkpolicy, clamav, crda, cvs, docker-cli,
	docker-engine, domoticz, elf2flt, exfatprogs, fakeroot,
	ffmpeg, freerdp, gcc, glibc, gnuconfig, irrlicht, kmod,
	libexif, libpam-tacplus, libssh2, libv4l, libvncserver,
	localedef, lrzip, mariadb, matchbox, mbuffer, mesa3d,
	mesa3d-headers, meson, netsniff-ng, openldap, openocd,
	optee-os, p7zip, paho-mqtt-c, php, piglit, pigz,
	python-argon2-cffi, python-attrs, python-future,
	python-markdown, python-pycryptodomex, python-pyqt5, qt5base,
	rpi-firmware, rustc, squashfs, squid, stella, suricata,
	systemd, uacme, uclibc, util-linux, vboot-utils

	New packages: python3-pyelftools

	Removed packages: ezxml, mtdev2tuio, python-pycrypto

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

	#10551: PowerPC SPE and Musl
	#12256: package tar is outdated (1.29 is 3 years old)
	#12271: python-iptables runtime dependencies
	#12321: host-generic-package: PKG_DL_OPTS not used for host package
	#12391: CMake-based host package fails to include output/host/include
	#12431: ethernet no detected on nanopi neo 2
	#12521: RISCV RV32IA selected, RV64GC output
	#12586: avahi failure
	#12596: host-e2fsprogs: tune2fs incompatibility on older glibc..
	#12611: ntp hash is not matching with upstream 4.2.8p13
	#12626: PHP missing header files within 2020.02
	#12631: glibc support Power-PC SPE
	#12656: bison fails to relocate with relocate-sdk.sh
	#12661: cups problems in buildroot
	#12686: recipe for target 'install_dev' failed (libcrypto.so:..
	#12691: host-rust build fails
	#12761: Buildroot fails when building GCNano binaries for the STM..
	#12786: Systemd spawns two getty processes when the getty port..
	#12806: There are multiple issues in buildroot that faults cups..
	#12826: nodejs-12.16.1: error: 'uv_sleep' was not declared in..
	#12831: RPI-firmware package: DTB-overlay dependency
	#12836: libunwind: package does not show up in menuconfig for..
	#12841: util-linux/sfdisk 2.35.1 fails on sector-size header
	#12866: should we be disabling bash executable path caching?
	#12886: GMP built in wrong order (?)
	#12891: QEMU, libvirt-bin, qemu-kvm Package Support required
	#12901: GStreamer doesn't build on 2020-05 rc1 with GObject..
	#12906: qt PrefixPath is wrong on 2020.05-rc1
	#12921: nodejs-12.16.1: error: overriding 'virtual icu_65::..

2020.05-rc1, released May 7th 2020

	Addition of support for gobject-introspection: both the
	gobject-introspection package itself, but also introspection
	support was enabled in a number of other packages.

	Support for Qt 5.6 was dropped as its support was dropped
	upstream, only one version of Qt is supported at the moment:
	Qt 5.14.2.

	Addition of support for the apparmor Linux security module, by
	adding the necessary user-space packages.

	Addition of a qmake package infrastructure, now used by most
	Qt-related packages.

	The Luarocks package infrastructure has been extended to
	support build host packages.

	The package infrastructure was improved to allow each package
	to indicate the Linux kernel configuration options it needs.

	Addition of support for generating filesystem images using the
	EROFS filesystem.

	The logic that calculates the list of files installed by each
	package was reworked to be compatible with the top-level
	parallel build functionality.

	Addition of a package for a pre-compiled ARM32 bare-metal
	toolchain, which can be used to build ARM32 code in ARM64
	configurations, such as firmware/bootloader code.

	The Qemu defconfigs are now boot-tested in Qemu as part of the
	Gitlab continuous integration.

	Toolchain: gcc 9.x bumped to 9.3.0, gcc 8.x bumped to 8.4.0,
	gdb bumped to 8.3.1.

	New packages: apcupsd, apparmor, arm-gnu-a-toolchain, bearssl,
	belle-sip, belr, cage, chartjs, erofs-utils, exfatprogs,
	gobject-introspection, ibm-sw-tpm2, imx-seco, jbig2dec,
	libapparmor, libiberty, libfuse3, libtextstyle, libudfread,
	libuhttpd, libuwsc, lua-lyaml, matio, mbuffer, netdata,
	openfpgaloader, perl-i18n, perl-locale-maketext-lexicon,
	perl-lwp-protocol-https,
	perl-mojolicious-plugin-authorization,
	perl-mojolicious-plugin-cspheader,
	perl-mojolicious-plugin-i18n,
	perl-mojolicious-plugin-securityheader, perl-mozilla-ca,
	perl-path-class, pistache, pkcs11-helper, prelink-cross,
	python-argon2-cffi, python-canopen, python-cbor2,
	python-filelock, python-flatbuffers, python-greenlet,
	python-modbus-tk, python-pyalsa, python-pysftp, python-regex,
	python-snappy, rtty, tinyproxy, udev-gentoo-scripts, unbound,
	vuejs, wlroots.

	New defconfigs: freescale_imx6ullevk, freescale_imx8qmmek,
	nanopi_neo4, nanopi_r1, nitrogen8mm, nitrogen8mn, olpc_xo1,
	olpc_xo175, roc_rk3399_pc, stm32mp157a_dk1, zynq_qmtech

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

	#10386: Add an option to put all compiled executables that
		show up on target/ in staging/ as well
	#11866: iniramfs file system fails to boot using  Grub on EFI x86_64
	#12666: Doesn't pick up a custom bash profile
	#12696: Uboot 2020.01 Problem loading Linux kernel  on Nano PI NEO
	#12701: [patch] wpa_supplicant must depend on  openssl
	#12711: host-localedef 2.30-20 fails to compile on  fedora 32 (gcc 10.0.1)
	#12716: bio.h not found
	#12726: systemctl preset-all failed for	 ctrl-alt-del.target
	#12731: rtl8188eu not buildung for banana pi M1	 (glib, systemd, 4.18.12)
	#12746: "sysdig" package description points to
		http://sysdig.org, which bounces to malware site
	#12751: OpenJdk package installation issues on	target
	#12796: Update OpenSSL to Version 1.1.1g to patch  CVE-2020-1967
	#12811: bootstrap stuck and no login prompt

2020.02.8, released November 16th, 2020

	Important / security related fixes.

	Updated/fixed packages: angularjs, argp-standalone, asterisk,
	bandwidthd, bitcoin, busybox, cryptsetup, darkhttpd, davfs2,
	docker-cli, docker-containerd, docker-engine,
	dovecot-pigeonhole, fastd, fbset, fbtft, freetype, gcc,
	ghostscript, gnuradio, grpc, gst1-plugins-bad, jsoncpp,
	keepalived, libass, libexif, libiqrf, libpam-tacplus, libraw,
	linux-backports, linux-firmware, lzlib, netsnmp, nginx,
	oniguruma, opencv3, openntpd, patchelf, php, postgresql,
	python-pyqt5, qt5base, rauc, redis, samba4, slirp, systemd,
	tcpdump, tmux, tor, webkitgtk, wireguard-linux-compat,
	wireshark, wpewebkit, xen, xorriso, zeromq, zxing-cpp

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

	#11931: Bugs in support/scripts/apply-patches.sh

2020.02.7, released October 12th, 2020

	Important / security related fixes.

	meson: Correct SDK cross-compilation.conf file when
	per-package builds were used to build SDK.

	systemd: Use /run rather than /var/run for PID files in units.

	Toolchain: use Secure-PLT rather than BSS-PLT for PowerPC 32.

	support/script/pycompile: Rework logic to ensure .pyc files
	contain absolute target paths, fixing code inspection at
	runtime when executed with cwd != '/'.

	support/scripts/setlocalversion: Correct Mercurial output to
	match behaviour with Git.

	support/scripts/apply-patches.sh: Use patch
	--no-backup-if-mismatch, so we no longer blindly have to
	remove *.orig files after patching, fixing issues with
	packages containing such files.

	Updated/fixed packages: bandwidthd, barebox, bash, bison,
	brotli, cifs-utils, cryptsetup, dhcpcd, dhcpdump, docker-cli,
	docker-engine, ecryptfs-utils, efl, fail2ban, freetype, gcc,
	gdb, ghostscript, gnutls, go, gst1-plugins-base,
	gst1-plugins-ugly, ipmitool, libhtp, libraw, libssh, libxml2,
	libxml-parser-perl, localedef, lua, memcached, mesa3d, meson,
	minidlna, nginx, nodejs, nss-pam-ldapd, openvmtools, php,
	postgresql, python, python-aenum, python-autobahn,
	python-engineio, python-fire, python-pymodbus, python-scapy,
	python-semver, python-sentry-sdk, python-socketio,
	python-texttable, python-tinyrpc, python-txtorcon, python3,
	qt5base, runc, samba4, strace, supertux, suricata, systemd,
	vlc, wayland-protocols, wireguard-linux-compat, wireshark,
	xserver_xorg-server, zeromq, zstd

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

	#12911: usb_modeswitch installation race condition
	#13251: cryptsetup does not work on branch 2020.02 following..

2020.02.6, released September 5th, 2020

	Important / security related fixes.

	Fix a 2020.02.5 build regression in busybox when systemd (and
	not less) are enabled because of missing infrastructure.

	Updated/fixed packages: alsa-utils, avahi, busybox, cups,
	docker-cli, graphite2, imagemagick, libeXosip2, mbedtls,
	nvidia-driver, paho-mqtt-c, python-django, systemd, uclibc,
	usb_modeswitch, wolfssl

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

	#12911: usb_modeswitch installation race condition

2020.02.5, released August 29th, 2020

	Important / security related fixes.

	Infrastructure: Ensure RPATH entries that may be needed for
	dlopen() are not dropped by patchelf.

	BR_VERSION_FULL/setlocalversion (used by make print-version
	and /etc/os-release): Properly handle local git tags

	Updated/fixed packages: apache, at91bootstrap3, bind, boost,
	busybox, capnproto, chrony, collectd, cpio, cryptsetup, cups,
	cvs, dbus, docker-engine, domoticz, dovecot,
	dovecot-pigeonhole, dropbear, efl, elixir, f2fs-tools, ffmpeg,
	gd, gdk-pixbuf, ghostscript, glibc, grub2, gst1-plugins-bad,
	hostapd, iputils, jasper, json-c, libcurl, libwebsockets,
	linux, live555, mesa3d, mosquitto, mpv, nodejs, opencv,
	opencv3, openjpeg, patchelf, perl, php, postgresql,
	python-django, python-gunicorn, python-matplotlib, ripgrep,
	rtl8188eu, rtl8821au, ruby, shadowsocks-libev, squid,
	tpm2-abrmd, tpm2-tools, trousers, uacme, webkitgtk, wireshark,
	wolfssl, wpa_supplicant, wpewebkit, xen, xlib_libX11,
	xserver_xorg-server

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

	#12876: nodejs fails to build when host-icu has been built before
	#13111: python-gunicorn: missing dependency on python-setuptools
	#13121: wpa_supplicant fails to build without libopenssl enabled
	#13141: Target-finalize fail with "depmod: ERROR: Bad version passed"
	#13156: package live555 new license

2020.02.4, released July 26th, 2020

	Important / security related fixes.

	Toolchain:
	- Make external toolchain version check also work for
	  toolchains configured with --with-gcc-major-version-only

	- Do not handle SOURCE_DATE_EPOCH in toolchain wrapper if the
	  compiler supports it, fixing an issue with precompiled
	  headers

	- Ensure debug libs from external toolchains are not installed
          into target if debugging is disabled

	Download:
	- Correct reproducibility issue in handling of git submodules
	  for older git versions.

	- Fix file locking over NFS

	fs: Ensure cpio archive element order is reproducible

	Br2-external: Fix error reporting for invalid br2-external trees

	Per-package:
	- Fix an issue with python3 sysconfig data not getting
	correctly expanded

	- Fix per-package building for packages using the qmake
          infrastructure

	Updated/fixed packages: a10disp, asterisk, bind, cdrkit,
	checkpolicy, clamav, dbus, docker-cli, docker-engine,
	dvb-apps, e2fsprogs, exim, exiv2, freerdp, gnutls, go, grub2,
	gssdp, gst1-plugins-good, gst1-plugins-ugly, gupnp,
	intel-microcode, iproute2, irrlicht, iwd, jq, kodi, libcamera,
	libconfuse, libcurl, libglib2, libhttpserver, libmicrohttpd,
	libopenssl, libvncserver, libxml2, libxmlrpc, lxc, mbedtls,
	mesa3d, meson, mongodb, mtools, mutt, nghttp2, ngircd, nodejs,
	ntp, open-plc-utils, open2300, openjdk-bin, openssh,
	oracle-mysql, paho-mqtt-c, pcre, php, poco, prosody, putty,
	python-twisted, python-urllib3, python-validators, python3,
	qt5xmlpatterns, redis, rpi-firmware, rtl8821au, samba4, sdl2,
	sqlite, squid, syslog-ng, systemd, tcpreplay, tinydtls,
	upmpdcli, upx, vlc, webkitgtk, wireguard-linux-compat,
	wireshark, wpebackend-fdo, wpewebkit, zstd

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

	#12941: Python GObject fails to build when using BR2_PER_PACKAGE_..
	#12946: Grub: Decompressor is too big.
	#12986: Mtools: Error converting to codepage 850
	#13001: openjdk-bin replaces libfreetype.so from host-freetype
	#13011: Incorrect selection of gcc version
	#13026: rpi-firmware: must not rename start files
	#13031: nodejs: RangeError at new ArrayBuffer()
	#13046: Optimize for fast -Ofast is not compliant

2020.02.3, released June 3rd, 2020

	Important / security related fixes.

	Fix various build issues of host packages on hosts using GCC
	10.

	Updated/fixed packages: arm-trusted-firmware, audit, bind,
	binutils, bison, clamav, crda, dovecot, dtc, efl, elf2flt,
	erlang, fakeroot, ffmpeg, fmc, fmlib, freerdp, gcc, git,
	glib-networking, gnupg, leveldb, libexif, libssh2,
	libusb-compat, linux-headers, lrzip, ltrace, mariadb, mesa3d,
	mp4v2, openldap, openocd, perl, php, prosody,
	python-pycryptodomex, python-pyqt5, qemu, rpi-firmware, rustc,
	speexdsp, sysrepo, systemd, tremor, vboot-utils, wireshark,
	xen

	Removed packages: python-pycrypto

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

	#12361: Init system (systemd) kills login on Raspberry Pi Zero
	#12656: bison fails to relocate with relocate-sdk.sh
	#12671: leveldb won't detect that snappy is present (static..
	#12691: host-rust build fails
	#12831: RPI-firmware package: DTB-overlay dependency

2020.02.2, released May 12th, 2020

	Important / security related fixes.

	Musl: Disallow on PPC64 cores without AltiVec support
	(E.G. e5500).

	fs/cpio: Correctly handle booting with 'console='

	release: Ensure temporary .br2-external.* files are not
	included in the release tarball

	Defconfigs: Fix various mistyped config options, or config
	options where the dependencies were no longer met.

	Updated/fixed packages: apache, azure-iot-sdk-c, binutils,
	boinc, c-ares, cvs, docker-cli, docker-containerd,
	docker-engine, domoticz, e2fsprogs, efl, evtest, exim, ffmpeg,
	freerdp, gcc, gflags, glibc, gnuconfig, haproxy, imx-gpu-2d,
	irrlicht, jpeg kodi-pvr-vuplus, libarchive, libcoap,
	libfpm-extra, libglib2, libhtp, libid3tag, libinput, libmad,
	libopenssl, libsepol, libssh, libv4l, libvncserver, libwpe,
	localedef, mariadb, matchbox, mbedtls, mc, mesa3d-headers,
	meson, midori, msgpack, netsnmp, nginx, ogre, openjdk,
	openldap, openvpn, p7zip, paho-mqtt-c, php, polkit, python,
	python-attrs, python-crossbar, python-dpkt, python-flask,
	python-future, python-iptables, python-jedi, python-markdown2,
	python3, qemu, qpdf, qt5, samba4, squashfs, squid, strongswan,
	suricata, tzdata, util-linux, vlc, wget, webkitgtk,
	wireguard-linux-compat, wireshark, wpebackend-fdo, wpewebkit,
	zic

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

	#11866: initramfs file system fails to boot using Grub on EFI x86_64
	#12271: python-iptables runtime dependencies
	#12726: systemctl preset-all failed for ctrl-alt-del.target
	#12751: OpenJdk package installation issues on target
	#12796: Update OpenSSL to Version 1.1.1g to patch CVE-2020-1967
	#12811: bootstrap stuck and no login prompt
	#12841: util-linux/sfdisk 2.35.1 fails on sector-size header

2020.02.1, released April 10th, 2020

	Important / security related fixes.

	core: Also fixup /lib references in libtool .la files, similar
	to how it is done for /usr/*.

	Various fixes for builds with per-package target/host
	directories.

	toolchain: Fix kernel headers validation check for external
	toolchains. Fix make 4.3+ compatibility in external toolchain
	logic.

	fs/initramfs: fix show-info so it also shows the usual
	rootfs-related variables.

	Updated/fixed packages: arm-trusted-firmware, barebox-aux,
	bluez5_utils, bubblewrap, busybox, civetweb, cog, collectd,
	ffmpeg, gcc, gnutls, gssdp, gvfs, haproxy, hiredis, hostapd,
	kmscube, kodi-screensaver-rsxs, libical, libinput, libexif,
	libopenssl, libsndfile, linux, linux-tools, llvm, localedef,
	mcrypt, mesa3d, meson, monit, nftables, ntp, opencv3,
	oprofile, php, pinentry, polkit, pure-ftpd, python-pyyaml,
	qt5, quagga, radvd, rcw, redis, rocksdb, samba4, screen,
	sdbusplus, swupdate, sysdig, sysklogd, syslinux, syslog-ng,
	tor, tslib, uacme, util-linux, vala, vlc,
	wireguard-linux-compat, wireguard-tools, wireshark,
	wpa_supplicant, xserver_xorg-server

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

	#12711: host-localedef 2.30-20 fails to compile on fedora 32
	#12746: "sysdig" package description points to http://sysdig.org, ..

2020.02, released March 8th, 2020

	Various fixes.

	br2-external: Fix compatibility with make 4.3+

	Updated/fixed packages: bash, bcm2835, binutils, cups,
	erlang-p1-acme, fbgrab, gr-osmosdr, gst1-plugins-base,
	gst1-validate, gstreamer1, guile, jhead, libdrm, libevdev,
	libinput, libnss, libsndfile, libvncserver, linux-firmware,
	mesa3d, nodejs, openjdk-bin, openvmtools, optee-test, patch,
	php, piglit, pppd, python-django, qemu, qt5base, ruby,
	ser2net, swupdate, thrift, zziplib

	Removed packages: classpath, jamvm

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

	#12606: fbgrab location has changed

2020.02-rc3, released March 2nd, 2020

	Fixes all over the tree.

	Infrastructure: Rework file list handling to fix race
	conditions when building with per-package target and host
	directories and top-level parallel builds.

	Updated/fixed packages: aufs, binutils, blktrace, brltty,
	cairo, dnsmasq, docker-compose, elf2flt, exim, exiv2, git,
	kodi-inputstream-adaptive, libarchive, libcgroup, libgdiplus,
	libssh2, libvncserver, libvorbis, linknx, linux-firmware, lxc,
	lz4, mosquitto, openjpeg, openrc, poco, proftpd, pure-ftpd,
	python3, python-multidict, python-setuptools-scm-git-archive,
	qpdf, qt5tools, rdesktop, rocksdb, shellinabox, squid,
	suricata, swig, systemd, taglib, util-linux, wireshark, zsh

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

	#12571: ltp-testsuite : Build failure
	#12576: 2020.02-RC1: error while loading shared libraries: ...
	#12581: 2020.02-rc1 glibc failing to build on fedora 31

2020.02-rc2, released February 26th, 2020

	Fixes all over the tree.

	Toolchain: Ensure strong SSP can only be enabled if the
	(external) toolchain supports it.

	Fix a race condition related to creating the output/staging
	symlink on systems with coreutils < 8.27.

	Drop support for the (end of life) Qt 5.6 variant.

	Updated/fixed packages: at, armadillo, audiofile, bash,
	busybox, erlang, fail2ban, fluidsynth, ipsec-tools, jpeg-turbo,
	kvm-unit-tests, libftdi1, libinput, libsvgtiny, libtomcrypt,
	libupnpp, libxml2, linux-tools, luv, mbedtls, mesa3d, minicom,
	openvmtools, php, qt5, qt5webengine, qwt, radvd, rcw,
	sdbusplus, systemd, tpm2-tss, vorbis-tools

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

	#12581: 2020.02-rc1 glibc failing to build on fedora 31

2020.02-rc1, released February 18th, 2020

	Fixes all over the tree and new features.

	Add experimental support for building with a per-package
	target and host directory. This still has some rough edges,
	but brings a number of advantages:

	- Packages will only be able to access the explicitly listed
          dependencies and not any other packages that happen to be
          built before, ensuring correct dependency information in
          Buildroot.

	- Possibility for top-level parallel builds, speeding up
          builds on multicore machines.

	Core: Ensure package-file-lists data is correct after
	incremental builds as well.

	Architecture: Add support for ARC-HS38 with 64bit multiplier
	variant, allow building glibc for big endian ARC, handle 16KB
	MMU page size for ARC in toolchain wrapper.

	Toolchain: Add binutils 2.33.1, GCC 7.5.0, Arm 9.2-2019.12
	toolchains, ARC 2019.09 toolchain. Allow using custom kernel
	headers newer than what is known by Buildroot.

	pkg-stats: Support for CVE vulnerability reporting by
	comparing to NVD database.

	Reproducible builds: The go -trimpath option is now used to
	get rid of absolute build paths, __FILE__ and __BASE_FILE__
	defines are now handled in the toolchain wrapper.

	Systemd: Build host variant and use systemctl to automatically
	enable unit files rather than manually managing symlinks.

	Util-linux: Ensure that hwclock is built without GPLv3
	code. Notice that builds with hwclock has contained
	GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+)

	New defconfigs: Beelink GS1, Raspberrypi4 64bit

	New packages: alura, avro-c, bubblewrap, cctz, cereal,
	cpuburn-arm, elixir, erlang-base64url, erlang-idna,
	erlang-jose, erlang-p1-acme, erlang-p1-mqtree,
	erlang-p1-yconf, fluid-soundfont, fluidsynth, gcnano-binaries,
	gensio, glslsandbox-player, libargon2, libmodsecurity,
	libpam-nfc, libtelnet, lua-codegen, lua-livr, lua-livr-extra,
	lua-rotas, lua-silva, mfoc, network-manager-openvpn,
	nginx-modsecurity, perl-crypt-openssl-aes,
	perl-math-prime-util, pipewire, ptm2human, python-aenum,
	python-aiohttp-debugtoolbar, python-aiohttp-mako,
	python-aiologstash, python-aiosignal, python-aiozipkin,
	python-async-lru, python-avro, python-bunch, python-crontab,
	python-dnspython, python-entrypoints, python-esptool,
	python-frozenlist, python-future, python-gitdb, python-janus,
	python-lockfile, python-logstash, python-nested-dict,
	python-pbr, python-pyaes, python-pydantic, python-smmap2,
	python-sockjs, python-zc-lockfile, raspi-gpio, rocksdb,
	sdbusplus, spidermonkey, thermald, ti-sgx-libgbm, tinyssh,
	tio, umtprd, weston-imx, wireguard-linux-compat,
	wireguard-tools, xdg-dbus-proxy

	Removed packages: bluez_utils, celt051, erlang-p1-iconv, fis,
	gadgetfs-test, libplayer, gstreamer, gst-ffmpeg,
	gst-fsl-plugins, gst-omapfb, gst-plugins-bad,
	gst-plugins-base, gst-plugins-good, gst-plugins-ugly,
	perl-digest-md5, perl-mime-base64, perl-net-ping,
	python-scapy3k, wireguard

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

	#11906: the new version of mesa3d cannot support etnaviv when..
	#11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16
	#12121: PyQt5.QtSerialPort and other modules not being built
	#12256: package tar is outdated (1.29 is 3 years old
	#12286: Can't import gobject in python 3.8
	#12376: python-scapy3k is deprecated
	#12386: carriage return issue when "make menuconfig"
	#12441: qt5webengine build error: asm/errno.h: No such file or..
	#12446: Buildroot fails to finish installing packages
	#12456: qtvirtualkeyboard: No such file or directory
	#12461: libglib2 build files with deep directory structure
	#12481: minicom fails when output directory path contains "m4"
	#12501: libnss-3.49.1: ld error: multiple definition of `gcm_..
	#12526: host-nodejs 12.14.1: configure fail: AttributeError: ..
	#12536: Linux-Headers extracting failure
	#12546: Ninja 1.10 build Error

2019.11.3, released April 10th, 2020

	Important / security related fixes.

	core: Fix compatibility with make 4.3+. Also fixup /lib
	references in libtool .la files, similar to how it is done for
	/usr/*.

	toolchain: Fix kernel headers validation check for external
	toolchains.

	fs/initramfs: fix show-info so it also shows the usual
	rootfs-related variables.

	Updated/fixed packages: barebox-aux, bluez5_utils, busybox,
	civetweb, cog, collectd, ffmpeg, gcc, gnutls, gssdp, gvfs, haproxy,
	hiredis, hostapd, kmscube, libical, libopenssl, libsndfile,
	linux-tools, llvm, monit, ntp, php, pure-ftpd, radvd, redis,
	samba4, screen, sysdig, syslinux, syslog-ng, tor, uacme,
	util-linux, vala, vlc, wpa_supplicant, xserver_xorg-server

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

	#12746: "sysdig" package description points to http://sysdig.org, ..

2019.11.2, released March 16th, 2020

	Important / security related fixes.

	Core: Ensure package-file-lists data is correct after
	incremental builds as well.

	Fix a race condition related to creating the output/staging
	symlink on systems with coreutils < 8.27.

	Toolchain: ARC tools bumped to arc-2019.09.

	Br2-external: Fix patch handling when external linux-extension
	packages are used. Fix compatibility with make 4.3+

	Util-linux: Ensure that hwclock is built without GPLv3
	code. Notice that builds with hwclock has contained
	GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+)

	Updated/fixed packages: armadillo, at, bcm2835, binutils,
	blktrace, bluez-alsa, bootstrap, brltty, busybox, cairo,
	clamav, cog, cups, czmq, dnsmasq, docker-containerd, dovecot,
	dovecot-pigeonhole, e2fsprogs, elf2flt, eudev, exim, exiv2,
	fbgrab, gettext-tiny, glibc, go, grep, gst1-validate, guile,
	imagemagick, jhead, jpeg-turbo, kvm-unit-tests, lapack,
	libarchive, libcgroup, libdrm, libevent, libexif, libftdi1,
	libgdiplus, libjpeg, libsigrok, libsndfile, libssh2,
	libsvgtiny, libvncserver, libvorbis, libxml2, libxslt, linknx,
	lxc, lz4, mariadb, mbedtls, meson, mongoose, mosquitto, musl,
	ncurses, nodejs, ntfs-3g, ogre, opencv3, openjdk, openjpeg,
	openrc, openswan, openvmtools, optee-test, patch, php, piglet,
	postgresql, pppd, proftpd, pure-ftpd, python-django,
	python-pyqt5, python-setuptools-scm-git-archive, python3,
	qemu, qt5base, qt5tools, qt5virtualkeyboard, qt5webengine,
	qwt, rdesktop, ruby, runc, samba4, shellinabox,
	skeleton-init-openrc, smartmontools, spdlog, sqlcipher, squid,
	suricata, swig, swupdate, sysklogd, taglib, thrift,
	ti-cgt-pru, uclibc, util-linux, vorbis-tools, webkitgtk,
	wireshark, wpebackend-fdo, wpewebkit, xen,
	xserver_xorg-server, zeromq, zsh, zziplib

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

	#11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16
	#12331: meson issue
	#12456: qtvirtualkeyboard: No such file or directory
	#12461: libglib2 build files with deep directory structure
	#12481: minicom fails when output directory path contains "m4"
	#12606: fbgrab location has changed

2019.11.1, released January 12th, 2020

	Important / security related fixes.

	Infrastructure: kconfig: Fix reconfigure logic, python: Ensure
	correct compiler and linker flags are used for compiled code

	utils/scanpypi: Remind users to update DEVELOPERS

	Defconfigs: imx6-sabresd: Fix the Qt5 display names,
	imx8: Drop extra copy of U-Boot DTB

	Updated/fixed packages: acsccid, bitcoin, boost, busybox,
	cc-tool, cmocka, cpio, cups, dante, dialog, dillo, docker-cli,
	docker-containerd, docker-engine, easy-rsa, ebtables,
	ecryptfs-utils, efl, ffmpeg, gdb, git, glibc, gnupg2, go,
	gpsd, grpc, gst1-plugins-bad, iputils, jasper,
	kf5-kcoreaddons, leveldb, libarchive, libfribi, libgit2,
	libkrb5, libp11, librsvg, libssh, libtomcrypt, libuio, libv4l,
	lirc-tools, log4cplus, lrzip, lvm2, mali-t76x,
	matchbox-desktop, mender-grubenv, mmc-utils, mosquitto,
	nodejs, ntp, openipmi, opencv3, openpowerlink, openrc, pango,
	perl-sys-cpu, pimd, postgresql, pulseaudio, python-brotli,
	python-coherence, python-crc16, python-django, python-dpkt,
	python-gobject, python-pyasn-modules, python-pypcap,
	python-pyqt5, python-subprocess32, python3, qpdf,
	qt-webkit-kiosk, qt5virtualkeyboard, qt5webengine, quota,
	rabbitmq-c, rauc, rpcbind, rtl8821au, runc, rygel, samba4,
	sdl2, setserial, snort, spidev_test,
	sunxi-mali-mainline-driver, syslog-ng, sysrepo, tcllib, tftpd,
	usbmount, w_scan, wavpack, wsapi, wsapi-fcgi, wsapi-xavante,
	x265, xserver_xorg-server, ytree, zip

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

	#12121: PyQt5.QtSerialPort and other modules not being built
	#12286: Can't import gobject in python 3.8

2019.11, released December 1st, 2019

	Various fixes.

	Infrastructure: Make HOST_<pkg>_DL_OPTS inherit from
	<pkg>_DL_OPTS by default, just like it is done for a number of
	other package variables.

	Add <pkg>_KEEP_PY_FILES to exclude specific python .py files
	from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for
	the (rare) case where the .py files are needed at runtime
	rather than .pyc.

	Updated/fixed packages: am33x-cm3, bind, collectd, go, gob2,
	gst1-plugins-bad, haproxy, jasper, jpeg-turbo, libdrm,
	libftdi, libftdi1, libnss, libselinux, libstrophe, lzma,
	minicom, network-manager, nodejs, oniguruma, opencv3,
	openvmtools, perl-gdgraph, perl-gdtextutil, prosody,
	python-cchardet, systemd, tiff, wolfssl,

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

	#11416: check-uniq-files staging issue
	#12146: Oprofile runtime issue
	#12166: Compiling nodejs for SAMA5D3 always crash with illegal inst..
	#12171: Python-opencv needs config.py and config-3.7.py to run..
	#12196: duma package
	#12211: host-nodejs 10.15.3 package fail to build
	#12316: tzdata fails to install with empty "default local time"
	#12326: network-manager build fails with missing glib error
	#12366: Gstreamer1 gst1-plugins-bad do not compile with RPI-Userland

2019.11-rc3, released November 24th, 2019

	Fixes all over the tree.

	Updated/fixed packages: asterisk, clamav, domoticz, faifa,
	gerbera, kmod, kvm-unit-tests, libupnp18, linux-serial-test,
	lsof, ltp-testsuite, lxc, mesa3d, mesa3d-headers, perl, php,
	postgresql, qemu, rauc, redis, rpcbind, spice, spice-protocol,
	systemd, tftpd, waylandpp, webkitgtk, zip

2019.11-rc2, released November 16th, 2019

	Fixes all over the tree.

	Toolchain: ARC tools bumped to arc-2019.09-rc1, ensure
	external toolchain kernel headers version check correctly stop
	the build on mismatch

	Meson: Fix generation of global cross-compilation.conf

	Download: Also use the package download method for extra
	downloads from the same site, so it does not get confused by
	URLs containing '+'

	Defconfigs: Fix boot issue for beaglebone

	Updated/fixed packages: bird, chrony, connman, dhcp, domoticz,
	dropwatch, dtc, elf2flt, gettext-tiny, glog, intel-microcode,
	ipsec-tools, jailhouse, kodi, libfribi, libmbim, libressl,
	libsigrokdecode, libsvgtiny, linux-serial-test, ltp-testsuite,
	lvm2, lxc, mariadb, mesa3d, minizip, ndisc6, neardal, ninja,
	ofono, openvmtools, oracle-mysql, qt5wayland, safeclib, socat,
	sudo, systemd, wpewebkit, xserver_xorg-server

2019.11-rc1, released November 5th, 2019

	Fixes all over the tree and new features.

	Dependencies: Gcc/g++ 4.8 or newer is now required on the
	build host.
	Ensure host has JSON::PP perl module installed if
	webkitgtk/wpewebkit packages are enabled as it is needed
	during their build process.

	Toolchain: Add support for the D programming language (GCC
	9.x, Glibc).
	GCC 9.x updated to 9.2.0, Glibc updated to 2.30, Musl updated
	to 1.1.24, uClibc-ng updated to 1.0.32, ARC toolchain updated
	to arc-2019.09-eng002.
	Musl: Add a patch to add support for
	sched_{get,set}scheduler() and sched_{get,set}param() for
	compatibility.
	Generate check-headers program under BUILD_DIR rather than
	/tmp to fix issues with distributions mounting /tmp noexec.
	Also copy libssp.so for external toolchains if SSP
	to handle toolchains providing SSP support in libssp rather
	than in the C library

	New defconfigs: Beaglebone AI, FriendlyARM Nanopi NEO Plus2,
	Libre Computer "La Frite", QEMU Armv7-A with trustzone/OP-TEE,
	STM32MP157 Discovery Kit

	Arch: RISC-V: Default to a sensible floating point ABI based
	on the selected ISA extensions rather than always defaulting
	to ILP32/64

	Graph-size: Package sizes are now shown in human readable form
	(Kib/Mib/Gib) rather than always in Kib. Binary (KB/MB/GB)
	format can be selected using the --binary option. The cut-off
	limit for classifying packages as "other" is now configurable
	using the --size-limit option.

	Br2-external: Linux kernel extensions can now also be provided
	in an external tree by adding packages under
	linux/linux-ext-*.mk. See the manual for details.

	Fakeroot now works correctly under Microsoft Windows 10
	Services for Linux, which does not provide SYSV IPC support

	The check-uniq-files logic which would complain if multiple
	packages would touch the same files has been removed as it
	causes issues in certain situations (when packages are
	rebuilt) and the issue is no longer considered a problem for
	toplevel parallel builds as those will use a per-package
	staging/target directory.
	With this removed, Python is no longer required for a basic
	build (only for optional scripts).

	support/scripts/genimage.sh will no longer make a copy of
	TARGET_DIR, speeding up post-build/image scripts.

	The runtime test logic now uses Python 3.x.

	A 'v' prefix has been dropped from the <pkg>_SOURCE variable
	for a number of packages to match the version numbers used by
	https://release-monitoring.org

	New packages: caps, collectl, dav1d, fstrcmp, ima-evm-utils,
	jitterentropy-library, kodi-vfs-rar, kodi-vfs-sftp, libavl,
	libhttpserver, libmspack, libnetconf2, libolm, libyang,
	linux-serial-test, lrzip, mdevd, minimodem, musl-fts, netifrc,
	ogre, openlayers, python-aioredis, python-asgiref,
	python-backports-functools-lru-cache, python-bluezero,
	python-brotli, python-channels, python-channels-redis,
	python-colorlog, python-daphne, python-django-enumfields,
	python-jaraco-functools, python-kiwisolver, python-msgfy,
	python-rpi-ws281x, python-setuptools-scm-git-archive,
	python-simplelogging, python-soupsieve, python-sqliteschema,
	python-sqlparse, python-tqdm, python-webencodings, qt5webview,
	restclient-cpp, ripgrep, snmpclitools, sunwait, sysrepo,
	uacme, utf8proc, uvw, ytree

	Removed packages: alljoyn, alljoyn-base, alljoyn-tcl-base,
	devmem2, eventlog, kodi-audiodecoder-opus,
	kodi-screensaver-planestate, kodi-visualisation-waveforhue,
	python-pysnmp-apps, riscv-pk, ustr

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

	#9881:  systemd-resolved not setting resolv.conf link
	#10171: devmem2 w (word) is 8 bytes in x86 64 systems
	#10586: musl gcc has ifunc enabled when musl doesn't support it
	#10806: Allow nfs-utils to use ipv6
	#11366: [2018.08] SysV IPC not available for fakeroot on WSL
	#11411: check-uniq-files target issue
	#11766: Console (getty) issues with systemd
	#11781: mariadb build error
	#12031: Build of cups-filters fails while linking, apparently due..
	#12116: console prompt does not appear after login
	#12141: eudev package is missing "render" and "kvm" groups
	#12181: dropbear: norootlogin (-w) no longer works when PAM is enabled
	#12186: Raspberry Pi Zero-W build fails on newer kernel versions
	#12191: cmake BUILDDIR
	#12241: Permission denied while running "make"
	#12261: sudo versions prior to 1.8.28 are affected.
	#12276: make clean/distclean does not remove BR2_DL_DIR and BR2_HOST_DIR
	#12281: Custom configuration fails to build (based on raspberrypi3_..

2019.08.3, released December 7th, 2019

	Important / security related fixes.

	Infrastructure: Make HOST_<pkg>_DL_OPTS inherit from
	<pkg>_DL_OPTS by default, just like it is done for a number of
	other package variables

	Add <pkg>_KEEP_PY_FILES to exclude specific python .py files
	from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for
	the (rare) case where the .py files are needed at runtime
	rather than .pyc.

	Fix <pkg>-reconfigure handling for packages using the kconfig
	infrastructure.

	Toolchain: ensure external toolchain kernel headers version
	check correctly stop the build on mismatch

	Deconfigs: beaglebone: fix boot issue

	Updated/fixed packages: am33x-cm3, asterisk, bind, chrony,
	clamav, cmocka, collectd, connman, dhcp, dropwatch, faifa,
	gettext-tiny, gob2, haproxy, intel-microcode, ipsec-tools,
	jailhouse, jasper, jpeg-turbo, kodi, kvm-unit-tests, libftdi,
	libftdi1, libnss, libressl, libstrophe, libsvgtiny, lvm2,
	lzma, mariadb, minicom, mosquitto, neardal, ninja, nodejs,
	oniguruma, openvmtools, oracle-mysql, perl-gdgraph,
	perl-gdtextutil, php, postgresql, prosody, python-cchardet,
	python-django, qt5wayland, rabbitmq, rauc, redis, rpcbind,
	socat, spice, spice-protocol, tftpd, tiff, webkitgtk

	New packages: libmspack

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

	#12166: Compiling nodejs for SAMA5D3 always crash with illegal inst..
	#12171: Python-opencv needs config.py and config-3.7.py to run..
	#12211: host-nodejs 10.15.3 package fail to build
	#12316: tzdata fails to install with empty "default local time"

2019.08.2, released November 9th, 2019

	Important / security related fixes.

	Toolchain: Also copy libssp.so for external toolchains if SSP
	to handle toolchains providing SSP support in libssp rather
	than in the C library

	Download: Also use the package download method for extra
	downloads from the same site, so it does not get confused by
	URLs containing '+'

	Fakeroot now works correctly under Microsoft Windows 10
	Services for Linux, which does not provide SYSV IPC support

	utils/test-pkg: ensure to exit with an error upon failure

	Updated/fixed packages: asterisk, azmq, binutils,
	cups-filters, domoticz, dtc, duma, elf2flt, eudev, exfat,
	exfat-utils, fakeroot, fdk-aac, file, freerdp, gcc, gd,
	ghostscript, go, gpsd, grpc, gst1-plugins-base, gvfs, icu,
	intel-microcode, kvm-unit-tests, libfribidi, libnspr, libnss,
	libopenssl, libpcap, libpciaccess, librsvg, libseccomp,
	libsigrok, libtorrent, libunwind, libva, linux-tools,
	lua-sdl2, lxc, minizip, mjpegtools, mongoose, mono, nbd,
	nfs-utils, php, piglit, python, python-autobahn,
	python-pysnmp-apps, python-tornado, python3, qemu, qt5base,
	ruby, safeclib, samba4, sdl_mixer, sox, sudo, suricata,
	systemd, tcpdump, unscd, util-linux, vdr-plugin-vnsiserver,
	vtun, wireshark, xvisor, yaffs2utils

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

	#11366: [2018.08] SysV IPC not available for fakeroot on WSL
	#12261: sudo versions prior to 1.8.28 are affected

2019.08.1, released October 3rd, 2019

	Important / security related fixes.

	Defconfigs: AArch64-efi: Fix grub configuration, Beaglebone:
	Use default console settings

	Dependencies: Ensure host has JSON::PP perl module installed
	if webkitgtk/wpewebkit packages are enabled as it is needed
	during their build process.

	Toolchain: Generate check-headers program under BUILD_DIR
	rather than /tmp to fix issues with distributions mounting
	/tmp noexec.

	Updated/fixed packages: asterisk, augeas, axel, bind, bwm-ng,
	cups, cups-filters, docker-cli, docker-engine, docker-proxy,
	e2fsprogs, eudev, exim, expat, gcc, go, haveged, ifplugd, joe,
	kf5-extra-cmake-modules, kf5-modemmanager-qt,
	kf5-networkmanager-qt, libcamera, libcurl, libgcrypt,
	libglib2, libgpg-error, libnspr, libnss, libopenssl,
	logrotate, luksmeta, mariadb, mbedtls, mongodb, mosquitto,
	ncurses, nfs-utils, nghttp2, nodejs, openvmtools, php,
	protobuf, putty, qemu, samba4, snort, swupdate,
	systemd-bootchart, thttpd, uclibc, unzip, util-linux,
	wireshark

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

	#10806: Allow nfs-utils to use ipv6
	#11781: mariadb build error
	#12031: Build of cups-filters fails while linking, apparently due..
	#12141: eudev package is missing "render" and "kvm" groups
	#12241: Permission denied while running "make"

2019.08, released September 1st, 2019

	Various fixes.

	Defconfigs: Removed nanopc t4, nanopi m4 and neo4, pine64
	rockpro64 and raxda rock pi4 as they rely on a ARM32 toolchain
	on the build host to build ATF. These defconfigs will be added
	back once a package providing such toolchain is
	available. Also dropped ts4800 defconfig as it does not build
	with GCC >= 8.x.

	Updated/fixed packages: libxcb, php, python-numpy, webkitgtk,
	wpewebkit, xfont_font-util

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

	#12156:	buildroot-2019.08-rc3 does not build for Pi Zero W

2019.08-rc3, released August 28th, 2019

	Fixes all over the tree.

	Updated/fixed packages: clamav, dovecot, dovecot-pigeonhole,
	gcc, intel-microcode, libmicrohttpd, libmodplug, mpg123,
	nginx, openldap, python, qemu, samba4, squid, strace, vlc

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

	#11686: fbdev_drv.so: undefined symbol: shadowUpdatePackedWeak,..

2019.08-rc2, released August 20th, 2019

	Fixes all over the tree.

	Compile fixes for a number of defconfigs.

	Updated/fixed packages: apache, autofs, batctl, batman-adv,
	bind, collectd, cwiid, dahdi-linux, dahdi-tools, daq,
	dehydrated, dhcp, dtc, efl, enlightenment, evtest, giflib,
	gnutls, go, gst-plugins-bad, gst-plugins-base,
	gst1-plugins-bad, gst1-plugins-base, gst1-rtsp-server, gtkmm3,
	gupnp, harfbuzz, imagemagick, lftp, libbsd, libcpprestsdk,
	libdnet, libfm, libgit2, libgtk2, libgtk3, libpri, librsvg,
	libss7, libssh2, libwpe, lua-cqueues, metacity, micropython,
	mpd, mpg123, musl, mpv, openblas, openbox, opencv, pango,
	pcmanfm, piglit, pigpio, pinentry, postgresql, qemu, qt5base,
	qt5enginio, qt5multimedia, qt5serialbus, quagga, quazip,
	rrdtool, rygel, samba4, stellarium, tcpreplay, ti-gfx, vte,
	wampcc, wilink-bt-firmware, wireless-regdb, wpebackend-fdo,
	xscreensaver

	Removed packages: libamcodec, odroid-mali, odroid-scripts

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

	#9481:  NetworkManager/Ping unable to resolve domains
	#10566: php.mk is missing option --with-pgsql
	#10861: Package batman_adv Makefile is missing include header direct..
	#11641: linux kernel .config timestamp always out of date fixed with..
	#11671: russian locale ru_RU:145: LC_TIME: syntax error
	#11701: recuuring of usr and in bin shortcuts are created
	#11741: pigpio does not build host-pigpio
	#11876: automount using host mount/umount
	#11881: Build breaks with lftp package enabled and libexpat1-dev inst..
	#11921: dahdi fails to build
	#11936: libcpprestsdk should install to staging
	#11946: wilink-bt-firmware: moved from github to http://git.ti.com/ti-bt
	#11961: libpri build failure
	#12086: dhcp shared libraries not installed to target
	#12096: tcpreplay: build fails if libdumbnet-dev is installed in the..
	#12106: daq: build fails if libdumbnet-dev is installed in the host
	#12126: vc4 has neon as hard dependency

2019.08-rc1, released August 9th, 2019

	Fixes all over the tree and new features.

	toolchain: ARC toolchain updated to 2019.03 (binutils 2.32.51
	/ GCC 8.3.1 / glibc 2.29), ARM AAarch64/ARM toolchains updated
	to 2019.03. Add GCC 9.1.0, remove GCC 4.9 and 6.5, add GDB
	8.3, remove GDB 7.12 and 8.0.1, default to GDB 8.2, GCC
	8.3.0. Musl updated to 1.1.23, bringing support for RISC-V 64.

	Architectures: Internal toolchain support for C-SKY, support
	for ARC HS48 v3.1 and HS38 with Quad MAC & FPU, support for
	ARM A76,  A76/A55 big.LITTLE, emag, neoverse-N1, phecda and
	tsv110.

	Filesystems: Pass extra pax options to tar for binary
	reproducibility. Build host-cpio for the --reproducible option
	support when BR2_REPRODUCIBLE is enabled. Genimage updated to
	version 11, bringing GPT support.

	Br2-external: Add support for injecting additional options to
	the list of preconfigured external toolchains and libjpeg and
	openssl providers using files under provides/. See the manual
	for details.

	Ensure custom <pkg>_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS are
	passed before the standard exclusions so they are not ignored
	by rsync when using override-srcdir.

	Gnuconfig updated to 2019-05-28, adding C-SKY support.

	test-pkg: Correct long option handling and clean output dir
	after a successful build to save disk space.

	support/testing: Emulate a machine with 256MB RAM to fix
	issues with certain tests running out of memory, use
	virtio-rng to provide needed entrophy.

	pkg-stats: support outputting in JSON format with --json for
	easier post processing. The classic HTML output is still
	available with --html. Parallelize access to
	release-monitoring.org to speed up runtime.

	Drop non-conventional version prefix/suffix/separators for
	packages for better compatibility with release-monitoring.org

	Packages:
	Init systems: Add basic openrc support and
	<pkg>_INSTALL_INIT_OPENRC variable in the infrastructure to
	install openrc service scripts if enabled.

	busybox: Build each applet as a separate binary when SELinux
	is enabled for more finegrained policy control. Use daemon
	mode for mdev rather than legacy hotplug.

	linux: Workaround -Werror related build failure on powerpc,
	by forcing CONFIG_PPC_DISABLE_WERROR on.

	Defconfigs: QEMU: use 'rootwait' kernel option to ensure root
	partition is available before mounting.

	New defconfigs: HiFive Unleashed, I.MX8MM EVK and Pico, Nanopi
	m4 and neo4, Nanopc t4, Olimex A33 olinuxino, Pine64
	Rockpro64, PowerPC mac99, QEMU C-SKY 610/807/810/860 virt,
	Raspberry Pi 4, Raxda rock pi4, Solidrun Clearfog GT-8K

	Removed defconfigs: Odroid C2

	New packages: bitcoin, c-capnproto, fatcat, ifmetric, jack1,
	jailhouse, libubootenv, luasyslog, mender-grubenv,
	murata-cyw-fw, openrc, piglit, python-colorama, python-cycler,
	python-hiredis, python-ifaddr, python-inflection,
	python-iptables, python-matplotlib, python-periphery,
	python-pycairo, python-redis, python-termcolor,
	python-tinyrpc, python-txdbus, skeleton-init-openrc, spdlog,
	sshguard, stellarium, zziplib

	Removed packages: xapp_mkfontdir

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

	#11096: Upgrade from glibc 2.26 to 2.27 broke some locales...
	#11271: utils/check-package fails with exception depending on..
	#11991: [numpy] segfault when compiling for RPi3 64bits
	#12016: Grub fails to boot bzImage after upgrade to 2019.05
	#12046: Can’t login as root user after upgrading to buildroot..
	#12051: package/dhcp installs libtool wrapper scripts on tar...
	#12076: Patchelf can link against an incompatible libc++ ver...

2019.05.3, Released October 3rd, 2019

	Important / security related fixes.

	Defconfigs: AArch64-efi: Fix grub configuration, Beaglebone:
	Use default console settings

	Dependencies: Ensure host has JSON::PP perl module installed
	if webkitgtk/wpewebkit packages are enabled as it is needed
	during their build process.

	Toolchain: Generate check-headers program under BUILD_DIR
	rather than /tmp to fix issues with distributions mounting
	/tmp noexec.

	Updated/fixed packages: asterisk, augeas, bind, bwm-ng, cups,
	cups-filters, docker-cli, docker-engine, docker-proxy,
	e2fsprogs, eudev, exim, expat, gcc, go, haveged, ifplugd,
	iptables, joe, kf5-extra-cmake-modules, kf5-modemmanager-qt,
	kf5-networkmanager-qtlibcamera, libcurl, libgcrypt,
	libgpg-error, libnftl, libnspr, libnss, libopenssl,
	libtorrent-rasterbar, luksmeta, mariadb, mbedtls, mongodb,
	mosquitto, ncurses, nfs-utils, nghttp2, nodejs, openvmtools,
	php, protobuf, putty, qemu, samba4, swupdate,
	systemd-bootchart, thttpd, uclibc, unzip, util-linux,
	wireshark

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

	#10806: Allow nfs-utils to use ipv6
	#11781: mariadb build error
	#12031: Build of cups-filters fails while linking, apparently due..
	#12141: eudev package is missing "render" and "kvm" groups
	#12241: Permission denied while running "make"

2019.05.2, Released September 3rd, 2019

	Important / security related fixes.

	Filesystems: Pass extra pax options to tar for binary
	reproducibility.

	Updated/fixed packages: apache, arm-trusted-firmware,
	asterisk, atk, autofs, batctl, batman-adv, berkeleydb,
	busybox, bzip2, clamav, cloop, cmake, collectd, connman-gtk,
	dahdi-linux, dahdi-tools, daq, dehydrated, dhcp, dovecot,
	dovecot-pigeonhole,, elfutils, evtest, exim, expect, giflib,
	git, glib-networking, glibc, gnupg2, gnutls, go,
	gst1-rtsp-server, gtkperf, gupnp-tools, gvfs, imagemagick,
	imx-uuc, intel-microcode, json-glib, lftp, libbsd, libcurl,
	libgit2, libgtk2, libgtk3, libmodplug, libnss, libpri,
	libshout, libss7, libssh2, libvips, libxcb, linux-headers,
	mdadm, mesa3d, metacity, mpg123, mosquitto, musl, nginx,
	oniguruma, openblas, opencv3, openjdk, openjdk-bin, openldap,
	openvmtools, pcmanfm, php, pigpio, postgresql, prboom,
	proftpd, proj, python, python-django, python-idna,
	python-numpy, python-urllib3, python3, qemu, qt5, qt5base,
	qt5enginio, quagga, rygel, squid, subversion, tcpreplay,
	unzip, vlc, vte, webkitgtk, wireless-regdb, xen,
	xfont_font-util, xlib_libICE, xlib_libXfont, xlib_libXfont2,
	yad, zeromq

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

	#11741: pigpio does not build host-pigpio
	#11876: automount using host mount/umount
	#11881: Build breaks with lftp package enabled and libexpat1-dev inst..
	#11921: dahdi fails to build
	#11961: libpri build failure
	#12086: (dhcpd-missing-libs) - dhcp shared libraries not installed to..
	#12096: tcpreplay: build fails if libdumbnet-dev is installed in the..
	#12106: daq: build fails if libdumbnet-dev is installed in the host
	#12126: vc4 has neon as hard dependency

2019.05.1, Released July 7th, 2019

	Important / security related fixes.

	arch: x86: Fix typo breaking 'core-avx2' variant

	linux: Workaround -Werror related build failure on powerpc,
	by forcing CONFIG_PPC_DISABLE_WERROR on.

	support/testing: Emulate a machine with 256MB RAM to fix
	issues with certain tests running out of memory.

	test-pkg: Correct long option handling and clean output dir
	after a successful build to save disk space.

	Defconfigs: QEMU: use 'rootwait' kernel option to ensure root
	partition is available before mounting.

	Updated/fixed packages: barebox, busybox, bzip2, davfs2,
	dialog, docker-cli, docker-engine, exim, expat, faad2,
	haveged, irssi, libcamera, libcdaudio, libcurl, libglib2,
	libressl, libsecret, lmbench, meson, monit, php, postgresql,
	psplash, python-django, qt5base, tvheadend, webkitgtk,
	xserver_xorg-server, znc

2019.05, released June 2nd, 2019

	Various fixes.

	Toolchain: Ensure pre-built Andes toolchains can only be
	selected when x86 32bit support is available on the host.
	Disallow PowerPC SPE ABI for GCC >= 8.x, as it is no longer
	supported.

	Infra: pkg-config: Use a dedicated timestamp file rather than
	.config as that gets touched by linux-4.19+, causing repeated
	builds.

	Add C-SKY support to our config.sub (gnuconfig)

	Updated/fixed packages: dosfstools, botan, brotli, dropbear,
	flare-engine, gst1-plugins-bad, libhtp, libnss, libopenssl,
	linuxptp, matchbox-panel, mender, mutt, netsurf,
	network-manager, opencv3, openjdk, openmpi, php,
	python-cython, qt5multimedia, qtwayland, qt5webkit-examples,
	supertux, suricata, tpm2-totp, v4l2loopback, wireshark,
	wpewebkit

2019.05-rc3, released May 25th, 2019

	Fixes all over the tree.

	check-bin-arch: Ignore /usr/lib/grub, similar to how /lib/grub
	is ignored.

	check-package: Warn about utf-8 characters in .mk files

	Linux: Default to 5.1.x series

	Updated/fixed packages: assimp, atop, chocolate-doom, cjson,
	ddrescue, dhcp, ffmpeg, gerbera, glibmm, gpsd, gst-ffmpeg,
	intel-microcode, jasper, keepalived, kismet, libcpprestsdk,
	libcurl, libssh2, libupnp18, luarocks, mono-gtksharp3, opus,
	postgresql, pcsc-lite, python, tslib, webkitgtk,
	wpebackend-fdo, wpewebkit

2019.05-rc2, released May 15th, 2019

	Fixes all over the tree.

	Updated/fixed packages: bind, bullet, ca-certificates,
	collectd, cracklib, dhcp, gdb, libinput, libtorrent-rasterbar,
	linknx, lynx, mono, netsurf, optee-os, postgresql, qt5enginio,
	qt5multimedia, rpm, samba4, sqlite, strace, uclibc, woff2

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

	#11841: grub-efi.cfg not used when building EFI disk image

2019.05-rc1, Released May 8th, 2019

	Fixes all over the tree and new features.

	Architecture: Andes 32-bit (nds32) support added.

	Only build host-lzip / host-xz when really needed by packages,
	not just when not available on the build host.

	Toolchain: Glibc bumped to 2.29, musl bumped to 1.1.22,
	binutils 2.32 added, 2.28/2.29 removed, default changed to
	2.31.1.

	fs: Set FAKEROOTDONTTRYCHOWN environment variable to not
	forward {f,l,}chown calls to libc when running under fakeroot
	to fix issues when building in restricted environments
	(E.G. user namespace with bubblewrap).

	Linux: Also build default make target to ensure extra files
	like the gdb scripts enabled by CONFIG_GDB_SCRIPTS are also
	built. Notice: This may mean that extra host utilities like
	uboot-mkimage are needed.

	Infrastructure: show-info and <pkg>-show-info make targets
	added to output package metadata in JSON format for external
	use.

	pkg-generic: Only tweak .la files needing it to ensure they
	are not included in subsequent package file lists.

	test-pkg: Generate a basic package config if none is
	specified.

	Gettext-tiny package added as an lightweight replacement for
	GNU gettext for situations where NLS support is not needed.

	New defconfigs: Andes AE3XX, Freescale imx8mpico / imx8qxpmek
	/ T2080 QDS RDB, Licheepi zero, Orangepi R1

	Removed defconfigs: Olimx A20 Olinuxino Lime legacy

	New packages: bats-core, bayer2rgb-neon, brickd, cog, dacapo,
	enet, gettext-tiny, gli, gst1-plugins-bayer2rgb-neon,
	imx-sc-firmware, intel-mediadriver, intel-mediasdk, libcamera,
	libhtp, libp11, libwpe, lua-binaryheap, lua-gd, lua-lunitx,
	mender-artifact, most, oniguruma, openjdk, openjdk-bin,
	opensbi, optee-benchmark, optee-client, optee-examples,
	optee-os, optee-test, paho-mqtt-cpp, python-aioblescan,
	python-aioconsole, python-aiohttp-cors, python-aiomonitor,
	python-backcall, python-jedi, python-parso, python-pyjwt,
	python-terminaltables, suricata, tpm2-totp, uftp,
	wpebackend-fdo, wpewebkit

	Removed packages: libump, lunit, sunxi-mali

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

	#11716: Typo on website, saying latest release is 2018.2.11
	#11756: package/syslinux: MBR's don't fit because of binutils..
	#11761: Building custom kernel 5.1-rc3 or later breaks on objtool
	#11816: Only selected coreutils binaries are installed

2019.02.11, released April 9th, 2020

	Important / security related fixes.

	core: Fix compatibility with make 4.3+. Also fixup /lib
	references in libtool .la files, similar to how it is done for
	/usr/*.

	toolchain: Fix kernel headers validation check for external
	toolchains.

	Updated/fixed packages: barebox-aux, bluez5_utils, busybox,
	civetweb, collectd, ffmpeg, gcc, gnutls, gvfs, haproxy,
	hiredis, kmscube, libical, libopenssl, libsndfile,
	linux-tools, ntp, php, pure-ftpd, screen, sysdig, tor,
	util-linux, vala, vlc, xserver_xorg-server

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

	#12746: "sysdig" package description points to http://sysdig.org, ..

2019.02.10, released March 16th, 2020

	Important / security related fixes.

	Core: Ensure package-file-lists data is correct after
	incremental builds as well.

	Fix a race condition related to creating the output/staging
	symlink on systems with coreutils < 8.27.

	Br2-external: Fix compatibility with make 4.3+

	Util-linux: Ensure that hwclock is built without GPLv3
	code. Notice that builds with hwclock has contained
	GPLv3-licensed code since util-linux 2.30 (Buildroot 2017.08+)

	Updated/fixed packages: armadillo, at, binutils, blktrace,
	bootstrap, busybox, cairo, cups, czmq, dnsmasq,
	docker-containerd, dovecot, dovecot-pigeonhole, e2fsprogs,
	eudev, exim, exiv2, fbgrab, grep, gst1-validate, guile,
	imagemagick, jhead, kvm-unit-tests, lapack, libcgroup,
	libftdi1, libjpeg, libsigrok, libsndfile, libssh2, libsvgtiny,
	libvncserver, libvorbis, libxml2, libxslt, linux, lz4,
	mariadb, mbedtls, meson, mfgtools, mongoose, ncurses, ntfs-3g,
	opencv3, openjpeg, openswan, openvmtools, patch, php,
	postgresql, pppd, proftpd, pure-ftpd, python-django,
	python-pyqt5, python3, qemu, qt5base, qt5webengine, qwt,
	rdesktop, ruby, runc, samba4, shellinabox, smartmontools,
	sqlcipher, squid, swupdate, sysklogd, taglib, thrift,
	ti-cgt-pru, uboot, util-linux, vorbis-tools, webkitgtk,
	wireshark, xen, xserver_xorg-server, zeromq, zsh

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

	#11996: opencv3 SIGILL on Cortex-A5 with VFPv4-D16
	#12331: meson issue
	#12461: libglib2 build files with deep directory structure
	#12606: fbgrab location has changed

2019.02.9, released January 12th, 2020

	Important / security related fixes.

	pkg-python infrastructure: Ensure correct compiler and linker
	flags are used for compiled code

	utils/scanpypi: Remind users to update DEVELOPERS

	Updated/fixed packages: busybox, cc-tool, cpio, cups, dante,
	dillo, docker-cli, docker-containerd, docker-engine, easy-rsa,
	ecryptfs-utils, efl, git, glibc, gnupg2, gst1-plugins-bad,
	kf5-kcoreaddons, libarchive, libgit2, libkrb5, librsvg,
	libssh, libtomcrypt, libuio, lirc-tools, lvm2,
	matchbox-desktop, nodejs, ntp, opencv3, openpowerlink,
	python-django, python-ecdsa, python-pyasn-modules,
	python-pyqt5, python-subprocess32, python3, qpdf, runc, rygel,
	samba4, sdl2, wavpack, xserver_xorg-server, zip

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

	#12121: PyQt5.QtSerialPort and other modules not being built

2019.02.8, released December 7th, 2019

	Important / security related fixes.

	Infrastructure: Make HOST_<pkg>_DL_OPTS inherit from
	<pkg>_DL_OPTS by default, just like it is done for a number of
	other package variables

	Add <pkg>_KEEP_PY_FILES to exclude specific python .py files
	from the removal done by BR2_PACKAGE_PYTHON{,3}_PYC_ONLY for
	the (rare) case where the .py files are needed at runtime
	rather than .pyc.

	Fix <pkg>-reconfigure handling for packages using the kconfig
	infrastructure.

	Toolchain: ensure external toolchain kernel headers version
	check correctly stop the build on mismatch

	Deconfigs: beaglebone: fix boot issue

	Updated/fixed packages: am33x-cm3, asterisk, bind, chrony,
	clamav, collectd, connman, faifa, gob2, haproxy,
	intel-microcode, ipsec-tools, jasper, jpeg-turbo, kodi,
	kvm-unit-tests, libftdi, libftdi1, libnss, libstrophe,
	libsvgtiny, lvm2, lzma, mariadb, minicom, neardal, nodejs,
	opencv3, openvmtools, oracle-mysql, perl-gdgraph,
	perl-gdtextutil, php, postgresql, prosody, python-django,
	rabbitmq-c, rauc, redis, rpcbind, socat, spice,
	spice-protocol, tftpd, tiff, webkitgtk

	New packages: libmspack

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

	#12166: Compiling nodejs for SAMA5D3 always crash with illegal inst..
	#12171: Python-opencv needs config.py and config-3.7.py to run..
	#12211: host-nodejs 10.15.3 package fail to build
	#12316: tzdata fails to install with empty "default local time"

2019.02.7, Released November 10th, 2019

	Important / security related fixes.

	support/testing: use a kernel with HW_RANDOM_VIRTIO to work
	around issues with lack of entrophy

	Toolchain: Also copy libssp.so for external toolchains if SSP
	is enabled to handle toolchains providing SSP support in
	libssp rather than in the C library

	Download: Also use the package download method for extra
	downloads from the same site, so it does not get confused by
	URLs containing '+'

	Fakeroot now works correctly under Microsoft Windows 10
	Services for Linux, which does not provide SYSV IPC support

	utils/test-pkg: ensure to exit with an error upon failure

	Updated/fixed packages: asterisk, azmq, cups-filters,
	domoticz, duma, elf2flt, eudev, exfat, exfat-utils, fakeroot,
	file, freerdp, gd, ghostscript, go, gvfs, intel-microcode,
	kvm-unit-tests, libarchive, libnspr, libnss, libopenssl,
	libpcap, libpciaccess, librsvg, libseccomp, libsigrok,
	libtorrent, libunwind, linux-tools, lua-sdl2, lxc, minizip,
	mjpegtools, mongoose, php, python, python-pysnmp-apps,
	python3, qemu, qt5base, ruby, safeclib, samba4, sdl_mixer,
	sox, sudo, systemd, tcpdump, unscd, util-lkinux, vtun, xvisor,
	yaffs2utils

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

	#11366: [2018.08] SysV IPC not available for fakeroot on WSL
	#12261: sudo versions prior to 1.8.28 are affected

2019.02.6, Released October 3rd, 2019

	Important / security related fixes.

	Defconfigs: AArch64-efi: Fix grub configuration, Beaglebone:
	Use default console settings

	Dependencies: Ensure host has JSON::PP perl module installed
	if webkitgtk/wpewebkit packages are enabled as it is needed
	during their build process.

	Toolchain: Generate check-headers program under BUILD_DIR
	rather than /tmp to fix issues with distributions mounting
	/tmp noexec.

	Updated/fixed packages: asterisk, augeas, bind, bwm-ng, cups,
	cups-filters, docker-cli, docker-engine, docker-proxy,
	dropbear, e2fsprogs, eudev, exim, expat, gcc, go, ifplugd,
	haveged, iptables, joe, kf5-extra-cmake-modules,
	kf5-modemmanager-qt, kf5-networkmanager-qt, libcurl,
	libgcrypt, libgpg-error, libnftl, libnspr, libnss, libopenssl,
	luksmeta, mariadb, mbedtls, mongodb, mosquitto, ncurses,
	nfs-utils, nghttp2, nodejs, openvmtools, php, protobuf, putty,
	qemu, qt5base, samba4, swupdate, systemd-bootchart, thttpd,
	uclibc, unzip, util-linux, wireshark

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

	#10806: Allow nfs-utils to use ipv6
	#11781: mariadb build error
	#12031: Build of cups-filters fails while linking, apparently due..
	#12141: eudev package is missing "render" and "kvm" groups
	#12181: dropbear: norootlogin (-w) no longer works when PAM is enabled
	#12241: Permission denied while running "make"

2019.02.5, Released September 2nd, 2019

	Important / security related fixes.

	Filesystems: Pass extra pax options to tar for binary
	reproducibility.

	Updated/fixed packages: apache, arm-trusted-firmware,
	asterisk, atk, autofs, batctl, batman-adv, berkeleydb, brotli,
	busybox, bzip2, clamav, cloop, cmake, collectd, connman-gtk,
	cryptopp, dahdi-linux, dahdi-tools, daq, dehydrated, dovecot,
	dovecot-pigeonhole,, elfutils, evtest, exim, expect, giflib,
	git, glib-networking, glibc, gnupg2, gnutls, go,
	gst1-rtsp-server, gtkperf, gupnp-tools, gvfs, imagemagick,
	imx-uuc, intel-microcode, json-glib, lftp, libbsd, libcurl,
	libgit2, libgtk3, libmodplug, libnss, libpri, libshout,
	libss7, libssh2, libvips, libxcb, linux-headers, mdadm,
	mesa3d, metacity, mpg123, mosquitto, musl, nginx, openblas,
	opencv3, openldap, openvmtools, pcmanfm, php, pigpio,
	postgresql, prboom, proftpd, proj, python, python-django,
	python-idna, python-numpy, python-urllib3, python3, qemu, qt5,
	qt5base, qt5enginio, quagga, rygel, squid, subversion,
	tcpreplay, unzip, vlc, vte, webkitgtk, weston, wireless-regdb,
	xen, xfont_font-util, xlib_libICE, xlib_libXfont,
	xlib_libXfont2, yad, zeromq

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

	#11741: pigpio does not build host-pigpio
	#11876: automount using host mount/umount
	#11881: Build breaks with lftp package enabled and libexpat1-dev inst..
	#11921: dahdi fails to build
	#11961: libpri build failure
	#12096: tcpreplay: build fails if libdumbnet-dev is installed in the..
	#12106: daq: build fails if libdumbnet-dev is installed in the host
	#12126: vc4 has neon as hard dependency

2019.02.4, Released July 10th, 2019

	Important / security related fixes.

	arch: x86: Fix typo breaking 'core-avx2' variant, add Westmere
	variant.

	linux: Workaround -Werror related build failure on powerpc,
	by forcing CONFIG_PPC_DISABLE_WERROR on.

	support/testing: Emulate a machine with 256MB RAM to fix
	issues with certain tests running out of memory.

	test-pkg: Correct long option handling and clean output dir
	after a successful build to save disk space.

	Ensure custom <pkg>_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS are
	passed before the standard exclusions so they are not ignored
	by rsync when using override-srcdir.

	Defconfigs: QEMU: use 'rootwait' kernel option to ensure root
	partition is available before mounting.

	Updated/fixed packages: barebox, bzip2, davfs2, dbus, dialog,
	docker-cli, docker-engine, expat, faad2, ffmpeg, freeswitch,
	gerbera, haveged, irssi, libcdadio, libgit2, libglib2,
	libsecret, libvncserver, lmbench, logrotate, mariadb, meson,
	mongoose, monit, mpd, openblas, php, postgresql, psplash,
	python, python-django, python3, qt5base, samba4, taglib,
	tvheadend, vlc, webkitgtk, xserver_xorg-server, znc

2019.02.3, Released June 7th, 2019

	Important / security related fixes.

	Infra: pkg-config: Use a dedicated timestamp file rather than
	.config as that gets touched by linux-4.19+, causing repeated
	builds.

	check-bin-arch: Also ignore /usr/lib/grub to support merged
	/usr setups, similar to how /lib/grub is ignored.

	gnuconfig/config.sub: Add C-SKY architecture support.

	Updated/fixed packages: assimp, atftp, atop, botan, busybox,
	ca-certificates, chocolate-doom, cjson, coreutils, cracklib,
	ddrescue, dhcp, docker-cli, docker-containerd, docker-engine,
	dosfstools, dovecot, dovecot-pigeonhole, dropbear, exim,
	ffmpeg, flare-engine, gcc, gdb, gerbera, glibmm, go, gpsd,
	gst-ffmpeg, gst1-plugins-bad, gst1-plugins-base, imagemagick,
	intel-microcode, jasper, kf5-kcoreaddons, kismet, libcurl,
	libglib2, libnss, libopenssl, libsigrok, libssh2, libupnp18,
	linuxptp, luajit, lynx, matchbox-panel, mender,
	netcat-openbsd, netsurf, nfs-utils, opus, orc, owfs,
	pcsc-lite, php, popt, postgresql, python, python-cython,
	python-django, python-ply, qt5enginio, rpm, runc, samba4,
	sqlite, subversion, supertux, systemd, tslib, uclibc,
	v4l2loopback, webkitgtk, woff2

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

	#11816: Only selected coreutils binaries are installed
	#11841: grub-efi.cfg not used when building EFI disk image
	#11911: systemd v240 memory leak in systemd-journald

2019.02.2, Released April 29th, 2019

	Important / security related fixes.

	Only build host-lzip / host-xz when really needed by packages,
	not just when not available on the build host.

	fs: Set FAKEROOTDONTTRYCHOWN environment variable to not
	forward {f,l,}chown calls to libc when running under fakeroot
	to fix issues when building in restricted environments
	(E.G. user namespace with bubblewrap).

	Linux: Also build default make target to ensure extra files
	like the gdb scripts enabled by CONFIG_GDB_SCRIPTS are also
	built. Notice: This may mean that extra host utilities like
	uboot-mkimage are needed.

	Defconfigs: ASUS tinker and Amarula vyasa rk3822: Support
	larger kernel images, Atmel SAM5D27, SAM5D2,3,4 xplained:
	Increase rootfs size to fit utilities, Raspberry Pi 64bit:
	Include overlays in sdcard image

	Updated/fixed packages: android-tools, apache, bind, binutils,
	busybox, civetweb, cjson, copas, davfs2, docker-cli,
	docker-containerd, docker-engine, dovecot, dovecot-pigeonhole,
	freerdp, gerbera, ghostscript, git, gnutls, go, gst-omx,
	gst1-plugins-base, gst1-plugins-ugly, haproxy, hostapd,
	ipsec-tools, libfreefare, libfuse, libkrb5, libpng, libxml2,
	libxslt, linknx, linux, linux-firmware, linux-tools, live555,
	lldp, lrzsz, lynx, madplay, make, minicom, mongodb, msmtp,
	musl, mutt, neon, netsnmp, numactl, opus, perl, php,
	postgresql, pure-ftpd, python-urllib3, python3, qt5base,
	rapidxml, rpm, rsyslog, ruby, runc, samba4, sane-backends,
	softether, stunnel, sysklogd, syslinux, syslog-ng,
	systemd-bootchart, thttpd, thrift, tiff, tor, tpm2-tools,
	tpm2-tss, webkitgtk, yaffs2utils, wget, wpa_supplicant, wsapi,
	xapp_xfd, xapp_xload, xlib_libXpm, xserver_xorg-server, xz,
	znc

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

	#11756: package/syslinux: MBR's don't fit because of binutils..
	#11761: Building custom kernel 5.1-rc3 or later breaks on objtool

2019.02.1, Released March 29th, 2019

	Important / security related fixes.

	pkg-generic: Only tweak .la files needing it to ensure they
	are not included in subsequent package file lists.

	test-pkg: Generate a basic package config if none is
	specified.

	Updated/fixed packages: asterisk, avahi, bash, beecrypt,
	binutils, busybox, clamav, cups, efl, eigen, fetchmail, file,
	flashrom, fltk, gerbera, git, glibc, gnuradio, go,
	gst-plugins-bad, intel-gmmlib, jq, kexec, kf5-modemmanager-qt,
	leveldb, libcurl, libdrm, libftdi1, libglib2, libiio, libpcap,
	libseccomp, libssh2, log4cplus, lvm2, mariadb, mender,
	mongodb, mosquitto, musl, nodejs, ntp, openjpeg, owfs, php,
	pure-ftpd, putty, python-aiojobs, qt5webkit, rdesktop, samba4,
	sunxi-tools, supertux, swupdate, tpm2-abrmd, tpm2-tss,
	wavemon, wireshark, vsftpd, xapp_xdm, xen,
	xdriver_xf86-video-fbdev, xlib_libXdmcp

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

	#11716: Typo on website, saying latest release is 2018.2.11

2019.02, released March 4th, 2019

	Minor fixes.

	Libressl support added for Qt 5.6 as a replacement for
	openssl, as 5.6 is not compatible with openssl 1.1.x.

	Updated/fixed packages: cutelyst, devmem2, gqrx,
	gst-plugins-bad, libraw, libsoxr, qt5base, runc, systemd, tor

2019.02-rc3, released March 1st, 2019

	Fixes all over the tree.

	Openssl support dropped from Qt 5.6, as it isn't compatible
	with openssl 1.1.x.

	Toolchain: GCC 8.x updated to 8.3.0, fixing a number of
	issues.

	Dependencies: Require CMake 3.8 or newer to fix compilation
	issue with certain packages. If not available, host-cmake will
	instead be built.

	Printvars: Fix performance regression since 2018.02

	Scanypi: Correctly handle underscores in python package names.

	Updated/fixed packages: botan, clamav, cryptopp, i2pd,
	ibrcommon, iproute2, libcpprestsdk, libssh, lua-curl,
	luaexpat, qt5base, runc, stress-ng, syslinux, systemd,
	upmpdcli, zbar

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

	#9966: util-linux-2.30/.stamp_built' failed
	#11696: possible typo in board/pc/post-build.sh

2019.02-rc2, released February 23th, 2019

	Fixes all over the tree.

	Removed zynq_zybo defconfig, as it hasn't seen any update
	since it was added in 2016, and uses a U-Boot version not
	compatible with openssl-1.1.x.

	Linux: Ignore user supplied downloadable hashes, as no hash
	checksums are available for those.

	Updated/fixed packages: bind, cryptopp, docker-containerd,
	dtc, efivar, gdb, imagemagick, ipmiutil, libcpprestsdk,
	libcurl, libgpiod, libid3tag, libv4l, log4cplus, luvi,
	madplay, mender, mosquitto, poco, postgresql, proftpd,
	pulseaudio, python-django, qemu, qt5base, qwt, rabbitmq-c,
	reaver, safeclip, stress-ng, swupdate, syslog-ng, systemd,
	tor, unzip, xenomai

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

	#11501: compile sdl2 with enable wayland
	#11681: .. unable to initialize decompress status for section..

2019.02-rc1, released February 13th, 2019

	Fixes all over the tree and new features.


	Dependencies:

	Require Python >= 2.7 as it is needed for E.G. building
	libglib2.

	Ensure GNU gzip is used for reproducible tarballs (instead of
	pigz)


	Infrastucture:

	Ensure the PLATFORM and OS environment variables are not set,
	as they cause build issues for some packages.

	The package list infrastructure now correctly handles packages
	installing files with old mtime.

	Add a config option to force all optional host utilities to be
	built, even if suitable versions are available on the build
	machine.

	graph-build-time: Also show time spent downloading

	Download: fixes for SSH/SCP support

	Ensure user provided permissions override permissions from
	packages.

	SDK: Fix handling of relative symlinks (targets starting with
	'.' or '..')

	BR2_SYSTEM_DEFAULT_PATH setting to customize the default path
	for processes.

	The custom skeleton logic will now populate the needed /bin,
	/lib, /sbin directories/symlinks if not present. Merged /usr
	can now be used with a custom skeleton.

	Rootfs overlays can now override symbolic links from
	packages. This was disabled to ensure the correct symbolic
	links are present when merged /usr is used. Instead validate
	that the rootfs overlays do not include invalid /bin, /sbin
	and /lib entries.

	The waf infrastructure now support the <pkg>_SUBDIR variable,
	similar to the other package types.

	cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake

	Various improvements to the meson infrastructure.

	Luarocks: A Buildroot addon has been added to automate
	creating a Buildroot package from luarocks, similar to
	scancpan and scanpypi.

	scanpypi: protect against zip-slip vulnerability in zip/tar
	handling

	check-package: fix Python 3 support

	get-developers: Fix behaviour when called from elsewhere than
	the toplevel directory.

	pkg-stats: Show latest upstream version of each package, based
	on data from release-monitoring.org

	kconfig: Fix for make linux-menuconfig / uboot-menuconfig from
	a clean tree when ccache is enabled.

	Default to sha256 password encoding, drop md5 support.


	Architecture:

	Support for RISC-V 32bit architecture, ARM A55, 75 and Saphira
	variants, MIPS support for mips32r3, mips64r3 and Marvell
	Octeon II/III variants.


	Toolchain:

	ARC toolchain 2018.09, ARM 8.2-2018.11, Codescape IMG/MTI MIPS
	2018.09-02, MUSL 1.1.21, GCC 6.5.0 / 7.4.0, GDB 8.2.1


	Packages:

	openssl: Bump to 1.1.1x series, bringing TLSv1.3 support and
	long term support.

	fftw: Split into fftw-{single,double,long-double,quad}
	packages for the different data precision options.

	libcurl: Now has explicit TLS backend selection options.

	linux: Support building device tree blobs with the -@ option
	for device tree overlays.

	weston: The weston-imx i.MX variant is now used when
	imx-gpu-viv is enabled

	pkgconf: Update to 1.5.3, which brings support for
	--define-prefix (used by GStreamer)

	Add host-python3-setuptools package to handle host python
	packages needing python3 with setuptools support.


	New defconfigs: Aarch64 EFI, Orangepi one plus, Orangepi lite
	2, QEMU RISC-V 32bit virt, Rock64


	New packages: brcm-patchram-plus, clinfo, cunit, docker-cli,
	erlang-p1-eimp, exempi, fail2ban, fftw-double,
	fftw-double-long, fftw-quad, fftw-single, gerbera, grpc,
	gst1-shark, intel-gmmlib, iwd, kf5-kcoreaddons, libeastl,
	libpackagekite, libtorrent-rasterbar, lua-std-debug,
	lua-std-normalize, mini-snmpd, netsurf, pamtester, pcm-tools,
	python-aiodns, python-aiohttp, python-aiohttp-jinja2,
	python-aiohttp-remotes, python-aiohttp-security,
	python-aiohttp-session, python-aiohttpd-sse, python-aiojobs,
	python-cchardet, python-pycares, python-sentry-sdk,
	python-wtforms, python3-setuptools, rcw, rtc-tools, shim,
	utp_com, vmtouch, websocketpp

	Removed packages: fftw, lua 5.2.x, luacrypto, perl-time-hires,
	python-pyqt, qt, qtuio, tn5250

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

	#10851: Patch to handle numpad Enter key properly
	#11066: x11r7 X11 S40xorg leads to a black screen on QEMU x86..
	#11126: Bash Shell Programming using Buildroot
	#11426: pps-tools bash dependency
	#11476: stdio2.h error invalid use of __builtin_va_arg_pack
	#11536: dt-utils building fails with glibc 2.28
	#11546: open-vm-tools with glibc 2.28
	#11566: Fix init script
	#11576: Unable to start apache with event MPM on raspberry pi 3
	#11591: [pkgconf 1.5.3] xserver OpenGL support is missing
	#11606: libjpeg has no Config.in
	#11616: 2018.02.09 fails to build libzlib with full RELRO..
	#11656: Custom device tree and u-boot boot.scr not integrated..
	#11666: Touchscreen with (Py)Qt5 should use tslib instead of evdev

2018.11.4, Released March 28th, 2019

	Important / security related fixes.

	Updated/fixed packages: avahi, beecrypt, binutils, botan,
	busybox, clamav, cups, devmem2, efl, fetchmail, file, fltk,
	gcc, gdb, git, go, gst-plugins-bad, iproute2, jq,
	kf5-modemmanager-qt, leveldb, libopenssl, libraw, libseccomp,
	libsoxr, libssh2, mariadb, mosquitto, nodejs, ntp, openjpeg,
	perl, php, putty, qt5webkit, rdesktop, runc, samba4, swupdate,
	systemd, tor, vsftpd, wireshark, xapp_xdm, xen, xlib_libXdmcp

2018.11.3, Released February 23th, 2019

	Important / security related fixes.

	Ensure the PLATFORM and OS environment variables are not set,
	as they cause build issues for some packages.

	The package list infrastructure now correctly handles packages
	installing files with old mtime.

	Linux: Skip hash checks for user supplied downloadable
	patches, as no hash checksums are available for those.

	scanpypi: protect against zip-slip vulnerability in zip/tar
	handling

	Download: fixes for SSH/SCP support

	SDK: Fix handling of relative symlinks (targets starting with
	'.' or '..')

	Updated/fixed packages: bind, dhcpcd, docker-compose,
	docker-containerd, docker-engine, dovecot, dovecot-pigeonhole,
	dtc, efivar, ghostscript, gnuradio, imagemagick, jpeg-turbo,
	libarchive, libb64, libcurl, libgeotiff, libgpiod, libid3tag,
	libupnp18, log4cplus, madplay, meson, mosquitto, openssh, php,
	poco, postgresql, proftpd, pulseaudio, python, python-django,
	python3, qt5base, reaver, runc, sg3_utils, sqlcipher,
	swupdate, systemd, unzip, webkitgtk, xenomai

2018.11.2, Released January 30th, 2019

	Important / security related fixes.

	Defconfigs: Fixes for imx6slevk, imx7dsabresd, imx8mqevk, Lego
	EV3, QEMU AArch64-virt

	Download: Fix scp download handling

	check-package: fix Python 3 support

	get-developers: Fix behaviour when called from elsewhere than
	the toplevel directory.

	kconfig: Fix for make linux-menuconfig / uboot-menuconfig from
	a clean tree when ccache is enabled.

	cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake

	Updated/fixed packages: acpica, apache, apr, avrdude, cargo,
	cc-tool, dash, dhcpdump, dmalloc, docker-containerd, efivar,
	fwts, glibc, gnuchess, gnupg2, go, leveldb, libarchive,
	libassuan, libftdi1, libgpg-error, libhttpparser, libkcapi,
	libmad, libsndfile, libsquish, liburiparser, libwebsock,
	libxml2, lighttpd, llvm, lm-sensors, lua-msgpack-native, lxc,
	mariadb, mbedtls, meson, mosquitto, netatalk, nodejs, odhcp6c,
	openresolv, openssh, pango, patchelf, php, python-django,
	python-numpy, python-pyyaml, rauc, rp-pppoe, s6-networking,
	samba4, sdl_sound, shairport-sync, sqlite, subversion,
	sunxi-cedarx, swupdate, systemd, tcpreplay, tekui, tmp2-abrmd,
	tpm2-tools, tpm2-tss, udisks, unixodbc, usb_modeswitch,
	webkitgtk, wireshark, wolfssl, xapp_rgb, xenomai, xerces

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

	#11576: Unable to start apache with event MPM on raspberry pi 3

2018.11.1, Released December 20th, 2018

	Important / security related fixes.

	defconfigs: Fixes for bananapi m2 ultra, ci20

	Download wrapper: Fix for urlencode handling

	Updated/fixed packages: asterisk, docker-compose,
	docker-engine, dt-utils, gnutls, go, grub, libbsd, libcurl,
	libpgpme, libiscsi, liblo, libmpd, libopenssl, liboping,
	libpam-tacplus, libpjsip, linux-firmware, liquid-dsp,
	lua-cqueue, luvi, lxc, lynx, nginx, nodejs, openzwave, php,
	pps-tools, proftpd, prosody, sdl2_net, squashfs, swupdate,
	uclibc, vtu, webkitgtk, wine, xen

	New packages: docker-cli

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

	#11426: pps-tools bash dependency
	#11536: dt-utils building fails with glibc 2.28

2018.11, Released December 1st, 2018

	Minor fixes.

	Updated/fixed packages: c-ares, quagga, squid

2018.11-rc3, released November 30th, 2018

	Fixes all over the tree.

	Defconfigs: Fixes for Armadeus APF27, imx6sabre, Olimex A20
	olinuxino lime legacy, Orangepi zero plus 2, PC, Riotboard.

	graph-depends: Fix for package names starting with a non-alpha
	character.

	Updated/fixed packages: alsa-utils, botan, dante, domoticz,
	dtc, freetype, gauche, gcc, gdb, ghostscript, glibc,
	imx-usb-loader, libbsd, libid3tag, libkrb5, libmicrohttpd,
	libopenssl, libsoxr, linux, motion, msgpack, mtd,
	perl-net-ssleay, php, popt, python-numpy, qt5declarative,
	samba4, shadowsocks-libev, stress-ng, systemd, usb_modeswitch,
	webkitgtk, valgrind, weston, xfsprogs

2018.11-rc2, released November 21th, 2018

	Fixes all over the tree.

	fs: Drop intermediate tarball from the filesystem handling to
	fix an issue with xattrs handling related to fakeroot. Ensure
	tarball target includes xattrs.

	download: Fix confusion in git submodule handling if dl/ is a
	symlink.

	genrandconfig: Fix missing newline in BR2_WGET handling,
	causing the following line to be ignored. This would affect
	BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD,
	BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or
	BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization.

	show-build-order: Also include the dependencies of
	rootfs-common.

	Fix a number of build issues in packages for the recently
	merged RISC-V architecture support.

	Updated/fixed packages: dt-utils, easydbus, elfutils,
	flare-engine, flatcc, glibc, gstreamer, gstreamer1, imx-uuc,
	libassuan, libcorrect, libiscsi, libkrb5, libmicrohttpd,
	libnftnl, libnspr, libnss, libsemanage, libsigsegv, libv4l,
	ltp-testsuite, luv, luvi, make, ncmpc, netplug, openocd,
	prosody, qemu, rpm, sconeserver, shadowsocks-libev,
	supertuxcart, syslinux, systemd, trace-cmd, uclibc,
	uclibc-ng-test, vtun, webkitgtk, weston, wireshark, xen,
	xlib_libfontenc

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

	#11086: download/git submodule breaks on symlinked dl folder
	#11216: Capabilities not applied to filesystem

2018.11-rc1, released November 9th, 2018

	Fixes all over the tree and new features.

	Architecture: RISC-V support (64bit) added.

	Toolchain: Glibc bumped to 2.28. Fortran support for external
	toolchains. ARM (Linaro) toolchains updated to 8.2-2018.08.

	Hardening flags (RELRO) are now handled by the toolchain
	wrapper instead of explicitly through CFLAGS/LDFLAGS, fixing a
	number of issues.

	Filesystems: Support for creating btrfs and f2fs filesystems
	added.

	Add a number of patches to fix build errors for host utilities
	on modern distributions using glibc-2.28.

	mkusers: Ensure existing group members are preserved when a
	group is reprocessed.

	printvars: Fix issue with exceeding shell command line length
	limits for certain setups.

	Workaround added for incompatibility issues between host-dtc
	and older U-Boot and Linux kernel versions.

	Detect and reject build paths containing '@', as this confuses
	a number of packages, including GCC.

	utils/diffconfig: Make it work for (non-Buildroot) config
	files not using the BR2_ prefix.

	New defconfigs: Amarula a64-relic, Bananapi m2 ultra, Embest
	riotboard, Hardkernel Odroid XU-4, QEMU riscv64-virt.
	olimex_a20_olinuxion_lime_mali is renamed to _legacy.

	OpenCL infrastructure support added, similar to how OpenGL is
	handled.

	Linux-headers: Support for kernel headers from a custom
	tarball / git repo added.

	New packages: bird, bluez5_utils-headers, btrfs-progs,
	checksec, davici, duktape, ell, haproxy, libclc, libcorrect,
	libopencl, libopenresolv, nss-myhostname,
	perl-apache-logformat-compiler, perl-appconfig,
	perl-astro-suntime, perl-class-inspector, perl-class-load,
	perl-class-method-modifiers, perl-class-std,
	perl-class-std-fast, perl-cookie-baker, perl-data-dump,
	perl-data-optlist, perl-data-uuid, perl-data-manip,
	perl-dbd-mysql, perl-dbi, perl-devel-globaldestruction,
	perl-devel-stacktrace, perl-devel-stacktrace-ashtml,
	perl-device-serialport, perl-dist-checkconflicts,
	perl-exporter-tiny, perl-file-sharedir, perl-file-slurp,
	perl-filesys-notify-simple, perl-hash-multivalue,
	perl-http-entity-parser, perl-http-headers-fast,
	perl-http-multipartparser, perl-io-interface,
	perl-io-socket-multicast, perl-json-maybexs, perl-mime-tools,
	perl-module-implementation, perl-module-runtime, perl-moo,
	perl-number-bytes-human, perl-package-stash, perl-params-util,
	perl-plack, perl-posix-strftime-compiler, perl-role-tiny,
	perl-streams-buffered, perl-sub-exporter-progressive,
	perl-sub-install, perl-sub-quote, perl-sys-cpu,
	perl-sys-meminfo, perl-sys-mmap, perl-time-parsedate,
	perl-type-tiny, perl-www-form-urlencoded, perl-x10, pigpio,
	python-async-timeout, python-falcon, python-fire,
	python-mimeparse, python-multidict, python-passlib,
	python-pigpio, python-pip, python-ply, python-py,
	python-pyasn1, python-pyasn1-modules, python-pycryptodomex,
	python-pyhamcrest, python-pysmi, python-scapy, python-semver,
	python-serial-asyncio, python-typing, python-uvloop,
	pythonwrapt, python-yarl, python-zeroconf, riscv-pk, sedutil,
	spandsp, tini, waffle, xapian

	Removed packages: bootutils, dsp-tools, expedite, gst-dsp,
	xloader

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

	#11116: Buildroot should set PYTHON_EGG_CACHE instead of writing ..
	#11156: In python3 module 'socket' has no attribute 'AF_BLUETOOTH'
	#11166: Erlang bad argument on valid uint64 when crosscompiled on..
	#11206: zlib: fails to build with Linaro toolchain, BR2_RELRO_FULL..
	#11241: ACPID shouldn't depend on BR2_x86_64 || BR2_i386
	#11251: Util scanpypi failes when package change - to _ in tar file
	#11266: qt5base-5.11.1 does not compile with musl, complains about..
	#11286: python-rpi-gpio only should depend on BR2_arm || BR2_aarch64
	#11321: Latest master fails to build readline with RELRO FULL
	#11326: sysvinit fails to build in latest GIT master
	#11331: Internal application no longer builds with latest GIT master
	#11336: nfs-utils fails to build in latest GIT master
	#11351: build root-2018-08, linaro aarch64 compile error
	#11376: mdmon binary missing
	#11391: Valgind availability on ARM
	#11396: uboot environment image checksum invalid if target is big endian
	#11421: GCC error message for ARM Cortex-A9/ARM.V7
	#11451: Can't find libmpfr.so.4 when using external toolchain on ubuntu..
	#11481: Docs: Is external.desc required?

2018.08.4, Released December 20th, 2018

	Important / security related fixes.

	Defconfigs: Fixes for ci20, orangepi zero plus 2

	Download wrapper: Fix for urlencode handling

	Updated/fixed packages: c-ares, dante, docker-compose,
	domoticz, freetype, ghostscript, gnutls, libcurl, libgpgme,
	libid3tag, libiscsi, libmpd, libopenssl, liboping, libpjsip,
	linux-firmware, liquid-dsp, luvi, lynx, msgpack, nginx,
	nodejs, php, popt, pps-tools, prosody, python-numpy,
	python-requests, samba4, sdl2_net, squashfs, swupdate,
	systemd, uclibc, vte, webkitgtk, wine, xfsprogs

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

	#11426: pps-tools bash dependency

2018.08.3, Released November 26th, 2018

	Important / security related fixes.

	fs: Drop intermediate tarball from the filesystem handling to
	fix an issue with xattrs handling related to fakeroot. Ensure
	tarball target includes xattrs.

	download: Fix confusion in git submodule handling if dl/ is a
	symlink.

	toolchain: Only allow enabling stack protection on
	architectures with control flow integrity (CFI) support. Only
	allow FORTIFY_SOURCE support on gcc >= 6.

	genrandconfig: Fix missing newline in BR2_WGET handling,
	causing the following line to be ignored. This would affect
	BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD,
	BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or
	BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization.

	show-build-order: Also include the dependencies of
	rootfs-common.

	Defconfigs: Fixes for Armadeus APF27, imx6sabre, Olimex A20
	olinuxino lime legacy, Orangepi zero plus 2.

	graph-depends: Fix for package names starting with a non-alpha
	character.

	Updated/fixed packages: attr, audit, bind, brotli, busybox,
	dtc, easydbus, elfutils, flare-engine, flatcc, gauche, gcc,
	giflib, gpsd, lcdproc, libcurl, libiscsi, libkcapi, libnfs,
	libnspr, libnss, libsemanage, liburiparser, lighttpd,
	lua-curl, mariadb, mmc, mosquitto, mysql, ncmpc, neardal,
	netplug, network-manager, nfs-utils, nginx, openocd, openswan,
	p11-kit, postgresql, prosody, qemu, qt, rpm, ruby, samba4,
	squid, supertuxkart, systemd, tar, trace-cmd, traceroute,
	twolame, uclibc, usb_modeswitch, vtun, webkitgtk, weston,
	xdriver_xf86-video-geode, xlib_libfontenc, xserver_xorg-server

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

	#11086: download/git submodule breaks on symlinked dl folder
	#11481: Docs: Is external.desc required?

2018.08.2, Released October 25th, 2018

	Important / security related fixes.

	Workaround added for incompatibility issues between host-dtc
	and older U-Boot and Linux kernel versions.

	Detect and reject build paths containing '@', as this confuses
	a number of packages, including GCC.

	utils/get-developers: Add -e option for use with git
	send-email.

	utils/diffconfig: Make it work for (non-Buildroot) config
	files not using the BR2_ prefix.

	u-boot: Fix for environment image handling on big endian
	systems.

	Updated/fixed packages: binutils, ca-certificates,
	cups-filters, dtc, erlang, file, freetype, gcc, git, gvfs,
	jasper, leveldb, libarchive, libssh, live555, ljlinenoise,
	mariadb, mongoose, netsnmp, nmap, nodejs, ntp, open-plc-utils,
	poco, psmisc, ptpd2, python-enum34, qemu, qt, qt5base,
	setools, spice, spice-protocol, tinc, ustr, wireshark,

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

	#11396: uboot environment image checksum invalid if target is big endian

2018.08.1, Released October 7th, 2018

	Important / security related fixes.

	Add a number of patches to fix build errors for host utilities
	on modern distributions using glibc-2.28.

	mkusers: Ensure existing group members are preserved when a
	group is reprocessed.

	printvars: Fix issue with exceeding shell command line length
	limits for certain setups.

	Updated/fixed packages: acpid, android-tools, apache,
	arp-scan, bandwidthd, bind, brltty, clamav, connman, cppcms,
	domoticz, dtc, fio, gcc, gdb, ghostscript, gnupg, httpping,
	igmpproxy, imlib2, ipsec-tools, libesmtp, libnfs, libxslt,
	links, lua, mosquitto, nilfs-utils, ocrad, parted, php,
	python-django, screen, shairport-sync, strongswan,
	vboot-utils, webkitgtk, wireguard, x265 xen, xlib_libXdmcp,
	xlib_libXfont, xlib_libXft, xlib_libxshmfence,
	xutil_makedepend, zeromq

2018.08, Released September 6th, 2018

	Minor fixes.

	Known issues:

	- Glibc 2.28 on the build host breaks compilation of a number
	  of host packages. 2018.08 contains fixes for some of these
	  packages, but not all. Consider building on hosts (or in
	  containers) using older Glibc versions.

	- host-dtc 1.4.7 breaks compilation of older U-Boot and Linux
          kernel configurations using FDT/DTC. Consider updating the
          Linux kernel to >= 4.17 and U-Boot to >= 2018.07 or
          backporting commit 9130ba8846 (scripts/dtc: Update to
          upstream version v1.4.6-9-gaadd0b65c987) for the Linux
          kernel / commit db405d1980 for U-Boot.
	  Alternatively revert commit 7b929ddcf0 (dtc: bump version to
          1.4.7) and ensure your build host does not have the libfdt
          development headers installed.

	Updated/fixed packages: busybox, chipmunk, cutelyst,
	domoticz, gcc, imagemagick, lcms2, libcurl, mediastreamer,
	moarvm, php, qt, qt5virtualkeyboard, qt5webengine, screen,
	sdl2, squashfs, uboot, xen

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

	#11261: ccache using wrong cached objects
	#11276: Understanding the patch for kernel-4.9 and other..

2018.08-rc3, Released August 31th, 2018

	Fixes all over the tree.

	linux: additional improvements to the flex / bison dependency
	handling, use system provided variant if available. Ensure
	toolchain is available when configuring for 4.18+ support.

	Download: Fix handling of primary sites using file://

	Toolchain: Correct external toolchain musl detection for
	static toolchains.

	Updated/fixed packages: aircrack-ng, bison, brltty, busybox,
	cutelyst, dropbear, gr-osmosdr, i2c-tools, json-c, libconfuse,
	libkcapi, libsoup, libssh, liburiparser, mbedtls, mender,
	mesa3d, minicom, mjpegtools, mutt, openpowerlink, openssh,
	oracle-mysql, php, postgresql, pv, qt5base, qt5quickcontrols,
	rauc, shairport-sync, systemd, xlib_libX11, zeromq,

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

	#11091: BR2_PRIMARY_SITE doesn't work (wget is selected...
	#11141: WF111 package no longer available
	#11211: Internal compiler error: Killed (program cc1plus)..
	#11236: util-linux fails to build on Travis CI when python..
	#11246: Glibc 2.28 - fails to build host-bison and host-m4
	#11256: Add python-falcon and python-mimeparse packages

2018.08-rc2, Released August 20th, 2018

	Fixes all over the tree.

	pkg-kconfig: Support dependencies needed to run the
	configurator, E.G. recent Linux kernel versions needing flex
	and bison.

	Defconfigs: ARM Juno: Bump ATF to fix a build
	issue. Raspberrypi2: Bump rootfs size. Snps_archs38_vdk:
	Correct /etc/inittab. Technologic ts7680: Correct genimage
	configuration. Orange PI PC / Zero, Sheevaplug: Bump U-boot to
	2018.07 to fix build issue. Ensure host-openssl is pulled in
	for kernel builds where needed.

	Updated/fixed packages: aircrack-ng, bind, boost,
	boot-wrapper-aarch64, bzip2, busybox, chrony, cryptsetup,
	dahdi-tools, dbus, domoticz, eigen, ipsec-tools, libarchive,
	libfuse, libgit2, libopenssl, libselinux, lighttpd, lvm2, m4,
	makedevs, mariadb, mesa3d-headers, mono, ncmpc, ncurses,
	nodejs, php, python-django, python-pyqt5, qt5base,
	qt5serialbus, ruby, samba4, uboot-tools, uclibc, vlc,
	waylandpp, wireless_tools, wireshark, wpa_supplicant, mtd,
	xdriver_xf86-video-ati, xserver_xorg-server

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

	#10781: cryptsetup luksOpen container_file container causes..
	#10996: bogus musl ARM toolchain
	#11191: xattr and check-package issue

2018.08-rc1, Released August 5th, 2018

	Toolchain:

	- add support for gcc 8.x, switch to gcc 7.x as the default
	  version
	- add support for gdb 8.1, switch to gdb 8.0 as the default
	  and remove gdb 7.10/7.11
	- add support for binutils 2.31
	- NIOSII CodeSourcery toolchain updated
	- Linaro AArch64 BE toolchain added, and other Linaro
	  toolchains updated
	- Synopsys ARC pre-built toolchain updated

	Architecture: add support for ARM Cortex-M7

	Major updates:

	- systemd bumped to 239
	- Qt5 bumped to 5.11.1
	- Rust bumped to 1.27
	- GStreamer stack bumped to 1.14.2
	- X.org server bumped to 1.20, and all X.org proto packages
	  replaced by the single xorgproto package
	- i.MX6 support packages bumped to 6.2.4
	- i.MX Vivante graphics version bumped to 6.2.4.p1.2,
	  adding support for Wayland and i.MX8MQ platforms

	Linux: bumped to 4.17 by default.

	Infrastructure: new package infrastructure added for packages
	using the Meson build system

	New packages: at-spi2-atk, at-spi2-core, capnproto, cmocka,
	corkscrew, cutelyst, davfs2, flatcc, libidn2, libgit2,
	libopusenc, mender, nghttp2, perl-convert-asn1, perl-crypt-blowfish,
	perl-crypt-cbc, perl-digest-md5, perl-mime-base64-urlsafe,
	perl-mojolicious-plugin-authentication, perl-net-ping,
	perl-net-snmp, perl-net-ssh2, perl-net-telnet, pigz,
	python-reentry, python-request-id, python-validators,
	python-webob, shadowsocks-libev, speexdsp, xorgproto, wampcc

	New defconfigs: NXP i.MX7D SDB, Boundary Devices Nitrogen 8M,
	Olimex A10 OLinuxino, ZynqMP ZCU106

	Removed packages: all xproto_* have been removed and replaced
	by xorgproto

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

	#9411:	MUSL build with RT Error relocating /lib/libgcc_s.so.1:
		__cpu_indicator_init: symbol not found
	#9921: lockfile module within python-daemon not	 available
	#10341: gdb install of py files when using buildroot toolchain
		includes build path
	#10661: /etc/init.d/S29netplug starts multiple	instances of netplugd
	#10751: Missing dependency in pulseaudio package
	#10811: kodi-17.6-Krypton does not compile for	freescale_* devices
	#10856: openblas on qemu_x86_64_defconfig fails with
		"sgemm_kernel.o: No such file or directory"
	#11056: Compiling a file that uses libdrm headers fails with:
		fatal error: drm.h: No such file or directory
	#11061: support/download: git version=master broken
	#11071: Building postgresql package on Debian 9.4  x64 for armel target fails
	#11076: Docker containerd installed to incorrect  path
	#11101: host-patchelf Endian Issue with relative  RPATH
	#11111: raspberry pi 3 b+: missing BSP for 64-bit  kernel
	#11121: statfs call corrupts memory struct statfs  too small
	#11181: Switching toolchain does not work

2018.05.3, Released October 6th, 2018

	Important / security related fixes.

	Add a number of patches to fix build errors for host utilities
	on modern distributions using glibc-2.28.

	mkusers: Ensure existing group members are preserved when a
	group is reprocessed.

	printvars: Fix issue with exceeding shell command line length
	limits for certain setups.

	Updated/fixed packages: acpid, android-tools, apache,
	arp-scan, bandwidthd, bind, bison, brltty, chipmunk, connman,
	cppcms, fio, gcc, ghostscript, gnupg, httping, igmpproxy,
	imagemagick, imlib2, ipsec-tools, lcm2, libcurl, libesmtp,
	libnfs, libssh, libxslt, links, mediastreamer, minicom,
	moarvm, nilfs-utils, ocrad, parted, php, postgresql, pv,
	python-django, qt, qt5quickcontrols, qt5webengine, screen,
	sdl2, shairport-sync, squashfs, strongswan, vboot-utils,
	webkitgtk, wireguard, x265, xen, xlib_libXfont, xlib_libXft,
	xlib_libxshmfence, zeromq

2018.05.2, Released August 28th, 2018

	Important / security related fixes.

	Defconfigs: Raspberrypi2: Bump rootfs size, T7680: Fix
	genimage.cfg issue, ARM Juno: Bump ATF to v1.3 to fix build
	issue.

	Updated/fixed packages: acl, attr, apache, bind,
	boot-wrapper-aarch64, brltty, bzip2, chrony, crda, cryptsetup,
	dahdi-tools, dmidecode, dropbear, eigen, ffmpeg, gawk, gcc,
	ghostscript, gnutls, imx-gpu-viv, ipsec-tools, libarchive,
	libfuse, libglib2, libopenssl, libselinux, libsoup, lighttpd,
	linuxptp, lttng-modules, lttng-tools, lua-flu, lvm2, m4,
	makedevs, mariadb, mbedtls, mesa3d-heders, mtd, ncurses,
	nodejs, openssh, php, python-django, rauc, ruby, samba4,
	stress-ng, ti-utils, uboot-tools, uclibc, vim, waylandpp,
	wireless_tools, wireless-regdb, wireshark, wpa_supplicant,
	xorriso, znc

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

	#10781: cryptsetup luksOpen container_file container causes..
	#10986: Installing package attr when already supplied by..
	#11191: xattr and check-package issue

2018.05.1, Released July 20th, 2018

	Important / security related fixes.

	U-Boot: Ensure host version of ncurses is picked up and not
	host-ncurses built by buildroot, as that otherwise causes
	widechar/non-widechar conflicts and corrupted menuconfig
	menus.

	Linux: Enable CONFIG_PERF_EVENTS when perf is enabled.

	Toolchain: ARC tools updated to arc-2018.03.

	pkg-stats: Fix python 3.x compatibility.

	dl-wrapper: Fix support for URIs containing '+', fix
	no-check-hash for inferred site method.

	Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max:
	Support ethernet on Turbot variant.

	Updated/fixed packages: audit, bind, btrfs-progs, cifs-utils,
	clamav, collectd, coreutils, docker-containerd, dos2unix,
	edid-decode, file, gcc, gdb, gnupg, gnupg2, heimdal, hidapi,
	imagemagick, libcurl, libgcrypt, libglib2, liblogging,
	libostree, libressl, libsoup, libv4l, libvncserver, libvorbis,
	libwebsockets, libxslt, lm-sensors, mariadb, mpg123, ncurses,
	network-manager, nodejs, patchelf, perl, php-amqp, pinentry,
	pixiewps, qpdf, qt53d, qt5base, qt5charts, qt5script, redis,
	systemd, triggerhappy, uboot, wireguard, wireless-regdb,
	wireshark

2018.05, Released June 1st, 2018

	Minor fixes.

	Download: Work around for hanging connections for packages
	from CVS, by adding a 10 minute max timeout.

	Updated/fixed packages: binutils, clang, dash, expect, git,
	glibc, jpeg-turbo, libjpeg, log4cplus, openvmtools, xen,

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

	#11051: runtime issue on STM32 with usage of binutils 2.29.x

2018.05-rc3, Released May 28th, 2018

	Fixes all over the tree.

	Toolchain: ARC tools updated to arc-2018.03-rc2.

	Fs: Ensure hard links in TARGET_DIR are correctly copied for
	filesystem input. With the recent changes to the file system
	generation logic, hard links were "expanded" in file system
	images leading to bloated rootfs images for setups with hard
	links.

	Infrastructure: Error out for packages using the 'local'
	method but forgetting to specify <pkg>_SITE.

	Build rpcgen for the host when needed to support distributions
	no longer shipping rpcgen with glibc (E.G. recent Fedora).

	Updated/fixed packages: autofs, bash-completion, binutils,
	busybox, cjson, elf2flt, libcoap, libcurl, libtirpc, lrzsz,
	poppler, procps-ng, qt-webkit-kiosk, quota, samba4, xfsprogs

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

	#11031: ld-elf2flt: host/bin/ld.real': execvp: No such file..
	#11036: C compiler cannot create executables
	#11046: Git package binaries are ~180MB (compared to ~20MB in..

2018.05-rc2, Released May 22nd, 2018

	Fixes all over the tree.

	Dependencies: Check that the current working directory (.)
	isn't listed in PATH as that causes various build issues.

	Manual: Clarify that git branch names may not be used as
	version identifiers. This has never been supported, but was
	kind of working (with some limitations) before the git
	download rework - Now it does not work at all.

	Linux: Ensure host version of ncurses is picked up and not
	host-ncurses built by buildroot, as that otherwise causes
	widechar/non-widechar conflicts and corrupted menuconfig
	menus.

	Packages: Renamed a number of package options not prefixed
	with BR2_PACKAGE_<pkg> for consstency.

	Download infrastructure: Fix file:// protocol handling after
	download rework.

	Updated/fixed packages: acl, apr-util, asterisk, attr,
	bluez5_utils, cifs-utils, clamav, clang, cups-filters,
	dahdi-linux, exim, faketime, gdb, go, gst1-plugins-bad,
	imx-mkimage, ipsec-tools, jamvm, janus-gateway,
	jquery-ui-themes, libcap, libcurl, libftdi, libkcapi, libkrb5,
	libmediaart, libmodbus, libmodplug, libmpd,
	libnetfilter_cthelper, libnetfilter_cttimeout, libnfc,
	libnfnetlink, libnss, liboauth, libogg, libosip2,
	libpam-radius-auth, libpcap, libpciaccess, llvm, log4cplus,
	ltrace, lynx, mbedtls, modem-manager, nfs-utils,
	python-cython, python-websockets, qt5cinex, qt5wayland, rauc,
	snort, strace, ti-sgx-km, transmission, wavpack, wget, woff2,
	xen, zmqpp, znc, zstd

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

	#10986: Installing package attr when already supplied by...
	#11011: BUildroot for Raspberry Pi 2
	#11016: Wrong compiler used for external user host packages

2018.05-rc1, Released May 9th, 2018

	Toolchain: glibc bumped to 2.27, musl bumped to 1.1.19,
	uClibc-ng 1.0.30, Linux kernel headers bumped to 4.16.x.

	Architecture: support for the Blackfin architecture has been
	removed, as it was removed from Linux upstream, poorly
	maintained in binutils/gdb, and abandoned by Analog Devices.

	Numerous packages updated to have hashes for their license
	files.

	Systemd can now be built with uClibc toolchains.

	Linux: addition of BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF and
	BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL to support building Linux
	kernel configurations that need libelf on the host or openssl
	on the host.

	Coding style:
	- all Python scripts are now verified with flake8
	- check-package extended to check all Config.in and .mk files
	  in tree, not only the ones in package/

	Infrastructure:

	- The download infrastructure has seen a major overhaul, with
	  the main visible new feature being Git caching: a package
	  fetched from Git no longer needs to be re-cloned entirely
	  everytime its version is changed. Anoter visible change is
	  that the download folder now has subfolders per package. See
	  http://lists.busybox.net/pipermail/buildroot/2018-April/217923.html
	  for more details about those changes.

	- The logic that generates the root filesystem images has been
	  reworked, with the main goal of allowing several filesystem
	  images to be produced in parallel, also a requirement for
	  top-level parallel build. Now, a .tar filesystem image is
	  always created, and re-extracted in a private directory to
	  create each format-specific filesystem image.

	- A new package infrastructure was introduced for Go-based
	  packages: golang-package.

	- Dependencies on extraction tools are now handled as proper
	  per-package dependencies, using
	  <pkg>_EXTRACT_DEPENDENCIES. Beyond a cleanup, this is also a
	  preparation step for top-level parallel build support.

	- When a file being downloaded is part of a package with a
	  .hash file, but there is no hash listed for this file, the
	  file is now preserved in the download directory rather than
	  removed. This helps when updating a package, as it gives the
	  ability to easily calculate the hash of the file.

	- Addition of '<pkg>-show-recursive-depends' and
	  '<pkg>-show-recursive-rdepends' make targets, to
	  respectively display the recursive list of dependencies and
	  the recursive list of reverse dependencies of a given
	  package.

	- The /etc/shells file is now automatically generated with the
	  list of shell programs installed on the system.

	- Addition of -Ofast optimization level as an available
	  option.

	Major updates: Go updated to 1.10, Erlang bumped to 20.3, Qt5
	bumped to 5.10.1.

	New packages: 18xx-ti-utils, abootimg, bluez-alsa, brotli,
	chipmunk, clang, docker-compose, docker-proxy, flare-engine,
	flare-game, gst1-interpipe, gstreamer1-editing-services,
	hackrf, i2pd, imx-alsa-plugins, imx-mkimage, libcdio-paranoia,
	libkrb5, llvm, pixiewps, python-backports-ssl-match-hostname,
	python-cached-property, python-cython, python-docker,
	python-dockerpty, python-docker-pycreds,
	python-flask-sqlalchemy, python-functools32, python-influxdb,
	python-json-models, python-libusb1, python-networkx,
	python-psycopg2, python-pymodbus, python-sqlalchemy,
	python-subprocess32, python-texttable,
	python-websocket-client, python-yieldfrom, quotatool, reaver,
	snort, sunxi-mali-mainline, sunxi-mali-mainline-driver, tk,
	tpm2-abrmd, tpm2-tools, tpm2-tss, udftools, vte, woff2.

	New defconfigs: ARC HS Development Kit, Arcturus ucls1012a,
	Freescale i.MX6UL EVK (with vendor kernel), Freescale i.MX6
	SoloLite EVK (with vendor kernel), Freescale i.MX31 3Stack,
	Freescale i.MX8Q EVK Freescale p1025twr, Freescale t1040d4rdb,
	Qemu PPC64 E5500, SolidRun ClearFog Base, Tinker RK3288, Vyasa
	RK3288,

	Removed packages: iqvlinux, kodi-adsp-*, mplayer

	Removed defconfigs: ci40, firefly_rk3288,
	freescale_p1010rdb_pa, freescale_mpc8315erdb, riotboard,
	teliv_evk_pro3

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

	#10151: toolchain eclipse register : fails with a custom
		BR2_HOST_DIR
	#10511: Packages get downloaded uncompressed with wget
	#10531: QtWebengine doesn't build if the host hasn't a 32 bits
		C++ compiler working
	#10846: error in compiling gnutls
	#10886: openssl-1.0.2n fails to build
	#10896: /bin/sh not in /etc/shells
	#10961: Grub2 fails to build for x86_64 when BR2_SSP_ALL is
		enabled

2018.02.12, Released March 29th, 2019

	Important / security related fixes.

	Updated/fixed packages: avahi, beecrypt, busybox, clamav,
	cups, devmem2, fetchmail, file, fltk, gcc, gdb, git, jq,
	leveldb, libopenssl, libraw, libseccomp, libssh2,
	libunistring, mariadb, mosquitto, nodejs, ntp, openjpeg, perl,
	php, putty, qt5webkit, rdesktop, systemd, wireshark, vsftpd,
	xapp_xdm, xlib_libXdmcp

2018.02.11, Released February 23th, 2019

	Important / security related fixes.

	Ensure the PLATFORM and OS environment variables are not set,
	as they cause build issues for some packages.

	The package list infrastructure now correctly handles packages
	installing files with old mtime.

	Linux: Skip hash checks for user supplied downloadable
	patches, as no hash checksums are available for those.

	scanpypi: protect against zip-slip vulnerability in zip/tar
	handling

	Updated/fixed packages: bind, dhcpcd, dovecot, ghostscript,
	gnuradio, imagemagick, jpeg-turbo, libarchive, libb64,
	libcurl, libid3tag, madplay, mosquitto, openssh, php,
	postgresql, proftpd, python, python-django, python3, qt5base,
	sqlcipher, swupdate, systemd, unzip, webkitgtk

2018.02.10, Released January 31th, 2019

	Important / security related fixes.

	Defconfigs: Fixes for Lego EV3, QEMU AArch64-virt

	check-package: fix Python 3 support

	get-developers: Fix behaviour when called from elsewhere than
	the toplevel directory.

	cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake

	Updated/fixed packages: acpica, apache, apr, asterisk,
	avrdude, cargo, cc-tool, dash, dhcpdump, dmalloc, gnuchess,
	gnupg2, leveldb, libarchive, libassuan, libftdi1,
	libgpg-error, libhttpparser, libmad, libsndfile, libsquish,
	liburiparser, libwebsock, libxml2, lighttpd, lm-sensors,
	lua-msgpack-native, mbedtls, mosquitto, netatalk, nodejs,
	openssh, pango, patchelf, php, python-django, python-pyyaml,
	rauc, rp-pppoe, s6-networking, samba4, sdl_sound,
	shairport-sync, sqlite, subversion, sunxi-cedarx, tcpreplay,
	tekui, usb_modeswitch, webkitgtk, wireshark, wolfssl,
	xapp_rgb, xenomai, xerces

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

	#11576: Unable to start apache with event MPM on raspberry pi 3

2018.02.9, Released December 20th, 2018

	Important / security related fixes.

	defconfigs: Fixes for ci20

	Updated/fixed packages: c-ares, dante, freetype, ghostscript,
	glibc, gnutls, go, libcurl, libgpgme, libid3tag, libiscsi,
	libmpd, libopenssl, libpjsip, linux, liquid-dsp, luvi, lynx,
	msgpack, nginx, nodejs, php, popt, pps-tools, python-numpy,
	python-requests, samba4, sdl2_net, squashfs, swupdate, uclibc,
	wine, webkitgtk, xfsprogs

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

	#11426: pps-tools bash dependency

2018.02.8, Released November 26th, 2018

	Important / security related fixes.

	fs: Drop intermediate tarball from the filesystem handling to
	fix an issue with xattrs handling related to fakeroot. Ensure
	tarball target includes xattrs.

	download: Fix confusion in git submodule handling if dl/ is a
	symlink.

	toolchain: Only allow enabling stack protection on
	architectures with control flow integrity (CFI) support. Only
	allow FORTIFY_SOURCE support on gcc >= 6.

	genrandconfig: Fix missing newline in BR2_WGET handling,
	causing the following line to be ignored. This would affect
	BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD,
	BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or
	BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization.

	show-build-order: Also include the dependencies of
	rootfs-common.

	Defconfigs: Fixes for Armadeus APF27, imx6sabre.

	graph-depends: Fix for package names starting with a non-alpha
	character.

	Updated/fixed packages: attr, audit, bind, brotli, easydbus,
	elfutils, gauche, gcc, giflib, gpsd, lcdproc, libcurl,
	libiscsi, libnfs, libnspr, libnss, libkcapi, libsemanage,
	liburiparser, lighttpd, linux, lua-curl, mariadb, mmc-utils,
	mosquitto, mysql, neardal, netplug, network-manager,
	nfs-utils, nginx, openocd, openswan, p11-kit, postgresql,
	prosody, qemu, qt, rpm, ruby, samba4, squid, supertuxkart,
	systemd, tar, trace-cmd, traceroute, twolame, uclibc,
	usb_modeswitch, vtun, webkitgtk, xdriver_xf86-video-geode,
	xlib_libfontenc, xproto_inputproto, xserver_xorg-server

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

	#11086: download/git submodule breaks on symlinked dl folder
	#11251: Util scanpypi failes when package change - to _ in..
	#11476: stdio2.h error invalid use of __builtin_va_arg_pack
	#11481: Docs: Is external.desc required?

2018.02.7, Released October 25th, 2018

	Important / security related fixes.

	Detect and reject build paths containing '@', as this confuses
	a number of packages, including GCC.

	utils/get-developers: Add -e option for use with git
	send-email.

	utils/diffconfig: Make it work for (non-Buildroot) config
	files not using the BR2_ prefix.

	u-boot: Fix for environment image handling on big endian
	systems.

	Updated/fixed packages: binutils, ca-certificates,
	cups-filters, erlang, file, freetype, gcc, git, gvfs, leveldb,
	libarchive, libcurl, libssh, live555, ljlinenoise, mariadb,
	mongoose, netsnmp, nmap, nodejs, ntp, open-plc-utils, poco,
	psmisc, ptpd2, python-enum34, qemu, qt, qt5base, setools,
	spice, spice-protocol, tinc, ustr, wireshark

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

	#11396: uboot environment image checksum invalid if target is big endian

2018.02.6, Released October 7th, 2018

	Important / security related fixes.

	Add a number of patches to fix build errors for host utilities
	on modern distributions using glibc-2.28.

	mkusers: Ensure existing group members are preserved when a
	group is reprocessed.

	printvars: Fix issue with exceeding shell command line length
	limits for certain setups.

	Updated/fixes packages: acpid, android-tools, apache,
	arp-scan, bandwidthd, bind, bison, clamav, connman, cppcms,
	cramfs, fio, gcc, ghostscript, glibc, gnupg, httping,
	igmpproxy, imagemagick, imlib2, ipsec-tools, lcms2, libcurl,
	libesmtp, libnfs, libssh, libxslt, links, linuxptp,
	mediastreamer, minicom, moarvm, nilfs-utils, ocrad, parted,
	php, pv, python-django, qt, qt5quickcontrols, qt5webengine,
	screen, sdl2, shairport-sync, squashfs, strongswan,
	vboot-utils, webkitgtk, wireguard, x265, xen, xlib_libXfont,
	xlib_libXft

	New packages: brotli, woff2

2018.02.5, Released August 29th, 2018

	Important / security related fixes.

	Defconfigs: Raspberrypi2: Bump rootfs size, T7680: Fix
	genimage.cfg issue, ARM Juno: Bump ATF to v1.3 to fix build
	issue.

	Updated/fixed packages: acl, apache, attr, bind,
	boot-wrapper-aarch64, brltty, bzip2, chrony, crda, cryptsetup,
	dahdi-tools, dmidecode, dropbear, eigen, erlang, ffmpeg, gawk,
	gcc, ghostscript, gnutls, ipsec-tools, libarchive, libfuse,
	libopenssl, libselinux, libsoup, lighttpd, linuxptp,
	lttng-modules, lttng-tools, lua-flu, lvm2, m4, makedevs,
	mariadb, mbedtls, mesa3d-headers, mtd, ncurses, nodejs,
	openssh, php, postgresql, python-django, qt5xmlpatterns, ruby,
	samba4, shairport-sync, stress-ng, ti-utils, uboot-tools, vim,
	waylandpp, wireless_tools, wireshark, wpa_supplicant, xorriso,
	znc

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

	#10781: cryptsetup luksOpen container_file container causes..
	#10986: Installing package attr when already supplied by..
	#11191: xattr and check-package issue

2018.02.4, Released July 21th, 2018

	Important / security related fixes.

	U-Boot: Ensure host version of ncurses is picked up and not
	host-ncurses built by buildroot, as that otherwise causes
	widechar/non-widechar conflicts and corrupted menuconfig
	menus.

	Linux: Enable CONFIG_PERF_EVENTS when perf is enabled.

	Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max:
	Support ethernet on Turbot variant.

	Updated/fixed packages: bind, clamav, collectd, dos2unix,
	edid-decode, gcc, gdb, heimdal, hidapi, imx-gpu-viv, libcurl,
	libglib2, liblogging, libostree, libsoup, libv4l, lm-sensors,
	ncurses, network-manager, patchelf, pinentry, procps-ng, qpdf,
	qt5, qt53d, qt5base, qt5charts, qt5script, qt5serialport,
	systemd, wireguard, wireless-regdb

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

	#11101: host-patchelf Endian Issue with relative RPATH

2018.02.3, Released June 18th, 2018

	Important / security related fixes.

	Various fixes for building on modern distributions (GCC 8.x,
	no rpcgen utility).

	ARM: Default to binutils 2.28 and warn about newer binutils
	versions, which are known to cause boot failures for Linux
	kernels built in thumb mode.

	Busybox/mdev: Fix module autoloading.

	Busybox/sysvinit: inittab: Add /dev/{stdin,stdout,stderr}
	symlinks, call swapon -a to activate any configured swap
	devices.

	Dependencies: Check that PATH does not contain current working
	directory, which triggers a number of build failures.

	Infrastructure: Error out for packages erroneously using the
	'local' site method but not defining a _SITE.

	Linux: Fix cuImage.<dtb> / simpleImage.<dtb> handling.  Ensure
	kconfig uses ncurses from the host to fix a ncurses/ncursesw
	mixup, causing menuconfig display corruption.

	Toolchain: Workarounds for fix-rpath issues with binutils and
	elf2flt.

	Util-linux: Fix blocking on getrandom() issue with recent
	kernels.

	Remove broken freescale_imx31_3stack,
	freescale_imx6sololiteevk and freescale_imx6ulevk defconfigs.

	Updated/fixed packages: apr-util, asterisk, attr, audit,
	autofs, binutils, busybox, cifs-utils, cups-filters, dash,
	ebtables, exim, expect, f2fs-tools, faketime, file, gdb, git,
	glibc, gnupg, gnupg2, gst1-plugins-bad, imagemagick, jamvm,
	jpeg-turbo, libcap, libcoap, libcurl, libgcrypt, libjpeg,
	libnss, libressl, libtirpc, libvncserver, libvorbis, libxslt,
	log4cplus, lrzsz, ltrace, lynx, mariadb, mbedtls, mpg123,
	nasm, netplug, network-manager, nfs-utils, nodejs,
	openvmtools, patch, perl, php-amqp, poppler, procps-ng,
	python, python-websockets, quota, redis, samba4, sysvinit,
	transmission, triggerhappy, util-linux, wavpack, wget,
	wireshark, xen, zmqpp

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

	#10986: Installing package attr when already supplied by busybox..
	#11031: ld-elf2flt: host/bin/ld.real': execvp: No such file or..

2018.02.2, Released May 4th, 2018

	Important / security related fixes.

	Tweak package size/file instrumentation to better handle
	package rebuilds.

	Revert /etc/shells creation when bash is enabled.

	Exclude /lib/firmware from the rpath fixup logic, as it may
	contain non-native ELF files.

	Scanpypi: Support the new PyPi infrastructure.

	Handle GCC 8.x on the host.

	Ensure timestamp of /usr is updated to support the systemd
	ConditionNeedsUpdate option.

	Updated/fixed packages: bluez5_utils, flann, gdb, gnupg2,
	grub2, libcec, libcgi, libglib2, libgpg-error, libgpgme,
	libtomcrypt, mbedtls, mkpasswd, php, python, python-requests,
	python-watchdog, qt53d, qt5websockets, sdl2, sdl2_image,
	syslog-ng, systemd, tcl, tcllib, uclibc, usb_modeswitch,
	wireguard, wmctrl

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

	#10896: /bin/sh not in /etc/shells
	#10961: Grub2 fails to build for x86_64 when BR2_SSP_ALL is enabled

2018.02.1, Released April 9th, 2018

	Important / security related fixes.

	Removed unmaintained defconfigs: Creator Ci40, Firefly rk3288,
	Freescale mpc8315erdb / p1010rdb_pa, Riotboard, Teliv EVK
	Pro3.

	Infrastructure: Speed up instrumentation for package size by
	comparing timestamps instead of md5 checksums, as doing
	checksums could lead to up to 25% longer build time for big
	configurations.

	Rename the internal <pkg>_BASE_NAME variable to <pkg>_NASENAME
	to avoid name clashes with packages ending on '-base'.

	Add a better fix for build issues for autotools based packages
	checking for C++ support on toolchains without C++ support.

	Build host-tar if tar is older than 1.27 on the build machine
	to work around reproducibility issues with git archives
	containing long paths.

	check-unique-files: Fix for filenames not representable in the
	users' locale.

	Check-bin-arch: Add support for per-package ignore paths
	(<pkg>_BIN_ARCH_EXCLUDE).

	Toolchain: Fix SSP support detection for external toolchains.

	linux: Add _NEEDS_HOST_OPENSSL / LIBELF options to ensure
	these dependencies are available for Linux configurations
	needed these dependencies, similar to how it is done for
	U-Boot.

	Support custom (not in tree) device tree files in addition to
	in-tree ones.

	U-Boot / uboot-tools: Fix header conflict with libfdt-devel
	installed on host.

	Updated/fixed packages: apache, busybox, c-ares, cmake,
	docker-engine, enlightenment, eudev, fbgrab, freescale-imx,
	gtest, imagemagick, intel-microcode, irssi, jimtcl, kmod,
	kodi, ktap, libcoap, libcurl, libfcgi, libhttpparser,
	libminiupnpc, libopenssl, libpjsip, libss7, libssh2, libupnp
	libupnpp, libuv, libvorbis, memcached, motion, musl, nodejs,
	ntp, openblas, opencv3, openocd, opus-tools, patch, php,
	pkgconf, postgresql, powerpc-utils, python-jsonschema,
	python-webpy, qemu, qt5bsae, qt5script, qt5webkit, rapidjson,
	rauc, sam-ba, samba4, sngrep, systemd, tremor, uboot-tools,
	uclibc-ng-test, upmpdcli, wireshark, xerces, xterm, zstd

	New packages: docker-proxy, python-functools32

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

	#10766: upmpdcli: Segmentation fault
	#10776: ktap fails to build
	#10846: error in compiling gnutls
	#10856: openblas on qemu_x86_64_defconfig fails with "sgemm_..

2018.02, Released March 4th, 2018

	Fixes all over the tree.

	Issues with systemd with a readonly rootfs and DBus fixed.

	Instructure:
	- check-uniq-files: fix Python 2.6 compatibility.
	- dependencies.sh: check for external argparse module for
	  Python 2.6.
	- Add infrastructure to detect and use a UTF-8 locale on the
	  host, needed by systemd.

	Update/fixed packages: clamav, dash, dhcp, dovecot, efl,
	ffmpeg, libv4l, mono, mosquitto, php, postgresql, qt,
	scanpypi, sdl2, systemd, tor, tvheadend, uboot, wavpack

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

	#10831: qemu_x86_64_defconfig build fails on linux-headers..

2018.02-rc3, Released February 27th, 2018

	Fixes all over the tree.

	check-bin-arch: skip /lib/modules to allow 32-bit userland
	with 64bit kernel.

	dependencies: Blacklist tar 1.30+ and build our own host-tar
	if needed as tar 1.30+ changed the --numeric-owner output for
	long path names. Build host-tar before other host-dependencies
	as they need it to extract their source tarballs.

	Update/fixed packages: asterisk, azmq, bluez5_utils, domoticz,
	e2fsprogs, erlang, exim, glibc, gpsd, jq, libglib2, libvorbis,
	mariadb, mbedtls, mesa3d, mesa3d-headers, mpv, patch, pcre2,
	php, qt5, qt5multimedia, qt5wayland, qt5webengine, qt5webkit,
	systemd, quagga, rustc, uboot, wireguard, zic, zlib-ng

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

	#10726: Current libglib2.mk creates broken libglib2 binary...
	#10786: Linux fails to build unless make linux-menuconfig...
	#10796: Cannot generate cpio image without selecting CON...

2018.02-rc2, Released February 15th, 2018

	Fixes all over the tree.

	Dependencies: Ensure C++ support is available like for C
	support for packages needing 32bit host support.

	utils/genrandconfig: Check host dependencies for config.

	Updated/fixed packages: busybox, dnsmasq, dropbear, ffmpeg,
	glibc, keepalived, libcpprestsdk, libgpiod, libmaxminddb,
	librsvg, libtasn1, libv4l, libxml2, lightning, ltp-testsuite,
	mesa3d, mesa3d-demos, mesa3d-headers, nftables, open-lldp,
	php, postgresql, python-crossbar, qt5, qt53d, qt5enginio,
	qt5tools, qt5webengine, qt5webkit, rsync, rust-bin, rustc,
	systemd

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

	#9781: ti-sgx-km build on kernel >4.1
	#10141: Squashfs extended attribute failures

2018.02-rc1, Released February 5th, 2018

	The global source-check and per-package <pkg>-source-check
	targets have been removed.

	Architecture: Add x86 Silvermont variant. Add several new ARM
	variants, rework MIPS NaN logic. Support mainline binutils/gcc
	for ARC.

	Toolchains: Linaro toolchains upgraded to 2017.11 release, ARC
	external toolchains upgraded to arc-2017.09. Libatomic is now
	also copied for external musl based toolchains.
	Add binutils 2.30.x and switch to binutils 2.29.x by default.

	Added hardening options to build with RELRO and FORTITY.

	New defconfigs: Bananapi M64, FriendlyARM Nanopi A64 & NEO2,
	imx6slevk, imx6sx-sdb, imx6ulevk, Olimex A64-OLinuXino,
	Orangepi lite / pc plus / pc / prime / win / win plus / zero
	plus2, Pine64, Solidrun MacchiatoBin. Sopine.

	Add utils/diffconfig, a simple utility for comparing
	configuration files - Adapted from the version in the
	Linux kernel.

	Infrastructure: Check that the same file is not touched by
	multiple packages, as a preparation for toplevel parallel
	builds.

	Hashes for the license files for a large number of packages
	have been added, ensuring that license changes will not be
	missed when packages are bumped.

	Fix build issue for autotools based packages checking for C++
	support on toolchains without C++ support and on a distro
	lacking /lib/cpp (E.G. Arch Linux).

	Support for the meson build system.

	Pie charts generated by 'graph-build' or 'graph-size' are now
	sorted according to the size of each piece.

	System: Only show getty options when busybox init or sysvinit
	are used.

	ARM-trusted-firmware: Support ATF bundled in U-Boot as
	well as U-Boot bundled in ATF.

	Zlib is now a virtual package, provided by either libzlib or
	zlib-ng, similar to openssl.

	Support for the Rust programming language.

	New packages: aoetools, armbian-firmware, binaries-marvell,
	brltty, cargo, cargo-bin, cups-filters, curlpp, daq,
	flatbuffers, gconf, glorytun, gstreamer1-mm, imx-m4fwloader,
	imx-gpu-g2d, json-for-modern-cpp, libcpprestsdk, libgta,
	libostree, libupnp18, luadbi, luadbi-sqlite3, lua-utf8, lynx,
	meson, mv-ddr-marvell, nilfs-utils, opentracing-cpp,
	open-lldp, pimd, proj, python-flask-cors,
	python-jaraco-classes, python-more-itertools, python-oauthlib,
	python-raven, python-remi, python-requests-oauthlib,
	python-schedule, python-secretstorage, python-see,
	python-tabledata, python-txtorcon, python-xlib, qt5charts,
	rtl8189fs, rtl8723bu, rust, rustc, rust-bin, rygel, safeclib,
	solatus, tcf-agent, traceroute, waylandpp, wolfssl,
	zisofs-tools, zlib-ng

	Removed packages: eeprog

2017.11.2, Released January 21st, 2018

	Important / security related fixes.

	External toolchain: libatomic is now also copied for musl
	based toolchains.

	nconfig: Fix for ncurses/ncursesw linking issue causing crashes.

	System: Only show getty options when busybox init or sysvinit
	are used.

	Infrastructure: Fix build issue for autotools based packages
	checking for C++ support on toolchains without C++ support and
	on a distro lacking /lib/cpp (E.G. Arch Linux).

	Pie charts generated by 'graph-build' or 'graph-size' are now
	sorted according to the size of each piece.

	Updated/fixed packages: asterisk, avahi, bind, busybox,
	coreutils, eeprog, intel-microcode, iputils, irssi, kmsxx,
	libiio, linux-firmware, lz4, mariadb, matchbox-lib, mcookie,
	ntp, php, pound, rpcbind, tar, ti-cgt-pru, webkitgtk, xen,
	xlib_libXpm

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

	#9996: lz4 package does not install lz4 binaries in target
	#10176: Rsyslog's S01logging is deleted by Busybox.mk from...
	#10216: package/x11r7/mcookie/mcookie.c:207: bad size ?
	#10301: systemd/getty unused options
	#10331: kmsxx, host installation fails with BR2_SHARED_...
	#10556: Building ntp package with SSL library libressl...
	#10641: avahi-autoipd not starting when using systemd-tmpfiles

2017.11.1, Released December 31th, 2017

	Important / security related fixes.

	Updated/fixed packages: asterisk, checkpolicy, dhcp, flann,
	gdb, glibc, heimdal, kodi-pvr-mediaportal-tvserver,
	kodi-pvr-stalker, libcue, libopenssl, libpqxx, libsoxr,
	linknx, linux-tools, lldpd, ltp-testsuite, mariadb, mfgtools,
	nodejs, nut, pulseaudio, python-cffi, qemu, rsync, tor, uboot,
	uboot-tools, vlc, webkitgtk, weston, wireguard, wireshark,
	xenomai, xfsprogs

2017.11, Released November 30, 2017

	Fixes all over the tree.

	Toolchain: Use github mirror for Glibc.

	Defconfigs: Correct boot.cmd for bananapi-m1.

	Makefiles: Workaround include order issues for certain make
	versions by explicitly sorting the result of wildcard where it
	matters.

	Download: Ensure subversion runs in non-interactive mode.

	Updated/fixed packages: asterisk, boost, chrony, dovecot,
	dvb-apps, exim, feh, freerdp, fwup, google-breakpad, jose,
	kvm-unit-test, lftp, libcurl, libevent, libfastjson, libpjsip,
	libupnp, linphone, localedef, lttng-tools, mp4v2, mtools,
	ndisc6, oracle-mysql, parted, pdbg, qt, qt5connectivity,
	qt5declarative, qt5webkit, rauc, runc, samba4, shairport-sync,
	systemd-bootchart, webkitgtk, wireguard, xlib_libXcursor,
	xlib_libXfont, xlib_libXfont2,

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

	10501: host-localedef fails to compile on Ubuntu 17.10
	10506: Changed kernel image type (e.g. zImage to uImage)...

2017.11-rc2, Released November 13th, 2017

	Fixes all over the tree.

	Updated/fixed packages: collectd, ffmpeg, freerdp,
	go-bootstrap, imagemagick, jimtcl, libpjsip, libplist, libuv,
	mesa3d, nodejs, ntp, openjpeg, postgresql, python-numpy, ruby,
	snmp++, usb_modeswitch, util-linux, vboot-utils, webkitgtk,
	wireshark, wpa_supplicant, xapp_xdriinfo

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

	#10326: mesa3d package fails to build when BR2_SHARED_STATIC_LIBS=y
	#10491: Cannot output security warning when compiled with buildroot..

2017.11-rc1, Released November 6th, 2017

	Fixes all over the tree and new features.

	Openssl is now a virtual package, which may be provided by
	OpenSSL (now renamed to libopenssl) or LibreSSL.

	libssh2: there is now an explicit choice of the backend to use
	(mbedtls, gnutls or openssl). Previously, the choice was implicit
	based on the TLS library that was selected. Now, it is possible to
	choose the backend, which is important if several TLS libraries are
	selected.

	netsnmp: all MIB files are now installed, making the target filesystem a
	bit bigger than before. To remove unneeded MIBS, you should use a
	post-build script.

	Toolchain: Linaro toolchains updated to 2017.08, ARC toolchain
	updated to 2017.09, Glibc updated to 2.26, Glibc support for
	ARCv2. The toolchain wrapper now handles SOURCE_DATE_EPOCH for
	older (pre-gcc7.x) toolchains for BR2_REPRODUCIBLE.

	New defconfigs: Atmel SAM45D27, Bananapi M1 and M2 Plus,
	Engicam i.CoreM6 Qt5 configuration, i.MX6 sabreauto (mainline
	kernel/u-boot), i.MX6Q sabresd Qt5 configuration, i.MX7d-pico,
	QEMU ppc64le, Raspberry pi3 Qt5 webengine configuration,
	Technologic TS-7680.

	New packages: asterisk, azmq, bcg729, boinc, dahdi-linux,
	dahdi-tools, freeswitch-mod-bcg729, fscryptctl, libb64,
	libpri, libss7, lua-basexx, lua-compat53, lua-cqueues,
	lua-curl, lua-datafile, lua-fifo, lua-httpd,
	lua-lpeg-patterns, lua-markdown, lua-sailor, lua-value,
	luksmeta, minetest, minetest-game, pdmenu, prosody,
	python-aiocoap, python-automat, python-ibmiotf,
	python-iso8601, python-m2r, python-simplesqlite,
	python-websockets, python-xmltodict, qt5wayland, qt5webengine,
	restorecond, selinux-python, semodule-utils, uhubctl,
	wireguard, wsapi-fcgi, wsapi-xavante

	Removed packages: aiccu, rfkill, sepolgen

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

	#10281: lsblk does not compile for util-linux
	#10336: lttng compilation fails : linking error
	#10351: glibc missing in rootfs
	#10356: nfs-utils missing header
	#10361: python3 python-config script generates invalid includes
	#10366: dropbear download url has changed
	#10391: WiringPi retrieves wrong (old) version
	#10406: Beaglebone black: Buggy SGX driver version, swapped...
	#10426: uboot-tools' fw_setenv does not update the redundant...
	#10451: libpcap 1.8.x and 1.7x does not compile on PPC

2017.08.2, Released November 28th, 2017

	Important / security related fixes.

	Qt: 5.6 version updated to 5.6.3.

	Reproducible: Do not override SOURCE_DATE_EPOCH if already set
	in the environment.

	Makefiles: Workaround include order issues for certain make
	versions by explicitly sorting the result of wildcard where it
	matters.

	Updated/fixed packages: apr, apr-util, arqp-standalone,
	azure-iot-sdk-c, collectd, dvb-apps, ffmpeg, go-bootstrap,
	google-breakpad, gstreamer, imagemagick, irssi, jimtcl,
	kvm-unit-test, libcurl, libfastjson, libglib2, libidn,
	libpjsip, libplist, localedef, lttng-tools, luajit, mesa3d,
	moarvm, mp4v2, openssh, openssl, oracle-mysql, postgresql,
	python3, python-pyqt5, qt, qt5base, qt5canvas3d,
	qt5connectivity, qt5declarative, qt5engineio,
	qt5graphicaleffects, qt5imageformats, qt5location,
	qt5multimedia, qt5quickcontrols, qt5quickcontrols2, qt5script,
	qt5sensors, qt5serialbus, qt5serialport, qt5svg, qt5tools,
	qt5webchannel, qt5webkit, qt5websockets, qt5x11extras,
	qt5xmlpatterns, quagga, redis, ruby, samba4, sdl2, snmppp,
	swupdate, ti-gfx, uboot-tools, usb_modeswitch, vboot-utils,
	webkitgtk, wget, wireshark, xapp_xdriinfo.

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

	10326: mesa3d package fails to build when BR2_SHARED_STATIC_LIBS=y
	10361: python3 python-config script generates invalid includes
	10501: host-localedef fails to compile on Ubuntu 17.10

2017.08.1, Released October 23rd, 2017

	Important / security related fixes.

	Webkitgtk bumped to the 2.18.x series, fixing a large number
	of security issues.

	Defconfigs: galileo: fix ext4 related kernel config, bump
	kernel for gcc 6.x compatibility, enable wchar support for
	grub2. wandboard: correct rootfs offset

	support: Ensure gzip compression level 6 is used for git
	tarballs. check-bin-arch: Correctly handle (ignore) symbolic
	links. check-rpath: Also handle PIE binaries

	External toolchain: Correctly handle glibc Buildroot
	toolchains built with merged /usr

	musl: fix ARMv4 build with binutils 2.27.51+, fix for
	CVE-2017-15650

	Updated/fixed packages: apache, augeas, bind, bluez5_utils,
	busybox, bzip2, cmake, dnsmasq, ejabberd, gcc, git, go, ffmpeg, file,
	flashrom, gd, gdk-pixbug, gnupg2, hostapd, ifupdown-scripts,
	imagemagick, iucode-tool, kernel-module-imx-gpu-viv, lame,
	libarchive, libcurl, libffi, libidn, libmbim, libnspr, libnss,
	libressl, librsync, libsoup, libxml2, libzip, mbedtls, musl,
	netplug, nginx, openvpn, pkgconf, poppler, proxychains-ng,
	qemu, qt, rpi-userland, syslog, ruby, samba4, softether,
	sqlite, strongswan, subversion, supertuxkart, supervisor, tcpdump,
	tor, unrar, urq, vboot-utils, webkitgtk, wpa_supplicant, xen,
	xmlstarlet, xlib_libXfont, xlib_libXfont2,
	xserver_xorg-server, zsh

2017.08, Released September 1st, 2017

	Minor fixes.

	Toolchain: Don't allow internal toolchain builds for MIPS
	M6201/P6600, as support for these are not yet in mainline GCC.

	Updated/fixed packages: bcusdk, connman, dialog, dnsmasq,
	gnupg, grub2, iostat, iucode-tool, libgcrypt, libkcapi,
	libphidget, libv4l, linux-tools, mediastreamer, minidlna,
	nss-pam-ldapd, nvidia-driver, qt-webkit-kiosk, rpcbind, squid,
	transmission, vde2, vim

	Updated/fixed defconfigs:

	Removed packages: simicfs.

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

	#10261: Grub2 fails to build for x86_64

2017.08-rc3, Released August 23rd, 2017

	Fixes all over the tree.

	Updated/fixed packages: alsa-lib, alsa-utils, cc-tool,
	dbus-cpp, e2fsprogs, elf2flt, faad2, fakeroot, gcc, git, gpsd,
	gst1-validate, kvmtool, libconfuse, libepoxy, librsync,
	libspatialindex, libunwind, linux, linux-headers, lua,
	mariadb, mesa3d, mtd, openocd, python3, syslinux, sysvinit,
	whois, xen, zmqpp.

	Updated/fixed defconfigs: ci20, socrates_cyclone5,
	toradex_apalis_imx6.

	Removed defconfig: Armadeus APF9328.

	skeleton-* packages introduced in -rc1 have been renamed to
	skeleton-init-* instead.

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

	#10141: Squashfs extended attribute failures

2017.08-rc2, Released August 11th, 2017

	Fixes all over the tree.

	Updated/fixed packages: bind, dbus, erlang-p1-xml, faad2,
	ficl, gcc, gdb, glibc, jack2, libcurl, linux, linux-headers,
	lua, mutt, nvme, qt5base, skeleton-common, snappy, stella,
	swupdate, uclibc, valgrind, webkitgtk.

	Updated/fixed defconfigs: beaglebone_qt5, minnowboard_max,
	nanopi_m1{, _plus}, olimex_a20_olinuxino_lime, qemu_sparc,
	qemu_sparc64.

	The cmake-package infrastructure for host packages has been
	fixed to not incorrectly detect target packages through
	pkg-config.

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

	#9926:  systemd-resolved.service: Failed at step NAMESPACE (systemd 233)
	#10021: libqeglfs-viv-integration.so file is missing for qt5 on armv7
	#10026: lua-5.3.4: fix lua linker error in swupdate
	#10146: package/skeleton-common fix recursive variable
	#10156: glibc compilation fails for X86 32bits (i386)
	#10201: toolchain-wrapper.c:192: (error) Memory leak:
	#10221: Buildroot Support

2017.08-rc1, Released August 2nd, 2017

	Infrastructure:

	- The skeleton package has been split into multiple packages:
	  skeleton-sysv (when Busybox or SysV init are used),
	  skeleton-systemd (when systemd is used), skeleton-none (when
	  no init system is used) and skeleton-custom (when a custom
	  skeleton is used). Those packages, except skeleton-custom,
	  share common logic and data in a new package called
	  skeleton-common. The skeleton package becomes a virtual
	  package. This change allows to generate a filesystem that is
	  compliant with systemd expectations.

	- Support for using a read-only filesystem with systemd has
	  been fixed.

	- Major revamp of the gettext handling, with user-visible
	  effect:

	  - prior to this revamp, when BR2_ENABLE_LOCALE=y, each
	    package could decide to enable or not NLS support. When
	    BR2_ENABLE_LOCALE was disabled, NLS support was forced off
	    by passing --disable-nls to packages.

	  - after this revamp, a new BR2_SYSTEM_ENABLE_NLS option
	    controls whether NLS support should be enabled or not in
	    packages. This option defaults to disabled, which means
	    that now, NLS support is by default disabled in all
	    packages.

	  Therefore, if you need NLS support in packages, you must now
	  explicitly enable the BR2_SYSTEM_ENABLE_NLS option.

	- The host directory no longer has a usr/ component. This
	  makes it much more natural to use that directory as an
	  externally used toolchain. For compatibility with existing
	  scripts, a usr -> . link is still added.

	- Hashes are now checked on tarballs by Buildroot when a
	  package is sourced from a Git repository.

	- Patches are no longer being downloaded from Github, since
	  auto-generated patches could change over time, and break
	  hashes. All patches that were downloaded from Github are now
	  stored in their respective package directories.

	- Hash files in packages can now contain hashes for the
	  license files contained in the package source code. This
	  allows to detect changes in such license files.

	- Binaries in $(TARGET_DIR) are now cleaned up from invalid
	  RPATHs at the end of the build.

	- A new "make sdk" target prepares $(HOST_DIR) to be
	  relocatable: turns RPATHs in host binaries into relocatable
	  ones, removes bogus RPATHs from staging binaries/libraries,
	  and provides a relocate-sdk script that can be executed to
	  relocate the SDK after installation.

	- Addition of utils/genrandconfig which generates a random
	  configuration based on a set of pre-defined toolchain
	  configurations (support/config-fragments/autobuild/) and a
	  random selection of packages. It is now used by the
	  autobuilders to generate the random configurations.

	Filesystems:

	- ext2/3/4 filesystems are now generated using mkfs.ext from
	  e2fsprogs instead of using genext2fs.

	Architecture:

	- Addition of support for ARM big.LITTLE variants
	- Improved MIPS support, with options to select NaN encoding
	  and FP32 mode.

	Toolchain:

	- Switch to gcc 6.x as the default gcc version, add support
	  for gcc 7.x, remove support for gcc 4.8
	- Switch to binutils 2.28 as the default binutils version, add
	  support for binutils 2.29, remove support for binutils 2.26
	- Support added for gdb 8.0
	- uClibc-ng bumped to 1.0.26
	- CodeSourcery toolchains for x86 and SuperH have been
	  removed, they were using a too old glibc version
	  (2.17). External toolchains with glibc 2.17 or earlier are
	  no longer supported.
	- The version selection in the glibc package has been
	  removed. Like musl and uClibc-ng, we now use the latest
	  glibc version.
	- Improved support for Xtensa toolchain overlays, which can
	  now be downloaded.

	Tools:

	- Numerous improvements to the runtime test infrastructure
	- Tests are now executed by Gitlab CI on a regular basis
	- Tools that are directly useful to the user have been moved
	  from support/scripts/ to utils/: brmake, check-package,
	  get-developers, scancpan, scanpipy, size-stats-compare,
	  test-pkg.

	New defconfigs: A13 Olinuxino, Engicam platforms (i.CoreM6
	Solo/Dual/DualLite/Quad, RQS SOM, GEAM6UL SOM, Is.IoT MX6UL
	SOM), Nano Pi M1 (Plus), OrangePi Zero and Plus.

	New packages: azure-iot-sdk-c, cracklib, dt-utils, easy-rsa,
	erlang-jiffy, erlang-p1-oauth2, erlang-p1-xmpp,
	ifupdown-scripts, irrlicht, kodi-inputstream-adaptive,
	kodi-inputstream-rtmp, kvazaar, let-me-create, libloki,
	libpwquality, libressl, libspatialindex, libva-utils,
	linuxconsoletools, linuxptp, luaossl, lua-sdl2, lua-stdlib,
	lsscsi, paxtest, pcre2, pixz, python-asn1crypto,
	python-backports-shutil-get-terminal-size, python-bcrypt,
	python-cheroot, python-h2, python-hpack, python-hyperframe,
	python-hyperlink, python-ipython-genutils, python-pathlib2,
	python-pickleshare, python-priority, python-portend,
	python-scandir, python-systemd, python-tempora,
	python-traitlets, python-typepy, qt5virtualkeyboard,
	ratpoison, rauc, refpolicy, rhash, sdl2_mixer, sdl2_net,
	xr819-xradio, zstd

	Removed packages: cloog, input-tools, mke2img

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

	#7892: systemd-journald is broken
	#9341: avahi-utils does not compile with uClibc +  libglib2
	#9441: Link BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY to
	       BR2_ENABLE_DEBUG
	#9746: ext4 image generated by Buildroot is not working
	       properly with U-Boot
	#9886: Build fails with "unexpected EOF while looking for
	       matching `"'" if PATH contains a newline
	#9891: parted 3.1 => 3.2?
	#9911: qt5 does not build on sparc
	#9916: qt5 does not build on
	       arm-buildroot-linux-uclibcgnueabihf for ARMv8 cores
	#9936: Host QEMU does not build with SDL support because of
	       pkg-config
	#9941: nodejs option disappears for arm
	#9951: SCANCPAN failure
	#9966: util-linux-2.30/.stamp_built' failed
	#9976: License file for package 'rtl8821au' incorrect
	#9991: SGX Error implicit declaration of function
	       ‘dmac_map_area’
	#10011: wget does not work from Buildroot
	#10036: Buildroot builds Raspbian Jessie headless image
		presenting incorrect prompt
	#10051: make: *** No rule to make target
		'raspberrpi3_defconfig'. Stop reported with Buildroot
		v2017.05.1
	#10056: No .config file was produced in /buildroot folder
	#10061: gcc5.4 buildroot toolchain for powerpc libsanitizer
		failure
	#10071: fakeroot: replace hard-coded paths in post install
	#10076: Makefile:4113: recipe for target 'all-gcc'  failed
	#10091: gcc7.1 does not build with graphite support due to old
		isl
	#10121: webkit without the multimedia option causes build
		error

2017.05.2, Released July 27th, 2017

	Important / security related fixes.

	Webkitgtk bumped to the 2.16.x series, fixing a large number
	of security issues.

	host-aespipe compile fix for Debian/Gentoo/Ubuntu toolchains
	which default to PIE mode.

	Updated/fixed packages: aespipe, apache, bind, binutils,
	busybox, ccache, collectd, dieharder, efibootmgr, efivar,
	expat, ffmpeg, gcc, heimdal, iproute2, irssi, libglib2,
	libmemcached, libosip2, libtirpc, libxml-parser-perl,
	linux-fusion, linux-zigbee, mpg123, orc, pcre, php, protobuf,
	pulseaudio, python-setproctitle, qt5base, rpi-firmware,
	samba4, syslinux, systemd, spice, tcpdump, tiff, uboot-tools,
	webkitgtk, x265, xserver_xorg-server, xvisor

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

	#10061: gcc5.4 buildroot toolchain for powerpc libsanitizer...

2017.05.1, Released July 4th, 2017

	Important / security related fixes.

	Update support/scripts/scancpan to use METACPAN v1 API as v0
	has been shutdown.

	Update support/scripts/mkusers to handle setups where
	/etc/shadow is a symlink.

	External toolchain: Don't create musl dynamic loader symlink
	for static builds.

	Setlocalversion: Correct detection of mercurial revisions for
	non-tagged versions.

	Defconfigs: at91sam9x5ek_mmc: workaround boot rom issue.

	Updated/fixed packages: apache, automake, bind, botan, c-ares,
	dhcp, expat, fcgiwrap, gcc, gdb, gesftpserver, glibc, glmark2,
	gnutls, gst1-plugins-bad, imagemagick, imx-uuc, intltool,
	iperf, ipsec-tools, irssi, kmod, libcurl, libgcrypt, libmad,
	libnl, lugaro, mosquitto, mpg123, ncurses, nodejs, ntp,
	openssh, openvpn, pngquant, python-simplegeneric, qt5base,
	qt5multimedia, rtl8821au, socat, spice, systemd, tor, trinity,
	tslib, vlc, x264, xen, xlib_libxshmfenc, xserver_xorg-server

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

	#9976: License file for package 'rtl8821au' incorrect

2017.05, Released May 31st, 2017

	Minor fixes.

	External toolchain: musl dynamic linker symlink for mips-sf
	corrected.

	Updated/fixed packages: agentpp, bash, exim, hans, madplay,
	qpid-proton, rtl8188eu, snmppp, stm32flash, strongswan, sudo,
	xen

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

	#9906: genimage: Disk full

2017.05-rc3, Released May 30th, 2017

	Fixes all over the tree.

	ARC toolchain bumped to 2017.03

	Runtime testing improvements and cleanups.

	Updated/fixed packages: acpica, armadillo, audiofile, c-icap,
	cppcms, dhcp, docker-engine, dropbear, elfutils, erlang,
	fbgrab, ffmpeg, flashrom, ftop, gnutls, google-breakpad,
	keepalived, kodi, libcdio, libepoxy, libev, libminiupnpc,
	libqmi, libtasn1, libv4l, mariadb, mono, mosh, mosquitto,
	mxml, ntp, opencv, openpowerlink, oracle-mysql, popt,
	pulseview, python-enum34, rabbitmq-c, redis, samba4, stella,
	xen

	Removed packages: firejail, ola

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

	#9871: fbgrab 1.3 won't build with BR2_REPRODUCIBLE set
	#9876: aarch64 support with gcc 4.8 toolchain
	#9896: host-gcc-initial error downloading because incorrect URL

2017.05-rc2, Released May 17th, 2017

	Fixes all over the tree.

	ARC toolchain bumped to 2017.03-rc2

	Updated/fixed packages: bluez_utils, boost, clamav, daemon,
	efibootmgr, efl, espeak, expedite, faketime, ffmpeg, fxload,
	git, gpsd, kvm-unit-tests, libcdio, libv4l, lua, mke2img,
	mpir, mpv, odroid-scripts, openblas, opencv3, openvpn, php,
	postgresql, protobuf, qt5declarative, qwt, radvd, rpcbind,
	rtmpdump, strongswan, sudo, ltp-testsuite, uclibc-ng-test,
	vlc, x11vnc, xfsprogs

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

	#9796: source-check broken for Git downloads
	#9866: BASE_DIR usage

2017.05-rc1, Released May 8th, 2017

	Fixes all over the tree and new features.

	Infrastructure:

	- Installed binaries are now checked for correct architecture
	  to catch natively built binaries or binaries built for other
	  architecture variants.

	- Luarocks infrastructure improvements to extraction handling,
	  support for upstream name != Buildroot package name.

	- 'make printvars' output format has changed to make it easier
	  to use in scripts. It now has options to quote the variables
	  and to show the expanded/unexpanded values.

	- Automatic ext2 rootfs size calculation has been removed. The
	  logic was not working working reliable in all setups as it
	  depends on the host filesystem behaviour, so instead now the
	  size has to be specified explicitly (defaults to 60MB).

	- The git download infrastructure now ensures that GNU format
	  tar files are created.

	- Fixed a variable clashing issue in the mkusers script with
	  internal bash variables.

	- Fakeroot now links against libacl to fix issues on
	  distributions using acls.

	- Correct permissions for /dev/pts/ptmx when systemd is used
	  with recent glibc versions.

	- br2-external: Improve error reporting.

	- A wrapper script for genimage has been added in
	  support/scripts/genimage.sh for easy use of genimage from
	  post-image scripts.

	- A script to check for common style issues in new packages
	  before submitting has been added in support/scripts/check-package

	- Defconfigs are now tested by gitlab-CI instead of Travis:
	  https://gitlab.com/buildroot.org/buildroot

	- Infrastructure for runtime testing has been added to
          support/testing

	Toolchain:

	- External linaro toolchains updated to 2017.02, ARC toolchain
          updated to 2017.03-rc1, NIOSII CodeSourcery to 2017.05

	- A number of fixes and improvements to the external toolchain
	  handling, including C library detection, multilib and ld.so
	  handling

	- Glibc 2.25 and uClibc-ng 1.0.24 added, wordexp support enabled
          for uClibc-ng

	- Binutils 2.28 added and default changed to 2.27


	Architectures:

	- Support for the C-SKY architecture has been added.


	License handling:

	- The package license markings for legal info now uses the
	  SPDX short identifiers for the license string where possible.

	- License info has been improved / added for a number of packages.


	Misc:

	- Cmake 3.7.x installed on the host is no longer ignored as a
          workaround for the RPATH issues has been implemented.

	- Docker-engine can now be built statically on an otherwise
	  dynamic linked build for docker-in-docker setups.

	- U-Boot now supports out-of-tree device trees, similar to
          Linux

	- Nodejs 0.10.x support (and with it, support for <ARMv6) has
          been removed as this is now EOL upstream.

	New defconfigs: AT91sam9x5ek dev/mmc/mmc-dev, banana pro,
	Nationalchip gx6605s, MIPS creator ci40, nexbox a95x, 64bit
	defconfig for raspberry pi 3, stm32f429-disc1.

	The raspberry pi zero-w and rpi3 compute module are now also
	supported by the rpi0 / rpi3 defconfigs, beaglebone green is
	supported by the beaglebone defconfig.

	Removed defconfig: minnowboard, via imx6 vab820, altera
	socdk/sockit

	New packages: arp-scan, atest, augeas, bluez-tools, daemon,
	dc3dd, dieharder, execline, fmt, ghostscript, gqrx,
	gst1-vaapi, jo, keepalived, kmscube, kodi-jsonschemabuilder,
	kodi-skin-confluence, kodi-texturepacker, lensfun, leptonica,
	libbson, libcsv, libgphoto2, libkcapi, libmaxminddb,
	libmediaart, libnpth, libscrypt, lua-bit32, lua-resty-http,
	lugaru, memtool, mpir, nanomsg, physfs, phytool, pngquant,
	python-decorator, python-simplegeneric,
	python-sortedcontainers, rpi-bt-firmware, rpi-wifi-firmware,
	s6, s6-dns, s6-linux-init, s6-linux-utils, s6-networking,
	s6-portable-utils, s6-rc, supertux, tesseract-ocr,
	uccp420wlan, wilink-bt-firmware

	Broken packages: ola

	Removed packages: cosmo, kodi-visualisation-fountain,
	polarssl, portmap, xdriver_xf86-video-glide,
	xdriver_xf86-video-v4l, xdriver_xf86-video-wsfb

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

	#8831: image generation fails on host ZFS due to "no free space"
	#9436: e2fsprogs remove busybox applets even of unselected e2fs..
	#9456: mkusers script bash errors
	#9496: mke2img fails during build on ntfs-3g host partition
	#9531: NPM fails to build embedded modules
	#9596: KODI: --enable-lirc needs "HAVE_LIRC" compiler definition..
	#9691: Wrong cryptsetup package include files location
	#9696: Wrong cryptsetup package include files location
	#9706: Can't download newer revisions of package from PyPI
	#9711: Recent libCEC version bump seems to break kodi package
	#9716: exit, shutdown, reboot from kodi
	#9721: version 2017.02: no acceptable m4 could be found in $PATH
	#9726: Raspberry Pi version B - Problems with UART speed in..
	#9751: expat legal info - manifest.csv: GPLv2 Source site: MIT..
	#9756: glibc fails to build on buildroot-sh4*-buildroot-linux-gnu
	#9766: support/scripts/pkgutil.py conflicts with the pkgutil.py..
	#9776: libubox build failed
	#9791: Python searches for packages in the user site directory
	#9806: libseccomp is not available when BR2_arm=y
	#9826: post-build scritp - symlinks created in post-build script..
	#9836: triggerhappy: systemd unit broken
	#9846: musl libc not installed correctly in target folder
	#9856: build libubox failed on ubuntu 17.04 64bit

2017.02.11, Released April 11th, 2018

	Important / security related fixes.

	dependencies: Blacklist tar 1.30+ and build our own host-tar
	if needed as tar 1.30+ changed the --numeric-owner output for
	long path names. Build host-tar before other host-dependencies
	as they need it to extract their source tarballs.

	Updated/fixed packages: apache, busybox, clamav, dhcp,
	dnsmasq, dovecot, exim, imagemagick, irssi, jq, libcurl,
	libpjsip, librsvg, libtasn1, libvorbis, libxml2, lz4, mariadb,
	mbedtls, mosquitto, ntp, openblas, opencv3, openssl, patch,
	postgresql, python-webpy, qt53d, qt5tools, quagga, rsync,
	samba4, sngrep, tremor, wavpack, wireshark, xerces, xterm

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

	#10856: openblas on qemu_x86_64_defconfig fails with "sgemm_..

2017.02.10, Released January 31st, 2018

	Important / security related fixes.

	nconfig: Fix for ncurses/ncursesw linking issue causing crashes.

	System: Only show getty options when busybox init or sysvinit
	are used.

	Infrastructure: Fix build issue for autotools based packages
	checking for C++ support on toolchains without C++ support and
	on a distro lacking /lib/cpp (E.G. Arch Linux).

	Updated/fixed packages: avahi, berkeleydb, bind, busybox,
	ccache, clamav, coreutils, dovecot, eeprog, eudev, fis,
	intel-microcode, iputils, irssi, kmsxx, libcurl, liberation,
	libiio, lz4, mariadb, matchbox-lib, mcookie, openocd, php,
	pound, rpcbind, squid, tar, ti-cgt-pru, transmission,
	util-linux, webkitgtk, wireshark, xen

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

	#9996: lz4 package does not install lz4 binaries in target
	#10176: Rsyslog's S01logging is deleted by Busybox.mk from...
	#10216: package/x11r7/mcookie/mcookie.c:207: bad size ?
	#10301: systemd/getty unused options
	#10331: kmsxx, host installation fails with BR2_SHARED_...
	#10536: Finding non-relative paths in the ccache
	#10641: avahi-autoipd not starting when using systemd-tmpfiles

2017.02.9, Released January 1st, 2018

	Important / security related fixes.

	Fix divide by zero issue in size-stats script.

	Fix makefile include ordering issue with certain make versions
	in the external toolchain handling.

	Updated/fixed packages: dhcp, exim, flann, gdb, heimdal,
	libcue, libcurl, libevent, libpqxx, libsoxr, linphone, lldpd,
	mariadb, mfgtools, mtools, nodejs, nut, openssl, rsync,
	samba4, tor, vlc, webkitgtk, wireshark, xfsprogs,
	xlib_libXcursor, xlib_libXfont, xlib_libXfont2

2017.02.8, Released November 27th, 2017

	Important / security related fixes.

	Qt: 5.6 version updated to 5.6.3.

	Reproducible: Do not override SOURCE_DATE_EPOCH if already set
	in the environment.

	Updated/fixed packages: apr, apr-util, arqp-standalone,
	collectd, dvb-apps, ffmpeg, google-breakpad, gstreamer,
	imagemagick, libfastjson, libglib2, libpjsip, libplist,
	localedef, luajit, mesa3d, openssh, openssl, postgresql,
	python3, python-pyqt5, qt5base, qt5canvas3d, qt5connectivity,
	qt5declarative, qt5engineio, qt5graphicaleffects,
	qt5imageformats, qt5location, qt5multimedia, qt5quickcontrols,
	qt5quickcontrols2, qt5script, qt5sensors, qt5serialbus,
	qt5serialport, qt5svg, qt5tools, qt5webchannel, qt5webkit,
	qt5websockets, qt5x11extras, qt5xmlpatterns, quagga, ruby,
	samba4, snmppp, ti-gfx, vboot-utils, webkitgtk, wireshark,
	xapp_xdriinfo.

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

	10326: mesa3d package fails to build when BR2_SHARED_STATIC_LIBS=y
	10361: python3 python-config script generates invalid includes
	10501: host-localedef fails to compile on Ubuntu 17.10

2017.02.7, Released October 28th, 2017

	Important / security related fixes.

	Webkitgtk bumped to the 2.18.x series, fixing a large number
	of security issues.

	Defconfigs: wandboard: Correct rootfs offset

	Toolchain: Linaro toolchains updated to 2017.08 release,
	fixing a number of issues. Musl: fix for CVE-2017-15650.

	Updated/fixed packages: busybox, bzip2, dnsmasq, git, go,
	hostapd, irssi, iucode-tool, lame, libcurl, libffi, libnspr,
	libnss, nodejs, openssh, openvpn, qemu, qt, redis, sdl2,
	webkitgtk, wget, wpa_supplicant, xen, xlib_libXfont,
	xlib_libXfont2, xserver_xorg-server

2017.02.6, Released September 24th, 2017

	Important / security related fixes.

	Cmake: Ensure correct pkg-config is used when building host
	packages

	fs/iso9660: Ensure files from earlier builds are not included.

	Updated/fixed packages: apache, bcusdk, bind, binutils,
	bluez5_utils, botan, cmake, connman, dbus, dialog, e2fsprogs,
	faad2, fakeroot, ffmpeg, file, flashrom, gcc, gd, gdb,
	gdk-pixbuf, git, gnupg, gpsd, grub2, gst1-plugins-bad,
	imagemagick, iostat, iucode-tool, jack2, libarchive, libcurl,
	libgcrypt, libidn, libphidget, librsync, librsvg, libsoup,
	libxml2, linux-tools, lua, mariadb, mbedtls, mediastreamer,
	minidlna, netplug, nss-pam-ldapd, nvidia-driver, openjpeg,
	postgresql, proxychains-ng, python-libconfig,
	python-service-identity, qt, rpcbind, ruby, samba4, squashfs,
	squid, strongswan, subversion, supervisor, sysvinit, tcpdump,
	tor, transmission, unrar, valgrind, vim, webkitgtk, whois,
	xen, zmqpp

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

	#10141: Squashfs extended attribute failures
	#10261: Grub2 fails to build for x86_64
	#10276: BR2_PACKAGE_LINUX_TOOLS_GPIO fails for MIPS with...

2017.02.5, Released July 27th, 2017

	Important / security related fixes.

	Webkitgtk bumped to the 2.16.x series, fixing a large number
	of security issues.

	host-aespipe compile fix for Debian/Gentoo/Ubuntu toolchains
	which default to PIE mode.

	Updated/fixed packages: aespipe, apache, bind, binutils,
	busybox, ccache, collectd, efibootmgr, efivar, expat, ffmpeg,
	gcc, heimdal, iproute2, irssi, libglib2, libmemcached,
	libosip2, libtirpc, libxml-parser-perl, linux-fusion,
	linux-zigbee, mpg123, nodejs, orc, pcre, php, pulseaudio,
	python-setproctitle, qt5base, rpi-firmware, samba4, syslinux,
	systemd, spice, tcpdump, tiff, webkitgtk, x265, xen,
	xserver_xorg-server, xvisor

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

	#10061: gcc5.4 buildroot toolchain for powerpc libsanitizer...

2017.02.4, Released July 4th, 2017

	Important / security related fixes.

	Update support/scripts/scancpan to use METACPAN v1 API as v0
	has been shutdown.

	Update support/scripts/mkusers to handle setups where
	/etc/shadow is a symlink.

	External toolchain: Don't create musl dynamic loader symlink
	for static builds.

	Setlocalversion: Correct detection of mercurial revisions for
	non-tagged versions.

	Updated/fixed packages: apache, automake, bind, botan, c-ares,
	dhcp, expat, fcgiwrap, gcc, gdb, gesftpserver, glibc, gnutls,
	gst1-plugins-bad, imagemagick, imx-uuc, intltool, iperf,
	ipsec-tools, irssi, libgcrypt, libmad, libnl, mosquitto,
	mpg123, ncurses, nodejs, ntp, openssh, openvpn, qt5base,
	qt5multimedia, rtl8821au, socat, spice, systemd, tor, tslib,
	vlc, x264, xserver_xorg-server

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

	#9976: License file for package 'rtl8821au' incorrect

2017.02.3, Released June 2nd, 2017

	Important / security related fixes.

	Download: <pkg>-source-check fixed for packages from git.

	External toolchain: musl dynamic linker symlink for mips-sf
	corrected.

	Updated/fixed packages: armadillo, audiofile, bash,
	bluez_utils, cppcms, dbus, dhcp, dropbear, efibootmgr, efl,
	elfutils, faketime, fbgrab, flashrom, ftop, gdb, git,
	google-breakpad, gpsd, hans, kvm-unit-tests, kyua, libev,
	libmicrohttpd, libminiupnpc, libtasn1, libubox, ltp-testsuite,
	lua, madplay, mariadb, mono, mosquitto, mxml, ntp,
	nvidia-driver, openblas, openvpn, oracle-mysql, picocom, popt,
	postgresql, pulseview, qt5base, qwt, rabbitmq-c, redis,
	rpcbind, rtmpdump, samba4, strongswan, sudo, vlc

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

	#9796: source-check broken for Git downloads
	#9871: fbgrab 1.3 won't build with BR2_REPRODUCIBLE set

2017.02.2, Released May 1st, 2017

	Important / security related fixes.

	Use HTTPS for the Codesourcery external toolchains as the HTTP
	URLs no longer work.

	Updated/fixed packages: bind, busybox, dovecot, freetype,
	ghostscript, glibc, granite, hiredis, icu, imagemagick,
	gst-plugins-base, gst1-plugins-base, libcroco, libcurl, libnl,
	libnspr, libnss, libsamplerate, libsndfile, libunwind,
	minicom, mplayer, mpv, nodejs, python-django, python-pyyaml,
	python-web2py, samba4, syslinux, systemd, tiff, trinity,
	uboot, wireshark, xen

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

	#9791: Python searches for packages in the user site directory

2017.02.1, Released April 4th, 2017

	Important / security related fixes.

	Fix a variable clashing issue in the mkusers script with
	internal bash variables.

	Improve external toolchain version detection.

	Correct permissions for /dev/pts/ptmx when systemd is used
	with recent glibc versions.

	Fix python module name clash for graph-depends.

	Fakeroot now links against libacl to fix issues on
	distributions using acls.

	Ensure that the git download infrastructure creates GNU format
	tar files.

	br2-external: Improve error reporting.

	Updated/fixed packages: acl, apr, audiofile, busybox, cairo,
	dbus-cpp, dbus-glib, dbus-triggerd, domoticz, elfutils,
	fakeroot, filemq, fmc, gdb, git, gnutls, gst-ffmpeg,
	gst1-plygins-bad, harfbuzz, htop, imagemagick, jasper, libcec,
	libiio, libplatform, librsvg, libselinux, libsidplay2, libsoc,
	libwebsockets, libxkbcommon, linux-firmware, logrotate,
	lpt-testsuite, lttng-libust, mariadb, mbedtls, memcached,
	mesa3d, mpd, mplayer, nbd, ncftp, ntp, openssh, opentyrian,
	pcre, perl-gd, python, qt5base, rpi-userland, rpm, samba4,
	skalibs, slang, sngrep, squashfs, syslog-ng, taglib,
	tcpreplay, tor, upmpdcli, wget, wireshark,
	xdriver_xf86-video-vmware, xlib_libXv, zmqpp

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

	#9456: mkusers script bash errors

2017.02, Released February 28th, 2017

	Minor fixes, mainly fixing autobuilder issues.

	Don't use cmake 3.7.x from the build host as it is also
	affected by the RPATH handling issues, and instead build our
	own if needed.

	Updated/fixed packages: assimp, classpath, genimage, mplayer,
	mpv, openocd, python-libconfig, qt5base, qt5quickcontrols,
	vlc, xterm

2017.02-rc3, Released February 26th, 2017

	Fixes all over the tree.

	Cmake reverted to version 3.6.3 to workaround regressions
	related to RPATH handling.

	Updated/fixed packages: bctoolbox, berkeleydb, binutils,
	btrfs-progs, classpath, directfb, glibc, gstreamer1,
	gst1-plugins-{base,good,bad,ugly}, gst1-libav,
	gst1-rtsp-server, gst1-validate, gst-omx, htop, libcurl,
	libepoxy, libimxvpuapi, libpcap, libuv, ncurses, openssh,
	oracle-mysql, poco, python, qt5base, qt5webkit, sslh, synergy,
	trousers, uclibc-ng-test, util-linux, vlc, xfsprogs

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

	#9251: Shared C++ libraries for Microblaze results in Segmentation...
	#9456: mkusers script bash errors
	#9506: Collectd 5.7.0 fails to build with libcrypt
	#9581: VagrantFile provisioning step fails due to issue with grub-pc
	#9586: usbmount: usbmount slows down the system... to a state of...
	#9616: CMake host packages cannot provide CONF_ENV
	#9641: Need raptor package installed in staging
	#9671: stunnel build error

2017.02-rc2, Released February 20th, 2017

	Fixes all over the tree.

	Support for SOURCE_DATE_EPOCH in the toolchain wrapper for
	older gcc versions for reproducible builds has been
	(temporarily) reverted because of licensing compatiblity
	concerns.

	Defconfigs: SD card generation fix for the Udoo Neo board

	Infrastructure to handle .lz compressed tarballs added, and
	affected packages updated to use it.

	Updated/fixed packages: bctoolbox, bind, canelloni,
	cbootimage, ccache, classpath, cups, dbus, ddrescue, directfb,
	ed, erlang, gcc, gdb, glmark2, gstreamer, gstreamer1, hiredis,
	kmod, kmsxx, lcdapi, libasplib, libgpiod, libnss, libraw,
	libv4l, mesa3d-headers, mosquitto, mpd, mpv, musl, ntfs-3g,
	ocrad, openswan, postgresql, qt5base, qt5quickcontrols, redis,
	riemann-c-client, samba4, sunxi-mali, tcping, trousers,
	uclibc, util-linux, vim, wavpack, wget, wiringpi, xfsprogs,
	xserver_xorg-server

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

	#8941: Valgrind fails to build with stack protection turned on
	#9291: perl: SysV message queues not configured, even if available
	#9651: libxcb-1.12 built Error
	#9656: util-linux: schedutils doesn't build on target w/o enabl...
	#9666: qt5quickcontrols install fails

2017.02-rc1, Released February 11th, 2017

	Fixes all over the tree and new features.

	Infrastructure:

	  - numerous improvements to support reproducible builds

	  - new waf-package package infrastructure to support packages
	    that use the Waf build system. 6 packages converted to
	    this infrastructure.

	  - add option <pkg>_PREFER_INSTALLER to the perl package
	    infrastructure

	Architecture:

	  - add support for the OpenRISC CPU architecture

	  - merge description of the ARM and ARM64 options, and add
	    support for selecting a specific ARM64 core

	Toolchain:

	  - major rework of the external toolchain support. It is now
	    split into several packages, one per external toolchain,
	    and a common infrastructure.

	  - important fix for musl to prevent a conflict between musl
	    and kernel headers (fixes the build of numerous packages
	    with musl)

	  - uClibc-ng bumped to 1.0.22, and therefore enable uClibc
	    for ARM64, mips32r6 and mips64r6

	  - add gdb 7.12.1, and switch to gdb 7.11 as the default

	  - Linaro toolchains updated to 2016.11, ARC toolchain
	    components updated to arc-2016.09, MIPS Codescape
	    toolchains bumped to 2016.05-06, CodeSourcery AMD64 and
	    NIOS2 toolchains bumped

	  - remove Analog Devices toolchain for the Blackfin
	    architecture, remove pre-built musl toolchains from
	    musl.codu.org

	New defconfigs: Freescale i.MX23EVK, Qemu OpenRISC emulation,
	Qemu NIOS2 emulation, Grinn chiliBoard, Freescale i.MX6Q
	SabreSD, BeagleBoard X15, OrangePi One, ARC HS38 HAPS

	New packages: angular-websocket, aubio, bctoolbox, darkhttpd,
	ddrescue, easydbus, fakedate, git-crypt, hiredis, ifenslave,
	jsmn, libgpiod, libgsm, linux-syscall-support, mariadb, mimic,
	nginx-dav-ext, nmon, opkg-utils, policycoreutils,
	pru-software-support, python-arrow, python-attrs,
	python-babel, python-bitstring, python-chardet,
	python-constantly, python-flask-babel, python-gunicorn,
	python-incremental, python-jsonschema, python-logbook,
	python-markdown2, python-mbstrdecoder, python-mutagen,
	python-pathpy, python-pudb, python-pyqrcode,
	python-pytablereader, python-setuptools-scm, python-sh,
	python-toml, python-vcversioner, python-whoosh,
	raspberrypi-usbboot, riemann-c-client, rtl8723bs, skalibs,
	sslh, sngrep, ti-cgt-pru, uclibc-ng-test, udpxy, uhttpd,
	upower, ustream-ssl, waf, xlib_libXfont2

	Removed packages: perl-db-file, snowball-hdmiservice,
	snowball-init

	Tooling: addition of a test-pkg script to help contributors
	build test their package.

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

	#8946: Valgrind fails to build with stack protection turned on
	#9461: odroidc2 - toolchain Linaro AArch64 2016.11 compile error
	#9466: VIM_REMOVE_DOCS removes rgb.txt
	#9486: xorg-server 1.19 fails to compile for glibc with systemd init (x86_64)
	#9501: eudev fails to build with older kernel headers
	#9526: Embedded NPM fails to start with "no such file or directory" error
	#9541: Platform drivers autoloading from info in device tree does not work
	#9546: seems BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS do nothing
	#9551: Coreutils fails to build target src/src_libsinglebin_pinky_a-pinky.o
	#9566: [kmod] Compilation fails with uclibc
	#9571: buildroot fails while building opencv for arm64 platform
	#9576: External tree with BR 2016.11 does not work anymore
	#9606: xorg-server cannot build for ARM target

2016.11.3, Released March 9th, 2017

	Important / security related fixes.

	Updated/fixed packages: bind, dbus, gnutls, imagemagick,
	lcms2, libcurl, ntfs-3g, ntp, openssl, php, quagga, redis,
	squid, stunnel, tcpdump, vim, wavpack, wireshark, xlib_libXpm

2016.11.2, Released January 25th, 2017

	Important / security related fixes.

	A fix for BR2_EXTERNAL trees referenced using relative paths,
	which broke in 2016.11.

	Updated/fixed packages: bind, docker-engine, gd, gnutls, go,
	imagemagick, irssi, libpng, libvncserver, musl, opus, php,
	php-imagick, rabbitmq-server, runc, wireshark,

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

	#9576: External tree with BR 2016.11 does not work anymore

2016.11.1, Released December 29th, 2016

	Important / security related fixes.

	Updated/fixed packages: apache, cryptopp, docker-engine,
	dovecot, exim, gdk-pixbuf, libcurl, libupnp, links, monit,
	nodejs, openssh, php, python, python-bottle, samba4, squid,
	uboot, vim, wireshark, xorg-server uboot

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

	#9466: VIM_REMOVE_DOCS removes rgb.txt

2016.11, Released November 30th, 2016

	Minor fixes.

	Updated/fixed packages: bzip2, gcc, jasper, sane-backends,
	uboot, uclibc

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

	#9451: packages/postgresql/postgresql.mk contains wrong POST...

2016.11-rc3, Released November 28th, 2016

	Fixes all over the tree, including a number of security fixes.

	The move from fakeroot to pseudo unfortunately brought a
	number of issues.  The SELinux issue described in #9386 which
	triggered the move to pseudo has been investigated further and
	a workaround implemented and the pseudo changes reverted.

	Linux kernel: update default to 4.8.11.

	Defconfigs: Updates/fixes for imx28ek, mx6udoo, imx6ulpico,
	olimex a20 olinuxino lime mali, roseapplepi, synopsis aarch64
	vdk, axs101, axs103 and hs38 smd vdk.

	Updated/fixed packages: autossh, chrony, dosfstools,
	dtv-scan-tables, e2fsprogs, gcc, gdb, gnuchess, gnuradio,
	gpsd, gst1-plugins-bad, gst1-plugins-good, imagemagick,
	kvm-unit-tests, libfribi, libuv, mesa3d, mpfr, mplayer, mpv,
	ntp, ola, olsr, openblas, openjpeg, openssh, postgresql,
	ptpd2python3, qemu, qextserialport, qt5base, quagga, xqwt,
	taskd, tiff, tremor, trousers, udisks, uclibc, wireshark,
	xapp_xload, xenomai, xmlstarlet

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

	#9386: ubinize fails with or without custom config
	#9431: A misspelling
	#9446: make raspberrypi3_defconfig compilation failure

2016.11-rc2, Released November 13th, 2016

	Fixes all over the tree.

	Architecture: add support for MIPS XBurst cores; remove MIPS
	support for M5100 cores.

	Updated/fixed packages: mesa3d, lttng-babeltrace, tinyalsa, pseudo,
	czmq, libxml2, makedevs, binutils, kvm-unit-tests, libnss, privoxy,
	qemu, ser2net, net-tools, ffmpeg, assimp, libmpeg2, ccache, mpv,
	libxslt, python, python3, php, valgrind, guile, domoticz, efl,
	jasper, kvmtool, go, wget, sane-backends, weston, tinymembench,
	strace, openjpeg, lcms2, quota.

	Linux kernel: update default to 4.8.7.

	CMake support: fix cmake wrapper to properly pass NDEBUG flag.

	Filesystems: use a wrapper to pseudo, to better mimick the behaviour
	of fakeroot; makedevs no longer breaks of the destination already
	exists and is of the correct type/major/minor.

	Defconfigs: a few legacy and broken defconfigs have been removed
	because they now fail to build: kb9202_defconfig, mini2440_defconfig,
	freescale_p2020ds, qmx6, calao*, atmel_sama5d4ek. Other defconfigs
	have been updated: nanopi-neo, olimex_a20_olinuxino_lime_mali,
	armadeus_apf51, armadeus_apf28, freescale_imx31_3stack, ci20,
	olimex_a20_olinuxino_lime2, atmel_at91sam9260eknf,
	atmel_at91sam9rlek, atmel_at91sam9g20dfc, atmel_at91sam9g45m10ek,
	atmel_sama5d3xek.

2016.11-rc1, Released November 3rd, 2016

	Fixes all over the tree and new features.

	It is now possible to specify multiple BR2_EXTERNAL
	directories. The required files in a BR2_EXTERNAL directory
	have changed to accomodate this feature. Refer to the
	documentation for details of how to update them. External
	trees now have a name and a description. Also, it is possible
	to override a defconfig in the external tree.

	The default skeleton now uses UID 65534 for the "nobody"
	user instead of UID 99, like most distros do. See
	https://lwn.net/Articles/695478/ for a complete discussion.
	Programs and configuration files that explicitly refer to UID
	99 will have to be updated.

	When the build environment already has a suitable cmake version
	(3.1 or later), that one will be used instead of building
	host-cmake. This can speed up the build significantly.

	The ExtUtils::MakeMaker perl module is now required in the
	build environment.

	An additional check is done during the build that files are
	not installed in the output directory within the output
	directory. This happens e.g. when the target directory is
	contained both in --prefix and in DESTDIR. The build will
	terminate with an error message that specifies which package
	and which file caused the failure.

	The concept of "deprecated packages" and the BR2_DEPRECATED
	option have been removed. Instead, packages are removed
	immediately. Packages are only removed when they don't work
	for some reason. If you still need a removed package and
	you have a solution for the problem(s) that caused the
	removal, please contribute it.

	Architecture: support for sh64 removed, improved support for
	MIPS core selection.

	Toolchain: support for musl powerpc64le, mips64 and mipsr6
	toolchains, ARC toolchain components updates, gcc 6.x series
	bumped to 6.2.0, default binutils version switched to 2.26,
	default gcc version switched to gcc 5.x, Linaro toolchains
	updated, uclibc-ng bumped to 1.0.19. GCC is now always built
	with TLS support. Checking of unsafe compiler options (that
	point to host directories) has been extended with -isystem,
	-idirafter and -iquote.

	Package infrastructure: new variable $(PKG)_DL_OPTS, addition
	of <pkg>-show-rdepends to list reverse dependencies, and
	<pkg>-graph-rdepends to graph reverse dependencies. Linux tools
	are now in a separate linux-tools package instead of in the
	kernel build. Fakeroot has been replaced by pseudo.

	CMake support: the toolchainfile.cmake file now provides a
	definition of the CMAKE_BUILD_TYPE variable. The
	toolchainfile.cmake also no longer forces the compiler/linker
	flags defined by Buildroot.

	New defconfigs: WaRP7, Solidrun's MX6 Cubox/Hummingboard,
	TS-4900, Grinn's liteBoard, Udoo MX6Q/DL, Qemu ARM noMMU,
	BeagleBone Qt5 demo, Digilent Zybo, FriendlyARM Nanopi NEO.

	New packages: arm-trusted-firmware, amd-catalyst, atop, aufs,
	aufs-util, fwts, gst1-rtsp-server, libglob, libite, mfgtools,
	mksh, motion, paho-mqtt-c, php-amqp, pseudo, python-couchdb,
	python-crcmod, python-cssutils, python-docutils,
	python-futures, python-mwclient, python-mwscrape,
	python-mwscrape2slob, python-pyelftools, python-pyicu,
	python-pylru, python-pyqt5, python-requests-toolbelt,
	python-simpleaudio, python-slob, rabbitmq-server, shapelib,
	vdr, vdr-plugin-vnsiserver, vexpress-firmware, xvisor, iio and
	gpio linux tools.

	Removed packages: binutils 2.24, fakeroot, gcc 4.7, ipkg,
	kodi-addon-xvdr, libgail, sstrip, torsmo, webkit, webkitgtk24,
	wvdial, wvstreams.

	Documentation: the list of packages that was present in the
	Buildroot manual has been removed.

	Legal info: the "licenses.txt" file that concatenates all
	license texts is no longer generated - it was not considered
	useful. The manifest.csv contains an empty cell instead of
	"not saved" when no license file is available.

	Other: addition of a DEVELOPERS file listing developers taking
	care of packages or architectures.

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

	#7802: host-python build hangs compiling getbuildinfo.o
	#8206: mplayer uses host xorg development files
	#8516: mkcubiecard.sh uses outdated sfdisk switch -D
	#8536: Building sudo with PAM results in unusable sudo
	#8646: check-host-rpath script returns false positives when rpath
	       contains symlink
	#8696: xdriver_xf86-input-mouse install header files in target
	       directory
	#8811: rp-pppoe - generated scripts commands use HOST pathnames,
	       not necessarily TARGET
	#8846: Orphaned/missing toolchain borks eclipse plugin
	#8856: python tornado runtime wasn't met on buildroot 2016.02
	#8901: gcc failes to build if fortran is enabled
	#8916: LDFLAGS pass to openssh
	#8941: "ls" of an NFSv4 share only works when pumped through strace
	#8946: Valgrind fails to build with stack protection turned on
	#9021: Kodi - Broken: Illegal instruction (core dumped)
	#9096: rootfs.ubi not created
	#9111: glibc 2.23: libmvec.so not copied
	#9176: minnowboard : USB not mounted
	#9196: raspberry pi 3 default build seem broken
	#9201: Permission denied make: *** [core-dependencies] Error 126 in
	       Buildroot-2015.08.1
	#9216: log4cpp package build fails to build within install
	#9221: Kodi needs "Python .py and .pyc support" otherwise it crashes when
	       pressing buttons.
	#9229: Firefly boot fails with: "failed to find part:boot"
	#9256: [Config file] New device: Odroid-U2/U3
	#9296: Buildroot Fails on applying patches
	#9301: U-boot fails to build with default zynq_zed_defconfig configuration
	#9316: U-boot fails to build if libssl-dev is not installed
	#9321: Vanilla libcrypt++ v5.6.3 doesn't allow to work Nvidia Tegra's
	       flash utility (tegrarcm)
	#9326: Odroid-C2 build results in non-bootable image
	#9336: Improve iconv support for external toolchain based builds
	#9356: gdb package
	#9366: no link rootfs.ext4 -> rootfs.ext2
	#9371: openssl: download failes with "Only allow downloads from primary
	       download site" + local server
	#9381: check-host-rpath issues
	#9386: ubinize fails with or without custom config

2016.08, Released September 1st, 2016

	Minor fixes.

	Toolchain: ARC tools updated to arc-2016.09-eng010.

	Updated/fixed packages: libshout, luajit, mpd, mplayer

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

	#7520: CodeSourcery toolchain ARM: C++11 std::exception_ptr..
	#8341: Getting EGL Error: Could not create the egl surface:..
	#9121: gst1-imx for i.MX6 compile failed, cannot find PXP, ..

2016.08-rc3, Released August 29th, 2016

	Fixes all over the tree.

	Toolchain: C++ support for the internal blackfin toolchain
	re-enabled.

	Architecture: Default to bf532 CPU variant for blackfin,
	Fix flat one memory region support for m68k and disable flat
	seperate data support because of compatibility issues.

	Defconfigs: Minnowboard and Raspberrypi: Fix errors with
	post-build scripts when systemd is used.
	Zynq microzed/zc706/zed: Fix u-booot configuration.

	netbsd-queue package extended and renamed to
	musl-compat-headers. With this, a number of musl compatibility
	patches are no longer needed.

	Updated/fixed packages: aircrack-ng, android-tools, babeld,
	bcusdk, binutils, boa, busybox, connman, cpupower,
	docker-engine, domoticz, elf2flt, ffmpeg, fwup, gcc,
	glib-networking, gnupg, hplip, igd2-for-linux, imagemagick,
	imx-uuc, iputils, jack2, kismet, kmsxx, libaio, libamcodec,
	libconfuse, libffi, libfreeimage, libgcrypt, libgpg-error,
	libiio, libraw, libsepol, libserialport, libxmlrpc, linknx,
	linux-pam, lirc-tools, lldpd, logrotate, lshw, musl, ncurses,
	neon, nettle, norm, ntfs-3g, openblas, openmpi, openswan,
	pinentry, pixman, protobuf, python-meld3, qlibc, qt, qt5base,
	quagga, rpcbind, rt-tests, runc, sane-backends, sconeserver,
	squeezelite, stella, tftpd, tinycbor, tinydtls, trace-cmd,
	trousers, tstools, uboot-tools, uclibc, ulogd, ustr, vlc,
	webkitgtk, wireshark, xdriver_xf86-video-intel

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

	#9101: Error on support/download/git with system git older than 1.8.4
	#9181: Compiling linux kernel fails if BR2_LINUX_KERNEL_TOOL_CPU..

2016.08-rc2, Released August 17th, 2016

	Fixes all over the tree.

	Toolchain: disable broken C++ support for internal blackfin
	toolchains, ARC toolchain bumped to arc-2016.09-eng008 (GCC 6)
	to fix various issues.

	System: Zoneinfo is available for the musl C library as well.

	Updated/fixed packages: am33x-cm3, axel, barebox, bdwgc,
	blktrace, cairo, dante, enlightenment, fbterm, ffmpeg, flex,
	fontconfig, gcc, gmp, gnuplot, gnuradio, gst1-imx, hidapi,
	inotify_tools, iproute2, kmsxx, lftp, libaio, libcofi,
	libical, libpjsip, libsidplay2, libunwindow, libxml2,
	linux-zigbee, lttng-libust, mpv, mtd, ncdu, netplug, ntp,
	openblas, openipmi, owfs, php, poco, procps, qt, quota,
	sg3_utils, spidev_test, systemd-bootchart, thrift,
	uboot-tools, uclibc, webrtc-audio-processing, wayland, weston,
	xdriver_xf86-video-savage, xserver_xorg-server, xen

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

	#9136: make graph-size fails with "ValueError: too many values to..
	#9151: qt: fix build with ALSA >= 1.1.x
	#9156: qt: Fix missing runtime Qt3Support dependency
	#9161: modsetting patch not applied to xserver 1.18.4
	#9166: Missing overlays directory in VFAT image for raspberry pi 3

2016.08-rc1, Released August 6th, 2016

	Fixes all over the tree and new features.

	Toolchain: Fortran support added. eglibc support removed, musl
	support no longer experimental. Blackfin and Microblaze
	support for internal uClibc-ng toolchain, m68k/coldfire
	improvements. The check for unsafe (build host) directories
	access (/usr/include and /usr/lib) is now enabled by default.
	Unused locales are now purged by default to save space (and
	the default list of locales shrunk). The option to control
	this has now moved from the toolchain menu to system
	configuration.

	Legal info improvements: sources are now hardlinked instead of
	copied if possible to save space. Patches and extra downloads
	are also saved.

	An experimental configuration knob (BR2_REPRODUCIBLE) has been
	added to make the builds more reproducible (E.G. less
	differences in the binary output between builds of the same
	configuration). This is still work in progress.

	An option to execute a custom script inside the fakeroot
	environment used to the generate the filesystem (E.G. to tweak
	permissions or similar) has been added.

	Git support now supports git submodules if
	<pkg>_GIT_SUBMODULES is enabled.

	Hash files for integritry validation have been added for all
	packages.

	Scanpypi utility to help creating packages from the Python
	package index (pypi) has been added.

	The makedevs utility now has support for adding file
	capabilities using extended attributes.

	New defconfigs: Arcturus uCP1020, Atmel sama5d{2,3,4} xplained
	development configs, Blackfin GDB simulator, Linksprite
	pcDuino, Minnow Board Max graphical demo, NXP i.MX25 PDK,
	i.MX51 EVK, i.MX6UL Pico, i.MX7 sabresd, QEMU MIPS32r6{,el} and
	MIPS64r6{,el} malta, Roseapple Pi, Samsung Snow chromebook,
	Toradex Apalis i.MX6 COM, TS-4800, x86-64 PC BIOS and EFI
	demos. A number of defconfigs have been updated and extended
	to generate SD card images. Synopsys HS38 VDK defconfig removed.

	New packages: 4th, acpica, acpitool, alljoyn, alljoyn-base,
	alljoyn-tcl, alljoyn-tcl-base, argparse, babeld, batman-adv,
	circus, dante, docker-containerd, docker-engine, domoticz,
	efibootmgr, efivar, ficl, fwup, gsettings-desktop-schemas,
	gtksourceview, gupnp-dlna, gupnp-tools, igd2-for-linux,
	jemalloc, kmsxx, lapack, lft, libaacs, libamcodec, libbdplus,
	libcoap, libdvdcss, libebur128, libfastjson, libminiupnpc,
	libnatpmp, libpqxx, libuio, libvdpau, log4cpp, minissdpd,
	mxsldr, nginx-nasxi, nginx-upload, ninja, nodm, odroid-mali,
	odroid-scripts, omxplayer, openblas, openmpi, openzwave,
	p7zip, pdbg, python-argh, python-dataproperty,
	python-dateutil, python-dialog3, python-dicttoxml,
	python-dominate, python-engineio, python-flask-jsonrpc,
	python-flask-login, python-humanize, python-pathtools,
	python-pathvalidate, python-pillow, python-prompt-toolkit,
	python-pytablewriter, python-pytz, python-scapy3k,
	python-sdnotify, python-socketio, python-tomako,
	python-ubjson, python-u-msgpack, python-watchdog,
	python-wcwidth, python-xlrd, python-xlsxwriter,
	python-xlutils, python-xlwt, rs485conf, runc, sdl2_gfx,
	sdl2_image, sdl2_ttf, shellinabox, sphinxbase, stella,
	supertuxkart, systemd-bootchart, tekui, terminology, tinycbor,
	tinydtls, ti-sgx-demos, ti-sgx-km, ti-sgx-um, tunctl, wavemon,
	wiringpi, xen

	Deprecated packages: ipkg, sstrip

	Removed packages: sunxi-mali-prop

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

	#8931: segment fault when compile argp-help.c using aarch64-bu...
	#8966: eglfs error. buildroot don't compile the library libeglfs.so
	#8971: build for beaglebone fails
	#8986: qt5imageformats fails to build on AArch64
	#8991: grub2 fails to compile
	#9001: Nodejs option not available
	#9006: gcc with c++ support v4 and v5 fail to compile on fedora 24
	#9016: arceb-buildroot-linux-uclibc ld uses incorrect default format
	#9066: 8139TOO - faulty behaviour
	#9086: Syntax Error (missing ")" in boot/uboot/uboot.mk on line 203)
	#9091: U-Boot fails to boot with large ramdisk

2016.05, Released May 31st, 2016

	Minor fixes.

	External toolchain: Fix for symlink handling when copying
	links to target.

	Updated/fixed packages: gcc, grantlee, gst-ffmpeg,
	ipsec-tools, iptraf-ng, libcurl, libdrm, libsigsegv, ltris,
	lttng-babeltrace, mbedtls, mesa3d, moarvm, mplayer, mtools,
	net-tools, openpowerlink, pulseview, rpm, tinyalsa,
	xdriver_xf86-video-fbturbo, xserver_xorg-server

2016.05-rc3, Released May 26th, 2016

	Fixes all over the tree.

	Tweaks for SSP handling for external toolchains.

	Updated/fixed packages: aircrack-ng, bluez5_utils, connman,
	cups, erlang-p1-stringprep, expat, ffmpeg, flann, flannel, go,
	gst1-libav, hidapi, hplip, iptraf-ng, jamvm, kodi,
	kodi-screensaver-matrixtrails, libcurl, libepoxy, libgpgme,
	libsemanage, libxslt, liquid-dsp, ltris, lxc, mesa3d, midori,
	mpg123, mtr, openpgm, openpowerlink, oprofile, php,
	postgresql, putty, python-service-identity, python-treq,
	qlibc, qt5serialbus, ruby, stress-ng, strongswan, time, tinc,
	ustr, valgrind, webkitgtk, libxml2, xorriso,
	xserver_xorg-server

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

	#8936: Aircrack-ng - Alot of missing dependencies

2016.05-rc2, Released May 17th, 2016

	Fixes all over the tree.

	Rootfs overlay handling now refuses to overwrite
	/{usr,bin,sbin,lib} symlinks from BR2_ROOTFS_MERGED_USR option
	even if these directories are present in the overlay.

	External toolchain: Unbreak user provided libraries deployment
	(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS) handling after refactoring.

	QEMU coldfire: Fix for signal handling kernel issue, enable
	networking support.

	Updated/fixed packages: android-tools, assimp, boost, gcc,
	glibc, glmark2, gmrender-resurrect, go, go-bootstrap, iputils,
	jack2, kodi-screensaver-asterwave, kodi-screensaver-rsxs,
	kodi-visualisation-shadertoy, libarchive, libinput, libpjsip,
	mali-t76x, mtr, nginx, opencv, openvpn, python-coherence,
	qt5multimeda, quagga, samba4, sg3-utils, stress-ng, turbolua

2016.05-rc1, Released May 10th, 2016

	Fixes all over the tree and new features.

	Architectures: new ARM variants: Cortex A17 and M4, improved
	nonmmu (cortex-M) support, m68k has been re-enabled with
	support for ColdFire. For x86, support for the i386 variant
	has been dropped.

	Toolchain: Add GCC 6 support, remove GCC 4.5, mark GCC 4.7 as
	deprecated. Go programming language support, Add Binutils 2.26
	support. Old Sourcery PowerPC external toolchains removed,
	Sourcery MIPS 2016.06-8, AMD64 2015.11-139, NiosII 2015.11-130
	added, Linaro ARM/ARMeb/Aarch64 toolchains updated.

	New defconfigs: Firefly RK3288, Boundary Devices i.MX7 Nitrogen7,
	STM32F429 and STM32F469 Discovery boards, Hardkernel ODROID-C2,
	Raspberry Pi Zero and Raspberry Pi 3. Some Qemu defconfigs were
	added for m68k, eXtensa-nommu and ColdFire.

	Linux: use zImage by default on ARM, subversion repository
	support (for u-boot as well).

	New packages: aer-inject, android-tools, cannelloni,
	cbootimage, cgroupfs-mount, connman-gtk, crudini, dt,
	gmrender-resurrect, flannel, font-awesome, freeswitch, go,
	go-bootstrap, gr-osmosdr, granite, i7z, imx-uuc,
	kodi-adsp-basic, kodi-adsp-freesurround,
	kodi-audiodecoder-opus, kodi-pvr-hdhomerun,
	kodi-screensaver-asterwave, kodi-screensaver-cpblobs,
	kodi-screensaver-matrixtrails, kodi-screensaver-planestate,
	kodi-screensaver-rsxs, kodi-visualisation-fishbmc,
	kodi-visualisation-fountain, kodi-visualisation-goom, libgee,
	libimxvpuapi, libpjsip, libtomcrypt, libtommath, libusbgx,
	lksctp-tools, mali-t76x, mkpimage, mpv, msr-tools, nload,
	norm, nvme, owfs, pound, privoxy, procrank_linux, putty,
	python-autobahn, python-characteristic, python-crossbar,
	python-cryptography, python-iniparse, python-iowait,
	python-lmdb, python-pexpect, python-ptyprocess,
	python-pyasn-modules, python-pygments, python-pymysql,
	python-pynacl, python-pyopenssl, python-pysocks,
	python-pytrie, python-rpi-gpio, python-service-identity,
	python-setproctitle, python-shutilwhich, python-treq,
	python-txaio, python-ujson, python-wsaccel, qt5canvas3d,
	qt5location, qt5quickcontrols2, qt5serialbus, qt5tools,
	raptor, scrub, taskd, tegrarcm, turbolua, valijson,
	wayland-protocols, webkitgtk, wilc1000-firmware, wpan-tools,
	xdriver_xf86-video-amdgpu

	Removed packages: foomatic-filters, python-m2crypto,
	qt5quick1, qt5webkit-examples, samba, xdriver_xf86-input-void

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

	#6830: Qt5: no fonts are installed
	#7562: musl buildroot-toolchain and BR2_MIPS_SOFT_FLOAT break
	#7580: Invalid filesystem in Pandaboard defconfig
	#8346: wf111 package removes all kernel module dependencies
	#8436: xserver_xorg-server Segmentation fault
	#8736: IPV6 forced on in busybox
	#8746: At startup system stops with 'cannot set terminal proces..
	#8751: make fail [fio does not build on sh]
	#8766: Compiling host-gcc-final-4.9.3 broken on i386
	#8771: make savedefconfig modifies sources
	#8781: Unable to build uboot for imx28evk
	#8786: gdb fails to build with xz and expat support at the same
	#8801: Compilation of Buildroot 2016.2 for Raspberry Pi with...
	#8806: Buildroot 2016.2 for Raspberry Pi requires that ext4...
	#8836: Can't select Vim in menuconfig
	#8851: Make sure fio can compile with libaio support if it...
	#8861: With buildroot 2016.02 trying to build for corei7-avx
	       fails while trying to build host-binutils
	#8866: Making an USB flash bootable with extlinux build with
	        buildroot does not work

2016.02, Released March 1st, 2016

	Minor fixes, mostly security related.

	Circular dependency issue with same-as-kernel linux-headers
	option fixed.

	Updated/fixed packages: bluez5_utils, heirloom-mailx,
	imx-gpu-viv, kodi-pvr-argustv, kodi-pvr-mediaportal-tvserver,
	kodi-pvr-nextpvr, libfcgi, openssl, pifmrds, powerpc-utils,
	python-m2crypto, slang, sox, squid, tn5250, xerces, zsh

2016.02-rc3, Released February 27th, 2016

	Fixes all over the tree.

	Defconfigs: Ensure EABIhf is correctly enabled for ARM cores
	where VFP is optional (but present on the specific hw). Fix
	ARM variant selection for freescale_imx31_3stack_defconfig.

	Ensure tarballs of downloaded git trees do not contain a
	timestamp.

	Clarify license of patches in COPYING.

	Updated/fixed package: avahi, binutils, cairo, can-festival,
	chrony, cifs-utils, dnsmasq, dvdauthor, e2fsprogs, efl,
	erlang-rebar, eudev, fbterm, gawk, gnupg2, gnuradio, gpm,
	gst1-plugins-good, hostapd, imagemagick, iproute2, iputils,
	jack2, kexec, kismet, lftp, libarchive, libeXosip2, libfm,
	libglib2, libsoil, libssh, libssh2, libuci, links, lshw, lxc,
	mediastreamer, mono, mraa, mutt, nfs-utils, numactl, ofono,
	omniorb, openipmi, openobex, patch, pax-utils, perf,
	pulseaudio, pure-ftp, qhull, qt, quagga, quota, sdl_sound,
	shairport-sync, spice, sysklogd, syslog-ng, trace-cmd,
	trousers, tvheadend, util-linux, vim, webkitgtk24, wireshark,
	wpa_supplicant, xerces, zsh

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

	#8651: libMonoPosixHelper.so wrong link reference in buildroot..

2016.02-rc2, Released February 18th, 2016

	Fixes all over the tree.

	Toolchain: PR19405 backport to binutils 2.25.1 to fix NIOS ld
	crash, backport of Xtensa .init/.fini literals handling.
	glibc security patches for CVE-2014-8121, CVE-2015-1781
	and CVE-2015-7547.

	Defconfigs for Acmesystems Arietta g25 added.

	Updated/fixed packages: binutils, boost, chrony, dovecot,
	e2fsprogs, fio, gdb, glibc, graphite2, icu, kbd, libbsd,
	libcue, libgcrypt, libraw, links, mc, mosquitto, nodejs,
	postgresql, pptp-linux, pulseaudio, samba4, spice, squid,
	sysklogd, systemd, tiff, uclibc, ulogd, util-linux, valgrind.

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

	#8576: Building embedded Linux for Atmel SAMA5D4_Xplained...
	#8606: Problem compiling on Arch Linux
	#8681: kbd 2.0.3 does not build on rpi

2016.02-rc1, Released February 10th, 2016

	Fixes all over the tree and new features.

	Toolchain: Support for GCC 5.3.x. ARC toolchain updated to
	arc-2015.12. Support for legacy uClibc dropped, default to
	uClibc-ng instead. Added sys/queue.h implementation for MUSL
	for compatibility. Updated versions of Code sourcery and
	Linaro toolchains. MIPS Codescape toolchains added. Version
	selection for preconfigured external toolchains removed.

	New Defconfigs: ARM Juno r0/r1 development boards, Freescale
	i.MX6UL Evaluation Kit, Intel Galileo Gen 2, Orange Pi PC.
	A number of defconfigs have been extended to generate complete
	system images using genimage.

	Linux: Automatically patch timeconst.pl for <3.9 kernels,
	which isn't compatible with modern perl versions, breaking the
	build when building on recent (Fedora 23, Debian
	Testing/Unstable, ..) distributions.

	Makedevs utility now accepts textual (non-numerical) user and
	group names.

	Vagrant file to easily setup a working development environment
	in a VM has been added.

	Size-stats-compare script to compare rootfs sizes between
	builds has been added.

	Infozip package renamed to zip. EFL packages restructured.

	Updated/fixed packages: aespipe, aiccu, alsa-lib, alsa-utils,
	angularjs, apache, apr, argp-standalone, armadillo, arptables,
	at, atk, audiofile, aumix, autoconf-archive, avahi, bash, bc,
	bcache-tools, bdwgc, beecrypt, bind, binutils, bluez5_utils,
	bluez_utils, bonnie, boost, busybox, cairo, cdrkit, chrony,
	clamav, cmake, collectd, connman, coreutils, cppcms, crda,
	cryptodev-linux, cryptsetup, cups, cwiid, cxxtest, dbus,
	dbus-cpp, dbus-glib, debianutils, dhcp, dhcpcd, dhrystone,
	dillo, directfb, directfb-examples, dmraid, dnsmasq, doom-wad,
	dovecot, dovecot-pigeonhole, dropbear, dtv-scan-tables,
	dvb-apps, dvbsnoop, ecryptfs-utils, eigen, ejabberd,
	elementary, elfutils, enlightenment, erlang, espeak, eudev,
	eventlog, exfat, exfat-utils, exiv2, expedite, faifa,
	fakeroot, fastd, fbgrab, fetchmail, ffmpeg, findutils, fio,
	firmware-imx, flann, flashrom, flite, flot, fmlib, freerdp,
	freescale-imx, freetype, gauche, gawk, gcc, gcc-final, gcr,
	gdb, gdk-pixbuf, geoip, gesftpserver, gettext, giflib, git,
	glibc, glibmm, glog, gmp, gnupg, gnupg2, gnutls, gob2, gpsd,
	gptfdisk, grep, gst1-libav, gst1-plugins-{bad,base,good,ugly},
	gst-ffmpeg, gst-plugins-{bad,base,good,ugly}, gstreamer,
	gstreamer1, guile, gvfs, gzip, harfbuzz, haserl, hiawatha,
	hostapd, hplip, icu, ifupdown, imagemagick, imx-gpu-viv,
	imx-kobs, imx-lib, input-tools, intel-microcode, iperf3,
	ipmitool, iproute2, iprutils, ipsec-tools, ipset, iptables,
	iputils, irda-utils, irssi, iucode-tool, jack2, janus-gateway,
	jpeg-turbo, jquery-datetimepicker, jquery-keyboard,
	jquery-sparkline, jquery-ui, jquery-ui-themes,
	jquery-validation, json-c, kbd, kernel-module-imx-gpu-viv,
	keyutils, kmod, knock, kodi, lcdproc, lcms2, leafnode2,
	leafpad, libass, libatomic_ops, libbroadvoice, libbsd,
	libcap-ng, libcdaudio, libcue, libcurl, libdrm, libecore,
	libedbus, libedit, libedje, libeet, libefreet, libeina,
	libeio, libelementary, libembryo, libepoxy, libethumb, libev,
	libevas, libevas-generic-loaders, libevdev, libevent, libffi,
	libfm, libfribidi, libfslcodec, libfslparser, libfslvpuwrap,
	libftdi, libfuse, libgail, libglew, libglib2, libgtk2,
	libgtk3, libgudev, libhttpparser, libidn, libinput, libiscsi,
	libjpeg, liblinear, libmbim, libmicrohttpd, libndp, libnspr,
	libnss, liboauth, liboping, libpciaccess, libplist, libpng,
	libraw, libraw1394, librsvg, libseccomp, libsecret,
	libserialport, libsigc, libsigrok, libsigrokdecode,
	libsndfile, libsoc, libsodium, libsoup, libssh2, libsvg,
	libsvg-cairo, libtasn1, libtirpc, libtorrent, libungif,
	libunwind, libupnpp, liburcu, libuv, libv4l, libva,
	libva-intel-driver, libvips, libvncserver, libxml2, libxmlpp,
	lightning, lighttpd, linknx, linux-firmware, linux-fusion,
	linux-headers, liquid-dsp, lirc-tools, live555, lm-sensors,
	lockdev, lshw, ltp-testsuite, ltrace, lttng-babeltrace,
	lttng-libust, lttng-modules, lttng-tools, lua, luabitop,
	luarocks, luv, lvm2, lxc, makedevs, mc, memcached, memtest86,
	mesa3d, mesa3d-demos, mesa3d-headers, micropython,
	micropython-lib, minicom, minidlna, mjpg-streamer, mke2img,
	moarvm, modem-manager, mongoose, mongrel2, monkey, mono,
	monolite, mosh, mosquitto, mpd, mplayer, msgpack, mtdev2tuio,
	musepack, musl, mysql, nano, nasm, nbd, neard, netatalk,
	netsnmp, nettle, net-tools, network-manager, nfs-utils, nginx,
	nmap, nodejs, ntfs-3g, ntp, numactl, nut, nvidia-driver,
	odhcp6c, ofono, ola, olsr, omniorb, opencv, opencv3, openipmi,
	openldap, openntpd, openobex, openocd, openpgm,
	open-plc-utils, openpowerlink, openssh, openssl, openswan,
	openvpn, opkg, oprofile, opus, opusfile, p11-kit, package,
	pango, pax-utils, pciutils, pcmanfm, perl, perl-db-file,
	perl-io-socket-ssl, perl-libwww-perl, perl-net-dns, perl-uri,
	perl-xml-libxml, php, php-ssh2, picocom, pinentry, pixman,
	polarssl, popt, portaudio, pppd, procps-ng, proftpd, protobuf,
	psmisc, ptpd2, pulseaudio, pulseview, pv, python, python3,
	python-alsaaudio, python-can, python-cffi, python-cherrypy,
	python-httplib2, python-jinja2, python-lxml, python-m2crypto,
	python-mako, python-msgpack, python-psutil, python-pyasn,
	python-pycparser, python-pydal, python-pyftpdlib,
	python-pyroute2, python-pyxml, python-pyzmq, python-requests,
	python-serial, python-setuptools, python-six, python-spidev,
	python-tornado, python-twisted, python-web2py, python-webpy,
	python-werkzeug, python-zope-interface, qemu, qhull, qpdf, qt,
	qt5, qt5base, qt5connectivity, qt5declarative, qt5enginio,
	qt5graphicaleffects, qt5imageformats, qt5multimedia,
	qt5quick1, qt5quickcontrols, qt5script, qt5sensors,
	qt5serialport, qt5svg, qt5webchannel, qt5webkit,
	qt5webkit-examples, qt5websockets, qt5x11extras,
	qt5xmlpatterns, qt-webkit-kiosk, racehound, radvd, read-edid,
	readline, redis, rpcbind, rpi-firmware, rpi-userland, rrdtool,
	rsync, rsyslog, rtai, rtorrent, rt-tests, rubix, ruby, samba4,
	sconeserver, setools, shairport-sync, sigrok-cli, skeleton,
	smack, snowball-init, socat, sp-oops-extract, sqlite,
	squashfs, squeezelite, squid, sredird, sshfs,
	start-stop-daemon, strace, strongswan, stunnel, subversion,
	sunxi-tools, swig, sysdig, syslog-ng, sysstat, systemd,
	sysvinit, taglib, tcl, tcpreplay, thrift, ti-gfx, tinyalsa,
	tor, torsmo, trace-cmd, transmission, tremor, triggerhappy,
	trinity, tvheadend, tzdata, uboot-tools, uclibc, udisks,
	udpcast, unionfs, upmpdcli, usb_modeswitch,
	usb_modeswitch_data, ustr, util-linux, vala, valgrind,
	vboot-utils, vde2, vlc, vnstat, webkit, webkitgtk24, weston,
	wget, whetstone, whois, wine, wipe, wireless-regdb, wireshark,
	wpa_supplicant, w_scan, x11r7, xapp_xbacklight, xapp_xcompmgr,
	xapp_xinput, xapp_xkbcomp, xdriver_xf86-input-evdev,
	xdriver_xf86-input-libinput, xdriver_xf86-input-synaptics,
	xdriver_xf86-video-ati, xdriver_xf86-video-fbturbo,
	xdriver_xf86-video-imx-viv, xdriver_xf86-video-intel,
	xfont_encodings, xfont_font-adobe-100dpi,
	xfont_font-adobe-75dpi, xfont_font-adobe-utopia-100dpi,
	xfont_font-adobe-utopia-75dpi, xfont_font-adobe-utopia-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, xkeyboard-config, xl2tp,
	xlib_libfontenc, xlib_libXi, xmlstarlet, xscreensaver,
	xserver_xorg-server, xtables-addons, xvkbd, xz, yad, yasm,
	ympd, zeromq, zic, znc, zsh,

	New packages: acsccid, assimp, atkmm, autofs, bcm2835,
	cairomm, cantarell, chocolate-doom, comix-cursors, cxxtest,
	edid-decode, emlog, gcr, gtkmm3, hidapi, jquery-sidebar,
	kernel-module-imx-gpu-viv, libasplib, libcroco, libdvbpsi,
	libfreeglut, libgdiplus, libglfw, libhdhomerun, libnet,
	libsoil, lldpd, luvi, mbedtls, minizip, miraclecast, mongodb,
	mraa, netbsd-queue, netsniff-ng, nss-pam-ldapd,
	obsidian-cursors, openal, openbox, pangomm,
	python-backports-abc, python-beautifulsoup4, python-cbor,
	python-click, python-cssselect, python-ecdsa, python-html5lib,
	python-idna, python-ipaddress, python-mistune, python-netaddr,
	python-paho-mqtt, python-paramiko, python-pyparted,
	python-pysmb, python-pyudev, python-singledispatch,
	python-smbus-cffi, python-urllib3, qt53d, rabbitmq-c, rfkill,
	sbc, spi-tools, tpm-tools, trousers, ubus, unrar, unscd,
	unzip, v4l2grab, xdriver_xf86-video-nouveau, xdotool, zbar

	Removed packages: libungif, python-pyxml,

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

	#7886: gettext: link failure with locally-installed libxml2
	#7892: systemd-journald is broken
	#8066: nodejs crashes when built with gcc 4.9
	#8296: nodejs 0.12.7 - npm crashes (seg core dump)
	#8501: gunzip fails to uncompress files
	#8541: fail to build host-fakeroot-1.20.2
	#8546: build instructions for raspberry pi don't work
	#8571: strace for ARC compile error
	#8581: pciutils.mk PCIUTILS_MAKE_OPTS typo
	#8616: Fail to build for raspberrypi_defconfig with big endian
	#8621: sqlite package, properly enable readline

2015.11, Released November 30th, 2015

	Minor fixes.

	Merged/seperate /usr handling is now also performed for
	staging so cross-gdb / gdbserver can find the libraries.

	Updated/fixed packages: autossh, conntrack-tools, dcron,
	espeak, gcc, glmark2, gpsd, gstreamer1, libglib2, libsigsegv,
	libsoc, libv4l, minidlna, mongrel2, opencv, polarssl,
	rpi-userland, rubix, skeleton, tovid, uemacs, valgrind, yad,
	zmqpp

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

	#8441: Invalid directory for X11 fonts in target (RPi2)
	#8491: libglib2 2.46.1 not Building for armv5 on 2015.11-rc3

2015.11-rc3, Released November 26th, 2015

	Fixes all over the tree.

	We have a new modern website!

	Updated/fixed packages: apitrace, audiofile, autossh, bullet,
	c-ares, collectd, conntrack-tools, cryptodev-linux, dropbear,
	fastd, gmp, gpsd, gst-plugins-bad, gst-plugins-base,
	gst-plugins-good, gst-plugins-ugly, gstreamer, gstreamer1,
	guile, iodine, iproute2, jimtcl, kompexsqlite, libethumb,
	libfreeimage, libgsasl, libgtk3, libxml2, localedef,
	lttng-tools, macchanger, mongrel2, mpd, openntpd, openssl,
	oprofile, pcre, qt5base, quagga, rpi-userland, sconeserver,
	sdl, spidev_test, sqlite, strongswan, ustr, xapp_sessreg,
	yajl, zmqpp

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

	#6872: gpsd: disabled on microblaze
	#8321: invalid opcode error with minidlna and ffmpeg
	#8336: Default systemd configuration fails to boot correctly in 2015-08
	#8446: rpi-userland failed to build with glibc 2.22

2015.11-rc2, Released November 19th, 2015

	Fixes all over the tree.

	LD_LIBRARY_PATH is no longer used to ensure host binaries find
	their libraries, fixing issues on recent Fedora.

	Toolchain fixes for powerpc e5500 / e6500. Fix for an issue
	with ${TARGET}-cc after the move to use a toolchain wrapper
	for the internal toolchain.

	Appy-patches.sh now correctly applies all files listed in
	series files.

	Fixes for merged /usr handling when a custom skeleton is used.

	Updated/fixed packages: axfsutils, boost, busybox, dhcp,
	directfb, dropbear, ebtables, fastd, ffmpeg, gauche, gcc,
	gettext, gst1-plugins-bad, hostapd, ibrdtnd, libcurl,
	libecore, libgudev, libnss, libpng, libserial, libssh2,
	libuecc, libxml2, linux-headers, liquid-dsp, ltris,
	lua-periphery, minidlna, mongrel2, mpd, mpg123, mplayer,
	mysql, opencv, opencv3, package, perl-file-util, php-ssh2,
	polarssl, pulseaudio, python-protobuf, qemu, qt5base, ranger,
	ruby, skeleton, slang, squeezelite, strongswan, tovid, uclibc,
	ushare, wine, wpa_supplicant, x265,
	xdriver_xf86-video-siliconmotion, zxing-cpp

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

	#4790: Running udhcpc on a system with NFS root kills NFS
	#8456: Building host-pkgconf on Fedora 23 fails due to..

2015.11-rc1, Released November, 7th 2015

	Fixes all over the tree and new features.

	Architectures:

	- Support for sparc64 added (internal toolchain with glibc
	  only).

	- Support for mips32r6 and mips64r6 added.

	- Support for Intel Quark X1000 CPU.

	- Switch to EABIhf by default on ARM when a VFP is available.

	Toolchains:

	- glibc 2.22, gdb 7.10, use gdb 7.9 by default, musl 1.1.12,
	  uclibc-ng 1.0.8, host-gdb enabled on AArch64.

	- The toolchain wrapper which was used only for external
	  toolchains is now also used for Buildroot internal
	  toolchains. This allowed to fix the ccache support, prepare
	  the way for top-level parallel build support and remove gcc
	  patches used to detect header/library path poisoning.

	- Remove Analog Devices Blackfin toolchain 2012R2.

	- Fix several Xtensa build failures by switching from
	  text-section-literals to auto-litpools.

	- Enable MIPS64 support in uClibc-ng, use uClibc on ARC
	  rather than a specific fork.

	- Linaro toolchains for ARM, ARMeb and AArch64 updated to
	  2015.08. 2014.09 version is kept since 2015.08 only runs on
	  x86_64 hosts.

	Bootloaders:

	- Fix ARM64 support in U-Boot.

	Defconfigs:

	- Added: ARC HS38 VDK virtual boards, Avnet Microzed, Boundary
	  Devices Nitrogen SoloX, Freescale i.MX6 SoloX Sabre SD,
	  OLinuxino A20 Lime2, Qemu Sparc64, Qemu SuperH 4 big endian,
	  Synopsys AArch64 VDK virtual platform.

	- Updated: calao_qil_a9260, calao_usb_a9g20_lpw, ci20,
	  cubieboad, freescale_imx6_*, imx53loco, imx6_vab820,
	  mpc8315erdb, qmx6, p1010rdb, qemu, raspberrypi,
	  raspberrypi2, riotboard, snps_axs10*, wandboard.

	- Removed: at91rm9200df, at91sam9260dfc, at91sam9263ek,
	  calao_snowball_defconfig, gnublin, integrator926_defconfig.

	Infrastructure:

	- Support for fetching from Mercurial tags fixed.

	- Introduce LINUX_NEEDS_MODULES, which allows to enforce
	  module support to be enabled in the kernel when a package
	  builds out-of-tree kernel modules (through the
	  pkg-kernel-module infrastructure or on its own).

	- Improve the perl package infrastructure to automatically add
	  the dependency to the perl interpreter to target perl module
	  packages.

	- Remove trailing slashes in <pkg>_SITE and addition of a
	  check to ensure such trailing slashes are no longer added.

	- Extend the legal infrastructure to allow packages to declare
	  their actual source code. This is useful for packages for
	  which <pkg>_SOURCE points to pre-built binaries (as is the
	  case for external toolchains). The new <pkg>_ACTUAL_SOURCE
	  variable allows to point to the source code in such cases.

	- Improved ccache support, thanks to the usage of a toolchain
	  wrapper for internal toolchain. Now a single cache directory
	  can be shared between different Buildroot builds.

	- Addition of a 'graph-size' make targets, which generates a
	  PDF graph of per-package size of the root filesystem.

	- Addition of <pkg>_EXCLUDES so that packages can request
	  certain parts of the source code tarball to not be
	  extracted. This feature is currently used by gcc and
	  toolchain-external.

	- Packages can now use the <pkg>_PKGDIR variable, provided by
	  the package infrastructure, to reference their package
	  directory, instead of explicitly using package/<pkg>/.

	Filesystems:

	- Add high lz4 compression to squashfs.

	- Simplification of shell profile files in the default
	  skeleton.

	- Remove ftp user and /home/ftp from the skeleton, and let ftp
	  server packages create these when needed.

	- Add support for /bin, /sbin and /lib to be symlinks to their
	  corresponding directories in /usr. This is enforced for
	  systemd configurations, and optional for other
	  configurations.

	- Support for AXFS filesystem image generation added.

	- New options to add extra space/inodes to ext2/3/4 images.

	Updated/fixed packages:

	adwaita-icon-theme, apache, apitrace, atk, audit, avahi,
	barebox, bash, batctl, bind, binutils, bluez_utils, boost,
	bridge-utils, cairo, ccache, chrony, clapack, cloog, cmake,
	collectd, connman, conntrack-tools, coreutils, cpio,
	cryptsetup, dbus, dbus-cpp, devmem2, dhcp, dhcpcd, dhcpdump,
	dhrystone, dillo, directfb, directfb-examples, dmraid,
	dos2unix, dovecot, dovecot-pigeonhole, drbd-utils, dropbear,
	dropwatch, dtc, e2fsprogs, ebtables, efl, eigen, ejabberd,
	elf2flt, elfutils, erlang, ethtool, eudev, evemu, exfat,
	exfat-utils, expat, faifa, fbterm, fdk-aac, feh, ffmpeg, file,
	flashrom, fping, freerdp, freescale-imx, freetype, gdk-pixbuf,
	genimage, gettext, git, glib-networking, glmark2, gnupg2,
	gnuradio, gnutls, gpsd, grep, grub2, gst1-imx, gst1-libav,
	gst1-plugins-bad, gst1-plugins-base, gst1-plugins-good,
	gst1-plugins-ugly, gst1-validate, gst-fsl-plugins,
	gst-plugins-bad, gstreamer1, guile, gvfs, harfbuzz, haveged,
	hostapd, icu, imagemagick, impiutil, imx-gpu-viv, imx-vpu,
	inadyn, intltool, iostat, iperf3, ipmiutil, iproute2,
	iptables, iw, jpeg-turbo, jq, jsoncpp, kexec-lite, kmod, kodi,
	kodi-audioencoder-flac, kodi-pvr-argustv, kodi-pvr-filmon,
	kodi-pvr-hts, kodi-pvr-mythtv, kodi-pvr-pctv,
	kodi-pvr-stalker, kodi-pvr-vbox,
	kodi-visualisation-waveforhue, less, lftp, libbluray,
	libcgroup, libconfuse, libcurl, libdcadec, libdrm, libevdev,
	libffi, libfribidi, libfslcodec, libfslparser, libfslvpuwrap,
	libgcrypt, libglew, libglib2, libgtk3, libidn, liblinear,
	liblockfile, libmicrohttpd, libnetfilter_conntrack, libnfs,
	libnftnl, libnl, libnspr, libnss, libpcap, libpfm4, libpng,
	libselinux, libserial, libsoup, libsoxr, libstrophe, libtasn1,
	libtirpc, libtorrent, libupnpp, liburcu, libusb-compat, libuv,
	libv4l, libva, libva-intel-driver, libxcb, lighttpd, links,
	linux, linux-firmware, linux-fusion, linux-headers,
	lirc-tools, localedef, lpeg, lsof, ltp-testsuite,
	lttng-libust, lttng-tools, lua-periphery, luaposix, lvm2, lxc,
	lz4, mdadm, mesa3d, mesa3d-headers, minicom, minidlna, moarvm,
	modem-manager, mosquitto, mpd, mpdecimal, mpg123, mplayer,
	mrouted, msmtp, mtd, mutt, nettle, network-manager, nfs-utils,
	nftables, nginx, nodejs, noip, ntp, ofono, opencv3, openpgm,
	openssl, openswan, openvpn, pango, parted, perl, perl-cross,
	perl-crypt-openssl-random, perl-http-message,
	perl-io-socket-ssl, perl-module-build, perl-mojolicious,
	perl-netaddr-ip, perl-net-dns, perl-net-http, perl-net-ssleay,
	perl-uri, perl-xml-libxml, php, picocom, pixman, pkgconf,
	poco, polarssl, portaudio, portmap, postgresql, proftpd,
	protobuf, protobuf-c, pulseaudio, python-configshell-fb,
	python-networkmanager, python-numpy, python-pyparsing,
	python-pypcap, python-rtslib-fb, python-spidev, python-urwid,
	python-web2py, qemu, qt5base, redis, rngtools, rng-tools,
	rpi-firmware, rpi-userland, rtmpdump, rtorrent, ruby, samba,
	samba4, sane-backends, sconeserver, sdl, sed, setools,
	shairport-sync, shared-mime-info, sland, smartmontools,
	softether, spice-protocol, sqlcipher, sqlite, squid,
	strongswan, stunnel, subversion, sudo, sunxi-tools,
	supervisor, systemd, tar, targetcli-fb, tcpdump, tiff, tor,
	tvheadend, tzdata, uboot-tools, udisks, unionfs, upmpdcli,
	util-linux, vala, valgrind, vim, vlc, vorbis-tools, vsftpd,
	vtun, wavpack, webkitgtk24, weston, whois, wireless-regdb,
	wireshark, wpa_supplicant, xdriver_xf86-input-vmmouse,
	xdriver_xf86-video-imx-viv, xdriver_xf86-video-intel,
	xdriver_xf86-video-sis, xlib_libXi, xorg-server,
	xtables-addons, xterm, xz, zic, znc, zsh

	New packages:

	axfsutils, bitstream, check, dvblast, eventlog, fastd, gauche,
	gmock, graphite2, gssdp, gupnp, gupnp-av, ibrcommon, ibrdtn,
	ibrdtnd, ibrdtn-tools, imx-kobs, iqvlinux, irssi,
	kompexsqlite, libbroadvoice, libcddb, libcodec2, libcrossguid,
	libg7221, libhttpparser, libilbc, libldns, libmng,
	libopenh264, libpam-radius-auth, libpam-tacplus, libsilk,
	libsoundtouch, libssh, libuecc, libyuv, liquid-dsp, luv,
	micropython, micropython-libs, python-pyratemp,
	python-pyroute2, python-ranger, rapidxml, scrypt, sdl2,
	sp-oops-extract, squeezelite, stress-ng, swupdate, syslog-ng,
	x265, xdriver_xf86-video-fbturbo, xxhash, yad, zxing-cpp

	Removed packages:

	blackbox (was deprecated), divine (merged in directfb),
	kobs-ng (replaced by imx-kobs), mediactl (merged in libv4l),
	sawman (merged in directfb), schifra (marked broken since a
	long time), texinfo (host variant only, no longer used), zxing
	(replaced by zxing-cpp),

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

	#4099: cut utility from GNU coreutils works incorrect
	#7772: libxml-parser-perl build failure: missing dependency
	       ExtUtils/MakeMaker
	#7931: Default configuration for Cubieboard v1 is outdated
	#8116: 2015.05-rc2 raspberrypi2_defconfig network interface
	       not coming up
	#8246: X.org DRI2 build issue
	#8256: pointing to /usr/bin/objcopy old version (x86) instead
	       of the generated one
	#8266: mplayer build issue
	#8281: pyrexc fails to run when path is too long
	#8316: lttng-tools and lttng-babeltrace executables contain
	       bad RPATH pointing to host machine
	#8331: kexec wants shutdown in /sbin, but systemd installs it
	       in /usr/sbin
	#8361: Buildroot 2015.08.1 skeleton inittab overwritten by
	       busybox's version
	#8366: libevent does not build
	#8386: build failed with external toolchain
	#8391: Node.js 0.12.7 fails to build on raspberry_pi defconfig
	#8396: CCACHE initialization
	#8401: gpsd 3.15 NMEA support
	#8416: cups depends on BR2_DEPRECATED_SINCE_2015_05
	#8421: util-linux installs systemd files in output/target/home/

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
