+- When rEFInd identifies the root (/) partition via the Freedesktop.org
+ Discoverable Partitions Specification, it now checks two of the
+ partition's attributes, as per the DPS (see
+ http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/):
+ - The partition's read-only attribute determines whether to pass a "rw"
+ or "ro" option to the kernel.
+ - If the partition's do-not-automount flag is set, rEFInd will not pass
+ it as a "root=" option to the kernel. This flag can be used to remove
+ all but one partition from consideration as a root (/) partition if a
+ system has more than one with the correct type code.
+
+- Improved Freedesktop.org Discoverable Partitions Specification support:
+ Previously, if no refind_linux.conf file was present but an /etc/fstab
+ file was found, rEFInd ignored the Discoverable Partitions Specification
+ filesystem-type codes. This was fine if /etc/fstab contained a valid "/"
+ filesystem specification, but if that was absent, the result was no
+ "root=" specification being present. Under these circumstances
+ (refind_linux.conf absent, /etc/fstab present but lacking a "/" entry),
+ rEFInd now tries to identify a device to specify as "root=" via the
+ Discoverable Partitions Specification.
+
+- Fixed bug that caused "Found match!" and a prompt to press a key to
+ continue to be printed if any partition used the Freedesktop.org
+ Discoverable Partitions Specification root-partition GUID. (This
+ was leftover debugging/testing code that I somehow missed deleting.)
+
+- Added icon for Elementary OS.
+
+- Added /etc/lsb-release to files scanned for clues about the Linux
+ distribution. This file differentiates Mint and Elementary OS from Ubuntu
+ better than does /etc/os-release, and may also help with other
+ closely-related distributions.
+
+- Improvements to handling of case-insensitive string comparisons. These
+ are buggy on some EFIs, and such bugs affect things like dont_scan_*
+ blacklists, removal of rEFInd's own directory from scanning, matching of
+ keyword names in refind.conf, and even loading of icons. I've replaced
+ many calls to problematic functions with safer calls, which should help a
+ lot. There may still be problems on some systems with some computers,
+ though; as far as I can tell, the bugs are buried deep in some EFI
+ firmware, so I can only replace some of the most direct calls to
+ potentially buggy system calls.
+
+0.9.0 (7/26/2015):
+------------------
+
+- New icon for Kali Linux, submitted by Francesco D'Eugenio.
+
+- Minor code changes to ensure that rEFInd compiles with GCC 5.1. (Tested
+ with GNU-EFI on a Fedora 22 system; not yet tested with the TianoCore
+ EDK2.)
+
+- Added new "fold_linux_kernels" token to refind.conf. This option, when
+ active (the default) "folds" all Linux kernels in a directory into a
+ single entry on the rEFInd menu. The kernel with the most recent time
+ stamp is launched by default. To launch another kernel, you must press F2
+ or Insert; additional kernels appear as options on the first kernel's
+ submenu. To see the pre-0.9.0 behavior, you must set "fold_linux_kernels
+ false" (or one of its synonyms, "off" or "0"). The point of this option
+ is to help de-clutter the rEFInd main menu.
+
+- Added new Linux root (/) partition auto-discovery feature, based on
+ Freedesktop.org's Discoverable Partitions Spec (DPS)
+ (http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/):
+ If no refind_linux.conf file or /etc/fstab file is found, and if a
+ partition with the correct DPS type code for the system architecture is
+ found, rEFInd adds "ro root=/dev/disk/by-partuuid/{GUID}" to the kernel
+ options. This will not help on LVM setups, and will get it right for only
+ one installation on systems with multiple Linux installations, but it may
+ help some users, if/when the DPS type codes become more common.
+
+- Fixed bug that caused a rEFInd crash if an empty refind_linux.conf
+ file was encountered.
+
+- The mkrlconf.sh script now checks the OS on which it's running, which
+ should help avoid confusion or problems by users who mistakenly run it
+ under OS X.
+
+- rEFInd now skips checking for various BIOS-mode boot sector signatures
+ when running on a UEFI-based PC; these checks are run only on Macs. This
+ may reduce startup time on systems with many partitions.
+
+- Fixed Debian debinstall script to work correctly on IA32 systems. It had
+ a bug that caused filesystem drivers and gptsync to not be packaged for
+ IA32.
+
+- Modified Debian postinst file to call install.sh with --localkeys option
+ if sbsign and openssl are available, even when NOT in Secure Boot mode or
+ if shim is not detected. This helps with my Ubuntu PPA when using custom
+ Secure Boot keys, since the PPA is delivered unsigned. (Users will have
+ to have added their own local keys to their firmware's db.) For
+ consistency, I've made the same change to the RPM .spec file.
+
+0.8.7 (3/1/2015):
+-----------------
+
+- Fixed install.sh bug that caused inappropriate installation under the
+ name bootx64.efi (or bootia32.efi) under Linux, with a failure to update
+ the boot entries in NVRAM, has been fixed.
+
+- Added identification of XFS as filesystem type in volume descriptions.
+
+- More fixes to filesystem type detection code. Previous version sometimes
+ identified FAT or NTFS (or anything with a boot loader) as a whole-disk
+ device rather than the correct filesystem type.
+
+- Added protections to the code to reduce the risk of crashes that might
+ occur when dereferencing NULL pointers in various situations.
+
+- I'm deprecating the use of filesystem numbers (as in "fs0:") because
+ they're unreliable -- filesystem numbers can change between boots and
+ might not be the same as those used in an EFI shell or other program.
+ Sooner or later I'll remove code supporting this feature. In the
+ meantime, if it doesn't work for you, please switch to using filesystem
+ labels, partition labels, or partition GUIDs.
+
+- Added detection of FreeBSD's BIOS-mode GPT boot loader. Previously,
+ rEFInd could detect FreeBSD's BIOS-mode MBR boot loader, which gave
+ FreeBSD an appropriate icon on Macs; but the BIOS-mode GPT boot loader
+ code is different, so some recent FreeBSD installations showed up with
+ generic grey diamond icons. This change creates FreeBSD icons instead.
+
+- Added "Secure Boot [active|inactive]" notice to "about" menu for x86
+ (32-bit) systems, since there are now a few 32-bit UEFI systems that
+ support Secure Boot. (AFAIK, these are mostly tablets and convertibles
+ such as the ASUS T100.)
+
+- Added KeyTool.efi and KeyTool-signed.efi to list of MOK managers. KeyTool
+ is the "super-deluxe" Secure Boot key and hash manager provided as part
+ of the efitools package.
+
+- Fixed more instances of "invalid parameter" errors on some EFIs.
+
+- Improved Secure Boot detection in install.sh.
+
+- install.sh should no longer complain when copying Shim or MokManager over
+ itself.
+
+0.8.6 (2/8/2015):
+-----------------
+
+- Removed special case of ignoring an HFS+ name of "HFS+ volume", since the
+ old rEFInd HFS+ driver that produced this name for all HFS+ volumes has
+ long since been updated to deliver a real name.
+
+- Addition of new Windows 8 OS icon. On Macs and for BIOS/legacy boots, the
+ new icon is now used for Windows Vista, 7, and 8, while the old one is
+ used for earlier versions of Windows. For EFI-mode boots, the new icon is
+ used universally.
+
+- If the NTFS driver is loaded, rEFInd now scans NTFS volumes on Macs for
+ the presence of Windows boot files, and removes any NTFS volume that
+ lacks such files from the BIOS/legacy boot list. This should help
+ unclutter the display on Macs that contain NTFS data partitions.
+
+- Fixed bug that caused misidentification of both whole disks and NTFS
+ volumes as being FAT. (This bug affected the identification of devices
+ and locations in the rEFInd menu, not actual access to devices.)
+
+- Code refactoring to clear out legacy-boot functions from the
+ ever-expanding refind/main.c file.
+
+- Added new "badges" option to the "hideui" token in refind.conf. This
+ option hides the device-type badges associated with the OS boot options.
+
+- Reverted rEFIt commit r472, introduced in rEFInd 0.8.5 to support more
+ BMP images because I've received bug reports that it's causing existing
+ selection images to fail to load.
+
+- Fixed install.sh bug that caused misidentification of installation
+ directory under OS X if an already-mounted ESP has spaces in its path.
+
+- Fixed Mac-specific install.sh bug that could cause misidentification of
+ the ESP on disks with partition numbers of 10 or above.
+
+
+0.8.5 (2/1/2015):
+-----------------
+
+- Added NTFS EFI filesystem driver.
+
+- Minor improvements to filesystem driver framework code.
+
+- Changes to
+
+- Fixed bug in Btrfs driver's address reference.
+
+- Improved install.sh to make it smarter about figuring out where to
+ install on Macs. Specifically, this version now upgrades existing
+ installations, if found (as it always has under Linux), rather than
+ blindly install to EFI/BOOT; it installs to EFI/refind if not existing
+ installation is found; it installs using the --shortform option to bless,
+ which seems to eliminate the 30-second delay problem; and it can handle
+ an HFS+ ESP, which it treats as a separate HFS+ volume (as if the user
+ had used --ownhfs). These changes do not affect behavior under Linux.
+
+- Added missing check of architecture type for several tools.
+
+- Applied rEFIt commit r472, which adds support for BMP images with negative
+ height fields, indicating that the image is NOT vertically flipped. This
+ commit and r467 were not incorporated in the original rEFInd because I
+ forked it from a Debian rEFIt package that had been patched to build
+ under GNU-EFI, and was apparently based on a slightly earlier version.
+
+- Applied rEFIt commit r467, which improves Mac handling of legacy boots
+ from other than the first hard disk.
+
+
+0.8.4 (12/8/2014):
+------------------
+
+- Tweaked default for dont_scan_volumes: Removed "Recovery HD". This change
+ better suits the needs of OS X 10.10 ("Yosemite") installations, but may
+ result in some stray Recovery HD entries on some Macs.
+
+- Updated icons for Fedora and Ubuntu and added an icon for Xubuntu.
+
+- Added new configuration option, "enable_and_lock_vmx", which sets an
+ Intel CPU feature that's required for some types of virtualization to
+ work. Most EFIs enable setting this feature in their own setup utilities,
+ but some (such as most Macs) don't.
+
+- If rEFInd can't locate an icons directory (either the default or one
+ specified by the icons_dir token), the program switches to text-only
+ mode.
+
+- If a loader contains the string "grub" and no other clue to the loader's
+ OS association exists, search for os_grub.{png|icns} (which is not
+ provided with rEFInd) or os_linux.{png|icns}. (Previous versions provided
+ a generic loader icon for GRUB.)
+
+- Fixed bug that caused dont_scan_files to not work with special-case
+ boot loaders (for OS X and Windows) when specifying the complete path to
+ the loader (e.g., EFI/Microsoft/Boot/bootmgfw.efi).
+
+- Added support for the iPXE network boot tool (see BUILDING.txt for
+ building and basic use instructions).
+
+0.8.3 (7/6/2014):
+-----------------
+
+- Added new feature: Setting "timeout = -1" in refind.conf causes rEFInd to
+ immediately boot the default option UNLESS a keypress is in the buffer
+ when rEFInd launches. In that case, if the keypress corresponds to a
+ shortcut key, the associated boot loader is launched; or if not, the menu
+ is displayed.
+
+- Added new icons for Clover boot loader and for Mythbuntu Linux
+ distribution.
+
+- rEFInd now displays the partition's label, when one is available, when
+ offering a BIOS-mode boot option for a partition with no filesystem
+ driver. This works only on Macs doing BIOS-mode booting.
+
+- Removed GPLv2 code from the FSW core files. This was done because the
+ Btrfs driver is derived from the GRUB Btrfs driver, which is licensed
+ under the GPLv3. Ironically, the GPLv2 and GPLv3 are incompatible
+ licenses, so ensuring that the Btrfs driver doesn't rely on GPLv2 code
+ was legally necessary. In most cases, I reverted to the original rEFIt
+ code, although I kept my own cache code; since I wrote it, I can
+ change its license to a BSD license.
+