+0.6.9 (4/25/2013):
+------------------
+
+- Modified default banner to include the new rEFInd icon, provided by Erik
+ Kemperman.
+
+- Worked around a suspected firmware bug that caused rEFInd 0.6.6 to 0.6.8
+ to hang at startup on some systems (DUET and some Macs).
+
+- Modified rEFInd to search for gptsync under the names gptsync.efi and
+ gptsync_{arch}.efi, where {arch} is ia32 or x64. (Previous versions
+ searched only for gptsync.efi.)
+
+- Added gptsync program from rEFIt project, but with some changes to
+ improve flexibility and make it less likely that UEFI users will
+ accidentally trash their systems.
+
+- Changed timeout code so that the timeout continues if the keyboard is
+ disconnected. This can help in booting a headless server or a system with
+ a bluetooth or other keyboard that's not recognized by the EFI.
+
+0.6.8 (3/18/2013):
+------------------
+
+- Added workaround for presumed EFI bug that was causing "Invalid
+ Parameter" errors when scanning for boot loaders on some computers.
+
+- Added search for an EFI shell called shell.efi in the root directory
+ (previously this name was only accepted in EFI\tools).
+
+- Fixed bug in install.sh that caused it to fail on some systems (Fedora
+ 18, for instance) because of a problem identifying the ESP.
+
+- Fixed bug that caused icons named after boot loaders to not be used.
+
+0.6.7 (2/3/2013):
+-----------------
+
+- Added a more explicit error message summarizing options when a launch of
+ a program results in a Secure Boot failure.
+
+- Changed MOK tool detection to scan all volumes, not just the rEFInd
+ home volume. This is desirable because the Linux Foundation's HashTool
+ can only scan its own volume, making it desirable to place copies of this
+ program on every volume that holds EFI boot loader binaries.
+
+- Added support for launching the Linux Foundation HashTool as a means of
+ managing MOKs (or MOK hashes, at any rate).
+
+- Fixed bug that caused rEFInd to present an entry for itself as a
+ Microsoft OS if it was launched as EFI/Microsoft/Boot/bootmgfw.efi.
+
+- Fixed bug that caused dont_scan_volumes option to be added to
+ also_scan_dirs list.
+
+- Fixed dont_scan_volumes so that it works with OS X boot loaders.
+
+- Fixed broken mixing of PNG and ICNS icons when using a user-specified
+ icons directory -- previously, an ICNS file in the default directory
+ would override a PNG file in the user-specified directory.
+
+0.6.6 (1/26/2013):
+------------------
+
+- rEFInd now ignores the fallback boot loader (EFI/BOOT/bootx64.efi or
+ EFI/BOOT/bootia32.efi) if it's identical to another boot loader on
+ the same volume. This is intended to help unclutter the display on
+ systems that run Windows, since Windows tends to duplicate its own boot
+ loader under the fallback name.
+
+- Added new "font" token to refind.conf, which enables specifying a font in
+ the form of a PNG file. This file must contain monospace glyphs for the
+ 95 characters from ASCII 32 to 126 (space through tilde), inclusive, plus
+ a glyph to be displayed for characters outside of this range, for a total
+ of 96 glyphs.
+
+- Replaced the old font (inherited from rEFInd) with an anti-aliased
+ version of Luxi Mono Regular 14 point.
+
+- Fixed bug that caused rEFInd to ignore manual boot stanzas in files
+ included via the "include" token in refind.conf.
+
+- Fixed bug that caused ASSERT error on some systems (and conceivably a
+ crash on startup on some) when default_selection line in refind.conf was
+ commented out or empty.
+
+- Fixed bug that caused "Binary is whitelisted" message to persist on
+ screen after loading MOK-signed drivers in Secure Boot mode.
+
+- Fixed bug that caused rEFInd to ignore the "icon" token in refind.conf
+ manual boot stanzas.
+
+- Fixed bug in install.sh that caused the script to fail to update
+ drivers when rEFInd was installed in EFI/BOOT/.
+
+0.6.5 (1/16/2013):
+------------------
+
+- Improved text color support: rEFInd now uses black text against light
+ backgrounds and white text against dark backgrounds.
+
+- Added support for PNGs as banners, icons, and selectors.
+
+- Added icon for ALT Linux.
+
+- Added "safemode" option to "hideui" token, to hide option to boot into
+ safe mode for OS X ("-v -x" option to boot.efi).
+
+- Added icon for Haiku (os_haiku.icns).
+
+- Enable transparency of icons & main-menu text when the banner icon is
+ sized to cover these areas.
+
+- Fixed bug that could cause rEFInd to crash if fed a banner image that's
+ too big. Note that "too big" can be substantially smaller than the screen
+ resolution!
+
+0.6.4 (1/8/2013):
+-----------------
+
+- Revised install.sh to copy ext2fs driver, rather than ext4fs driver, for
+ ext2/3 filesystems. This can help keep non-functional entries from links
+ from /vmlinuz to /boot/vmlinuz out of the menu if the system uses ext4fs
+ on root and ext2fs or ext3fs on /boot.
+
+- Fixed a couple of memory management bugs that cause rEFInd to hang at
+ startup on some systems.
+
+0.6.3 (1/6/2013):
+-----------------
+
+- Added the ability to specify a volume name or number in the
+ "dont_scan_dirs" and "also_scan_dirs" tokens.
+
+- Fixed a bug that caused removable EFI media to not appear in scan lists
+ if rEFInd was installed as EFI/BOOT/boot{arch}.efi on a hard disk.
+
+- Modified ISO-9660 driver so that it can handle discs with other than
+ 2048-byte sectors. This makes it useful for reading "hybrid ISO" images
+ burned to USB flash disks.
+
+- New mvrefind.sh script to move a rEFInd installation between a standard
+ location (typically EFI/refind) and one of the fallback locations
+ (EFI/BOOT or EFI/Microsoft/Boot). It can also do more exotic locations.
+
+- The install.sh script now installs to EFI/BOOT/bootx64.efi or
+ EFI/Microsoft/Boot/bootmgfw.efi if it's run in BIOS mode. This is
+ intended to give some chance of producing a bootable installation should
+ a user accidentally install Linux in EFI mode and then install rEFInd
+ from that installation.
+
+- The install.sh script now tries to find an existing rEFInd installation
+ and upgrade it, even if it's in EFI/BOOT or EFI/Microsoft/Boot rather
+ than in EFI/refind.
+
+- New "--yes" option to install.sh to help with unattended or automated
+ installations (as from an RPM or Debian package).
+
+0.6.2 (12/30/2012):
+-------------------
+
+- Inclusion of a sample refind.spec file for the benefit of RPM
+ distribution maintainers who might want to include rEFInd. It's a bit
+ rough, but it gets you a good chunk of the way there....
+
+- The EFI filesystem drivers can now be built with the GNU-EFI toolkit as
+ well as with the TianoCore EDK2. See the BUILDING.txt file for details on
+ how to build them with either toolkit. This improvement doesn't affect
+ users of my binary packages, but it should make it easier for Linux
+ distributions to adopt rEFInd into their package systems.
+
+- Tweaked refind.inf file for better build results using "native" TianoCore
+ EDK2 build process (vs. the Makefile-based build process that I use under
+ Linux). This won't affect those who use my binary builds or build under
+ Linux with the "make" command.
+
+- Fixed bug that prevented Secure Boot launches from working when rEFInd
+ was built with GNU-EFI rather than the TianoCore EDK2.
+
+- Substantial reworking of Secure Boot code, based on James Bottomley's
+ PreLoader program. This new code eliminates the limitation of launching
+ just one driver in Secure Boot mode and is likely to be more reliable
+ with future or obscure boot loaders. It should also work with non-x86-64
+ systems, although this relies on a platform-specific shim program, which
+ to date exists only for x86-64. The basic features are the same as before
+ -- rEFInd relies on shim for authentication functions and will launch
+ programs that are signed by Secure Boot keys, shim keys, or MOKs.
+
+- Altered default for "textmode" option (when it's commented out) to not
+ adjust the text mode at all. (Prior versions set it to mode 0 by
+ default.)
+
+0.6.1 (12/21/2012):
+-------------------
+
+- Added "--root" option to install.sh, to enable installation of rEFInd
+ to something other than the currently-running OS. This is intended for
+ use on emergency discs.
+
+- Thanks to Stefan Agner, the ext4fs driver now supports the "meta_bg"
+ filesystem feature, which distributes metadata throughout the disk. This
+ feature isn't used by default, but can be set at filesystem creation time
+ by passing the "-O meta_bg,^resize_inode" option to mke2fs. (Using
+ "^resize_inode" is necessary because meta_bg is incompatible with
+ resize_inode, which IS used by default.) This feature can be used on
+ ext3fs and ext2fs as well as on ext4fs, so the ext4fs driver can now
+ handle some ext3fs and ext2fs partitions that the ext2fs driver can't
+ handle.
+
+- Fixed some screen resolution-setting bugs.
+
+- Added the "words" that make up a filesystem's label (delimited by spaces,
+ dashes, or underscores) to the list of bases used to search for OS icons.
+ For instance, if the filesystem's label is "Arch", rEFInd searches for
+ os_Arch.icns; if it's "Fedora 17", it searches for os_Fedora.icns and
+ os_17.icns; and if it's "NEW_GENTOO", it searches for os_NEW.icns and
+ os_GENTOO.icns.
+
+- Refined hints displays to be more context-sensitive, particularly in text
+ mode.
+
+- Instead of displaying a blank filesystem label when a filesystem has
+ none, rEFInd now displays the size and/or type of the filesystem, as in
+ "boot EFI\foo\bar.efi from 200 MiB ext3 volume" rather than "boot
+ EFI\foo\bar.efi from".
+
+- Fixed a bug that caused the screen to clear after displaying an error
+ message but before displaying the "Hit any key to continue" message when
+ a boot loader launch failed.
+
+0.6.0 (12/16/2012):
+-------------------
+
+- Fixed a memory allocation bug that could cause a program crash when
+ specifying certain values with the "also_scan_dirs", "dont_scan_volumes",
+ "dont_scan_dirs", "dont_scan_files", and "scan_driver_dirs" refind.conf
+ options.
+
+- Modified Linux kernel initrd-finding code so that if an initrd is
+ specified in refind_linux.conf, rEFInd will not add any initrd it finds.
+ This enables an override of the default initrd, and is likely to be
+ particularly helpful to Arch Linux users.
+
+- Added ext4fs driver!
+
+- Made "boot" the default value for "also_scan_dirs".
+
+- Added identifying screen header to line editor.
+
+- Fixed bug that caused rEFInd's display to be mis-sized upon return
+ from a program that set the resolution itself.
+
+- Adjusted "resolution" refind.conf parameter so that it can accept EITHER
+ a resolution as width and height OR a single digit as a UEFI mode number
+ (which is system-specific). This is done because some systems present the
+ same mode twice in their mode lists, perhaps varying in refresh rate,
+ monitor output, or some other salient characteristics; specifying the
+ mode number enables selecting the higher-numbered mode, whereas using
+ horizontal and vertical resolution values selects the lowest-numbered
+ mode.
+
+- Added "textmode" refind.conf parameter to set the text mode used in
+ text-only displays, and for the line editor and boot-time handoff
+ display even in graphics mode.
+
+- Fixed bug that caused tools (shell, etc.) to launch when they were
+ highlighted and F2 or Insert was pressed.
+
+- Added "editor" option to the "hideui" token in refind.conf, which
+ disables the boot options editor.
+
+- Added hints text to rEFInd main menu and sub-menus. This can be disabled
+ by setting the new "hints" option to the "hideui" token in refind.conf.
+
+- Added "boot with minimal options" entry to refind_linux.conf file
+ generated by install.sh. This entry boots without the options extracted
+ from the /etc/default/grub file.
+
+- Added keys subdirectory to main distribution, to hold public Secure
+ Boot/shim keys from known sources.
+
+- Changed install.sh --drivers option to --alldrivers, added new
+ --nodrivers option, and made the default on Linux to install the one
+ driver that's used on /boot (or the root filesystem if /boot isn't a
+ separate partition). Of course, this won't install a non-existent driver,
+ and it also won't work properly if run from an emergency disk unless you
+ mount a separate /boot partition at that location.
+
+- Fixed bug in install.sh that prevented creation of refind_linux.conf file
+ on Linux systems.
+
+0.5.1.1 (12/12/2012):
+---------------------
+
+- Fixed bug in install.sh that prevented it from working on OS X.
+
+0.5.1 (12/11/2012):
+-------------------
+
+- Added support for "0" options to "textonly" and "scan_all_linux_kernels"
+ to reverse the usual meaning of these tokens. This is useful for
+ including these options in a secondary configuration file called with the
+ new "include" token to override a setting set in the main file.
+
+- Added "include" token for refind.conf, to enable including a secondary
+ configuration file from a primary one.
+
+- Modified install.sh so that it creates a simple refind_linux.conf file in
+ /boot, if that file doesn't already exist and if install.sh is run from
+ Linux. If that directory happens to be on a FAT, HFS+, ext2fs, ext3fs, or
+ ReiserFS volume, and if the necessary drivers are installed, the result
+ is that rEFInd will detect the Linux installation with no further
+ configuration on many systems. (Some may still require tweaking of kernel
+ options, though; for instance, adding "dolvm" on Gentoo systems that use
+ LVM.)
+
+- Added --shim and --localkeys options to install.sh to help simplify setup
+ on systems with Secure Boot active.
+
+- Fixed (maybe) bug that caused resolution options to not be displayed on
+ recent Macs with GOP graphics when specifying an invalid resolution in
+ refind.conf.
+
+- Fixed bug that caused some programs (EFI shells, in particular) to hang
+ when launching on some systems (DUET, in particular).
+
+- Implemented a fix to enable ELILO to launch with Secure Boot active.
+ This fix might help with some other boot loaders in Secure Boot mode,
+ too, but I don't know of any specifics.
+
+0.5.0 (12/6/2012):
+------------------
+
+- Added the ability to include quote marks ('"') in refind.conf and
+ refind_linux.conf tokens by doubling them up, as in:
+ "ro root=/dev/sda4 some_value=""this is it"""
+ This example results in the following string being passed as an
+ option:
+ ro root=/dev/sda4 some_value="this is it"
+
+- Changed refind.conf-sample to uncomment the scan_all_linux_kernels
+ option by default. If this option is deleted or commented out, the
+ program default remains to not scan all Linux kernels; but with
+ increasing numbers of distributions shipping with kernels that include
+ EFI stub loader support, setting the configuration file default to scan
+ for them makes sense.
+
+- Modified the "resolution" token so that it affects text mode as well
+ as graphics mode. On my systems, though, the actual text area is still
+ restricted to an 80x25 area. (This seems to be a firmware limitation; my
+ EFI shells are also so limited.)
+
+- Fixed a bug that caused the options line editor to blank out lines that
+ were not actually edited.
+
+- Added support for using Matthew Garrett's Shim program and its Machine
+ Owner Keys (MOKs) to extend Secure Boot capabilities. If rEFInd is
+ launched from Shim on a computer with Secure Boot active, rEFInd will
+ launch programs signed with either a standard UEFI Secure Boot key or a
+ MOK. For the moment, this feature works only on x86-64 systems.
+
+- Added new "dont_scan_files" (aka "don't_scan_files") token for
+ refind.conf. The effect is similar to dont_scan_dirs, but it creates a
+ blacklist of filenames within directories rather than directory names.
+ I'm initially using it to place shim.efi and MokManager.efi in the
+ blacklist to keep these programs out of the OS list. (MokManager.efi is
+ scanned separately as a tool; see below.) I've moved checks for
+ ebounce.efi, GraphicsConsole.efi, and TextMode.efi to this list. (These
+ three had previously been blacklisted by hard-coding in ScanLoaderDir().)
+
+- Added the directory from which rEFInd launched to dont_scan_dirs. This
+ works around a bug in which rEFInd would show itself as a bogus Windows
+ entry if it's installed as EFI/Microsoft/boot/bootmgfw.efi.
+
+- Added support for launching MokManager.efi for managing the Machine Owner
+ Keys (MOKs) maintained by the shim boot loader developed by Fedora and
+ SUSE. This program is scanned and presented as a second-row tool.
+
+- Added support for Apple's Recovery HD partition: If it's detected, a new
+ icon appears on the second row. This icon can be removed by explicitly
+ setting the "showtools" option in refind.conf and excluding the
+ "apple_recovery" option from that line.
+
+- Fixed bug that caused text-mode ("textonly" refind.conf option enabled)
+ menu entries to be right-aligned rather than left-aligned when rEFInd was
+ compiled with the TianoCore EDK2.
+
+- Added "--usedefault {devicename}" and "--drivers" options to the
+ install.sh script and changed the "esp" option to "--esp".
+
+0.4.7 (11/6/2012):
+------------------
+
+- Added an icon for gummiboot.
+
+- Added a boot option editor: Pressing the Insert or F2 key from a boot
+ tag's options menu opens a simple text-mode line editor on which the boot
+ options may be edited for a one-time boot with altered options.
+
+- Modified the "scan_delay" feature to delay and then perform a re-scan,
+ which may work better than the first attempt at this feature (which I'm
+ told isn't working as planned).
+
+- Modified rEFInd to add a space after the command-line options only when
+ launching Mac OS X. On some early Macs, the extra space (which had been
+ present by default, as a carryover from rEFIt) causes problems when
+ booting Linux kernels from FAT partitions.
+
+0.4.6 (10/6/2012):
+------------------
+
+- Fixed some minor memory management issues.
+
+- Added new "scan_delay" feature to impose a delay before scanning
+ for disks.
+
+- Changed default "scanfor" option from internal-external-optical to either
+ internal-external-optical-manual (for non-Macs) or
+ internal-hdbios-external-biosexternal-optical-cd-manual (for Macs). I've
+ done this for two reasons:
+ - Many Mac users have been confused by the fact that rEFInd needs
+ reconfiguration to detect Windows (or Linux installed in BIOS mode),
+ since rEFIt scans BIOS devices by default. Adding the BIOS options as
+ default for them should help them.
+ - Adding the "manual" option enables users to simply add manual boot
+ stanzas and have them work, which is more intuitive. Adding the
+ "manual" option will have no effect unless manual stanzas are created
+ or uncommented, so this part of the change won't affect users' working
+ default configurations.
+
+- Added new legacy (BIOS) boot support for UEFI-based PCs.
+
+0.4.5 (8/12/2012):
+------------------
+
+- Fixed bug that caused a failure to boot BIOS-based OSes on Macs.
+
+- Fixed bug in install.sh that caused it to fail to detect rEFItBlesser.
+
+0.4.4 (6/23/2012):
+------------------
+
+- Fixed bug that caused filesystem labels to be corrupted by rEFInd on
+ 32-bit systems.
+
+- Fixed bug that caused filesystem labels to be truncated in the drivers
+ on 32-bit systems.
+
+- Fixed bug in use_graphics_for option parsing that caused most options
+ to set graphics mode for OS X and/or Linux but not other boot
+ loaders/OSes.
+
+- Tweaked install script to better isolate the ESP under OS X.
+
+0.4.3 (6/21/2012):
+------------------
+
+- rEFInd now supports compilation using the TianoCore UDK2010/EDK2
+ development kit in addition to GNU-EFI.
+
+- Added new "use_graphics_for" option to control which OSes to boot in
+ graphics mode. (This effect lasts for a fraction of a second on most
+ systems, since the boot loader that rEFInd launches is likely to set
+ graphics or text mode itself.)
+
+- Graphics-mode booting now clears the screen to the current rEFInd
+ background color (rather than black) and does NOT display boot messages.
+ The intent is for a smoother transition when booting OS X, or perhaps
+ other OSes that don't display boot loader messages. In practice, this
+ effect will be tiny for many OSes, since the boot loader generally clears
+ the screen within a fraction of a second of being launched; but the
+ "flicker" of a rEFInd message in that time can sometimes be distracting.
+
+- Filesystem drivers now work on EFI 1.x systems, such as Macs.
+
+- Removed "linux.conf" as a valid alternative name for "refind_linux.conf"
+ for holding Linux kernel options. The kernel developers plan to use
+ "linux.conf" themselves.
+
+0.4.2 (6/3/2012):
+-----------------
+
+- Added a message to install.sh when run on Macs to remind users to update
+ the "scanfor" line in refind.conf if they need to boot BIOS-based OSes
+ via rEFInd.
+
+- Modified install.sh script to be smarter about running efibootmgr on
+ Linux. It now uses the whole path to the rEFInd binary as a key to
+ determine whether an existing entry exists, rather than just the filename
+ portion. If an entry exists and is the first entry in the boot order, the
+ script does nothing to the NVRAM entries. If such an entry exists but is
+ not the default, the script deletes that entry and creates a new one
+ (implicitly making it the first in the boot order). If such an entry does
+ not exist, the script creates a new one (again, making it the first in
+ the boot order).
+
+- Added "dont_scan_dirs" configuration file option, which adds directories
+ to a "blacklist" of directories that are NOT scanned for boot loaders.
+