]> code.delx.au - refind/blobdiff - NEWS.txt
Fixed bug that caused volume icons to be read only from default icons
[refind] / NEWS.txt
index 0850bc952b8bb65acf1534bd4cd1f161d1236b7f..79f651ece562639fb9e202af854c149a8dcce170 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,3 +1,694 @@
+0.10.2 (?/??/2016):
+-------------------
+
+- Fixed bug that caused custom volume badges (vol_????.png) to be read only
+  from default location ("icons" subdirectory), effectively eliminating the
+  ability to adjust them.
+
+- Added centos.crt and centos.cer public key files.
+
+0.10.1 (12/12/2015):
+--------------------
+
+- Change to PPA version: Installing the PPA now queries the user about
+  whether to install to the ESP. Upgrades will remember the initial
+  selection.
+
+- Modified time-based sorting of loaders in a single directory to push
+  anything starting with "vmlinuz-0-rescue" to the end of the list. Fedora
+  gives its rescue kernels filenames that begin with that string, and if
+  such a kernel happens to be the most recent, treating it normally will
+  cause it to become the default when kernel folding is in use. This is
+  almost certainly undesirable, so this change keeps the rescue kernel at
+  the end of the list instead, which is saner.
+
+- Significantly reworked the project's Makefiles. This should have no
+  impact on ordinary users, and even most developers should barely notice
+  it; but it should make future extensions to additional platforms or
+  building in different environments easier.
+
+- Added workaround to gptsync for issue with some Macs' EFIs that caused
+  the program to skip through all prompts, thus accepting the default
+  option. This would normally cause gptsync to do nothing.
+
+- Added type code 53746F72-6167-11AA-AA11-00306543ECAC (Apple Core Storage,
+  gdisk type AF05) to list of partition types recognized by gptsync.
+
+- Removed Luxi Sans Mono font, since I discovered it was not open source;
+  and changed the default font from Nimbus Mono to Liberation Mono.
+
+- Added support for compiling rEFInd for ARM64 (aka AARCH64 or aa64). This
+  works with both GNU-EFI and Tianocore UDK2014.SP1.P1. This support is
+  currently poorly tested. In particular, I used QEMU on an x86-64 computer
+  to create a virtualized ARM64 environment; I've not yet tested on a real
+  computer. I couldn't get QEMU to create a video card, so I used a serial
+  terminal, which means that the graphics features are untested -- I ran
+  rEFInd with "textonly" uncommented in refind.conf. I've tested the ext4fs
+  driver but no other drivers, although they all compile. (So does gptsync,
+  although it's unlikely to be useful on ARM64.) Some rEFInd features are
+  meaningless on ARM64, such as BIOS-mode boot support, anything geared
+  toward Macs (csr_values/csr_rotate, spoof_osx_version, etc.), and
+  enable_and_lock_vmx.
+
+- Fixed bug that caused rEFInd to fail to scan EFI boot loaders on
+  removable media when rEFInd itself was launched from the fallback
+  filename.
+
+- Moved detailed descriptions of refind-install from installing.html to
+  a refind-install man page. To keep this information Web-accessible, I've
+  also created HTML versions of the three man pages and linked them into
+  the HTML documentation.
+
+- Updated LodePNG to latest version (20151024).
+
+- Fixed bugs in mkrlconf and in refind-install that could cause some kernel
+  options to be excluded from refind_linux.conf. There were two trouble
+  conditions:
+  - Previously, these scripts assumed that the first option in
+    /proc/cmdline was the kernel's filename, but this isn't always the
+    case. (In particular, when gummiboot launches the kernel, this is not
+    true. It might be an incorrect assumption in some other cases, too.)
+    The fix involves checking for likely signs of a kernel filename before
+    discarding this first option.
+  - These scripts cut the "initrd=*" option from /proc/cmdline, but the
+    call to "sed" was overzealous and cut until the end of input. This
+    usually worked, since the initrd= option was usually last on the line;
+    but if it wasn't, any options following initrd= would be lost.
+
+- Added "kernel*" as a matching pattern for Linux kernels, since this is
+  what Gentoo uses by default.
+
+- The refind-install script can now be run as a symbolic link in Linux.
+  This enables creating a /usr/sbin/refind-install link in Linux packages,
+  with the binaries stashed wherever the package system likes them. This
+  feature does NOT work in OS X, but there's relatively little need for it
+  there.
+
+0.10.0 (11/8/2015):
+-------------------
+
+- Fixed bug that caused refind-install to not unmount the ESP when it
+  should under OS X.
+
+- Modified refind-install and mkrlconf scripts to use /proc/cmdline as
+  source for default boot options EXCEPT when refind-install receives the
+  --root option. In that case, refind-install continues to use
+  /etc/default/grub as the source of default options. The idea behind this
+  change is that it's more reliable to get boot options from /proc/cmdline
+  when the targeted system is the one that's booted; but --root would be
+  used from emergency disks or live CDs, in which case the current boot
+  options would be completely wrong, so extracting boot options from GRUB
+  files is the best bet for getting close to the right options.
+
+- Added "@/boot" to default also_scan_dirs setting. This makes kernels
+  show up on Btrfs volumes under Ubuntu (and perhaps others), at least when
+  the Btrfs driver is loaded.
+
+- Added new System Integrity Protection (SIP) rotation feature for Macs
+  running OS X 10.11 or later. This feature is disabled by default, except
+  on CD-R and USB flash drive images, on which it's enabled. To enable it,
+  you must make TWO changes to refind.conf: Uncomment the new "csr_values"
+  item and add "csr_rotate" to the "showtools" line (uncommenting it, too,
+  if it's commented out). If desired, you can set more values on
+  "csr_values"; these are comma-delimited one-byte hexadecimal values that
+  define various SIP states.  When SIP/CSR rotation is activated, a new
+  shield icon appears among the tools. Selecting it causes the next defined
+  value to be set and a confirmation message to appear for three seconds.
+
+- Added display of current System Integrity Protection (SIP) mode to
+  "About" display.
+
+- Added mountesp script for OS X to (you guessed it!) mount the ESP.
+
+- Renamed support scripts: install.sh to refind-install, mvrefind.sh to
+  mvrefind, and mkrlconf.sh to mkrlconf.
+
+- New icons! The old ones were getting to be a jumbled mess of styles,
+  particularly for OS tags. I used the AwOken icon set
+  (http://alecive.deviantart.com/art/AwOken-163570862) for the core icons,
+  then expanded from there by creating my own icons and modifying icons for
+  Debian and Elementary OS. I'm also trying to keep better track of
+  copyrights and licenses on icons. Between that and some icons being for
+  OSes that probably see very little use (FreeDOS and eComstation, for
+  instance), a few OS icons have been lost. If you prefer the old icons,
+  you can continue to use them by upgrading rEFInd, renaming icons-backup
+  to something else (say, icons-classic), and then adding an "icons" line
+  in refind.conf to point to the old icons directory.
+
+- Changed from .zip to .tar.gz as source code archive format. I did this
+  because Linux is the only officially-supported build platform, and
+  tarballs are a more natural fit to a Linux environment. I'm leaving .zip,
+  .deb, and .rpm files as the formats for binary packages.
+
+- Added detection of System Integrity Protection (SIP; aka "rootless") mode
+  to OS X portion of install.sh script. When detected, and if no existing
+  rEFInd installation is found, the script now prints a warning and brief
+  instructions of how to enter the Recovery mode to install rEFInd and
+  suggests aborting the installation. (The user can override and attempt
+  installation anyhow.) If SIP is detected along with an existing rEFInd
+  installation, the script moderates the warning and explains that an
+  update of a working rEFInd will probably succeed, but that re-installing
+  to fix a broken rEFInd will probably fail.
+
+- Added new "spoof_osx_version" token, which takes an OS X version number
+  (such as "10.9") as an option. This feature, when enabled, causes rEFInd
+  to tell a Mac's firmware that the specified version of OS X is being
+  launched. This option is usually unnecessary, but it can help properly
+  initialize some hardware -- particularly secondary video devices. OTOH,
+  on some Macs it can cause hardware (notably keyboards and mice) to become
+  unresponsive, so you should not use this option unnecessarily.
+
+- Worked around an EFI bug that affected my 32-bit Mac Mini: That system
+  seems to have a broken EFI, or possibly a buggy CPU, that causes some
+  (but not all) conversions from floating-point to integer numbers to hang
+  the computer. Such operations were performed only in rEFInd's
+  graphics-resizing code, and so would manifest only when icons or
+  background images were resized. My fix eliminates the use of
+  floating-point operations in the affected function, which eliminates the
+  crashes. There may be some degradation in the quality of resized images,
+  though, particularly on 32-bit systems. (64-bit systems use larger
+  integers, which enable greater precision in my floating-point
+  workaround.)
+
+- Under OS X, install.sh can now be run from the recovery system. This may
+  help work around OS X 10.11's problems with System Integrity Protection,
+  since it should be possible to reboot into the recovery system to install
+  rEFInd without disabling SIP for the main installation, even for just one
+  boot.
+
+0.9.2 (9/19/2015):
+------------------
+
+- Added "--keepname" option to install.sh. This option causes install.sh
+  to keep refind_x64.efi named as such rather than rename it as grubx64.efi
+  when using Shim. This option is meaningful only if the --shim option is
+  also used. This option passes the refind_x64.efi filename as an option to
+  Shim, which overrides the default filename of grubx64.efi. A big caveat:
+  Only Shim 0.7 and later supports this feature. (Shim 0.4 also works if a
+  refind_x64.efi is referred to as "\refind_x64.efi" on the command line,
+  but the need for a leading backslash to refer to a file in the same
+  directory as Shim is so confusing and wrong that I cannot in good
+  conscience support it.) I've not seen signed Shim binaries between 0.4
+  and 0.7, so I don't know if any of them might work.
+
+- Implemented a workaround for a bug in Shim 0.8 that prevented
+  authentication of more than one binary. If any filesystem drivers were
+  installed, the first one would be verified, leaving rEFInd unable to
+  launch anything else unless it was signed by a key in the computer's main
+  Secure Boot db list.
+
+0.9.1 (9/13/2015):
+------------------
+
+- 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.
+
+- Fixed bug that caused rEFInd to unload drivers immediately after loading
+  them. This didn't affect rEFInd's own drivers because they didn't include
+  the unload hooks, but it did affect some other drivers.
+
+- Changed default scan_all_linux_kernels setting from "false" to "true",
+  and commented the option out in refind.conf-sample. This should not
+  affect most people, since refind.conf-sample had this option commented
+  out, and most rEFInd users either use it that way or don't have Linux
+  kernels installed at all. I've made this change because I want rEFInd to
+  "do the right thing" by default in as many cases as possible. For a while
+  now, rEFInd has been excluding non-bootable files from its menu, and most
+  kernels "in the wild" now include the EFI stub. Thus, enabling this
+  support by default seems worthwhile. If you prefer to not scan Linux
+  kernels by default, simply uncomment the "scan_all_linux_kernels" line
+  and ensure it's set to "false".
+
+0.8.2.1 (6/8/2014):
+-------------------
+
+- Removed stray bit of debugging code that caused a prompt to press a
+  key to appear at rEFInd startup.
+
+0.8.2 (6/8/2014):
+-----------------
+
+- Changed behavior when default_selection is not set: It now boots the
+  previously-booted loader, assuming it's still available; if not, rEFInd
+  boots the first loader (as it does now). Behavior is unchanged if
+  default_selection is set. Note that this behavior depends on the ability
+  of rEFInd to store an EFI variable in NVRAM. It therefore fails on
+  systems with flaky NVRAM storage. You can view the previously-booted
+  loader in the
+  /sys/firmware/efi/efivars/PreviousBoot-36d08fa7-cf0b-42f5-8f14-68df73ed3740
+  variable under Linux.
+
+- Added icon for Mageia Linux (os_mageia.png).
+
+- Fixed bug that could misidentify a not-quite-GUID as a GUID in a
+  manual boot stanza's "volume" line.
+
+- I've updated my personal build system, and therefore the rEFInd Makefiles
+  and related files, to use TianoCore UDK2014 rather than UDK2010.
+
+- Added "deep_uefi_legacy_scan" token. When not set (the default), rEFInd
+  does not modify EFI NVRAM settings when scanning for BIOS-mode boot
+  loaders on UEFI-based (non-Mac) computers. Some computers require
+  uncommenting this setting for rEFInd to reliably detect some BIOS-mode
+  boot devices. Passing "0", "off", or "false" as an option resets it to
+  the default value (useful in a loaded secondary configuration file to
+  override a setting in the main file).
+
+0.8.1 (5/15/2014):
+------------------
+
+- Fixed bug that could cause rEFInd to fail to detect boot loaders stored
+  on the root directory of a partition.
+
+- Added two new bitmap fonts to those distributed with rEFInd: Ubuntu Mono
+  and Nimbus Mono. Both come in 12-, 14-, 16-, and 24-point sizes.
+
+- Messages about pauses for scanning and re-scanning of boot loaders are
+  now suppressed when doing an initial delayed scan when scan_delay is 1
+  second.
+
+- Improved centering of legacy boot option descriptions on some systems'
+  screens.
+
+- Fixed bug that could cause a BIOS-mode boot to boot from an inappropriate
+  device if that device had an innately high boot priority (as set by the
+  firmware).
+
+- Changed icons from ICNS to PNG form. There are several reasons to do
+  this, all of them minor; but together they're enough to warrant a change.
+  PNG is more common, and therefore more accessible to most users --
+  particularly those who don't use OS X. The PNG files are smaller than
+  their ICNS equivalents. PNG supports a wider range of sizes (although I'm
+  not now using anything that ICNS doesn't support, I might in the future).
+  The icon-scaling support added a few versions ago makes ICNS's support
+  for multiple icon sizes relatively unimportant.
+
+- Reversed order of search for icons by extension: rEFInd now searches
+  for PNG files before ICNS files, rather than the other way around. This
+  makes it possible to override a volume icon for rEFInd by giving it the
+  name .VolumeIcon.png, even when a .VolumeIcon.icns file exists on the
+  volume and is used by OS X.
+
+- Fixed bug that caused .VolumeIcon.icns to take higher-than-intended
+  precedence in icon setting for OS X.
+
+- Chainloading to BIOS-mode boot loaders now works on UEFI-based PCs when
+  rEFInd is built with GNU-EFI, not just when built with Tianocore.
+
+0.8.0 (5/4/2014):
+-----------------
+
+- The "dont_scan_volumes" parameter now also works with legacy-boot
+  volumes. Unlike with EFI volumes, where the option you pass must exactly
+  match an entire volume name, when applied to legacy-boot volumes, it
+  matches any part of the description that appears beneath the item when
+  you select it in the rEFInd main menu.
+
+- Can now boot in legacy mode from second (and probably later) hard disks!
+
+- rEFInd now limits the length of the firmware name string shown in the
+  system information screen to 65 characters. This is done because at least
+  one EFI presents a longer string by default, and this causes the entire
+  information display to come up empty on 800x600 displays.
+
+- rEFInd now uses the partition's name (as stored in the GPT data
+  structures) as a fallback for the filesystem's name if the latter can't
+  be found. Exceptions are if the partition name is one of three generic
+  names used by GPT fdisk: "Microsoft basic data", "Linux filesystem", or
+  "Apple HFS/HFS+". These are ignored in favor of the descriptive fallback
+  (e.g., "20 GiB Btrfs volume")
+
+- It's now possible to specify a volume by partition GUID number in a
+  manual boot stanza. This should be more reliable (albeit also more
+  awkward) than using a filesystem number (such as fs0: or fs1:).
+
+- Fixed memory-allocation bug that could cause error message displays,
+  and possibly hangs, when re-scanning boot loaders.
+
+0.7.9 (4/20/2014):
+------------------
+
+- Attempt to fix rEFInd perpetually re-scanning after ejecting a disc on
+  some Macs.
+
+- Added check to remove redundant (or non-functional if Secure Boot is
+  active) kernel entries for Ubuntu, which is now including two versions of
+  kernels, one signed and the other unsigned.
+
+- Fixed bug in install.sh that could cause it to display error messages
+  if the dmraid utility was not installed.
+
+- The HFS+ driver now reports a correct volume name.
+
+- Fixed some EFI filesystem driver bugs that could cause lockups under
+  some circumstances. These bugs could affect any of the filesystem
+  drivers.
+
+- Added "gdisk" option to the "showtools" configuration file token. When
+  active, this adds gdisk.efi or gdisk_{arch}.efi, if present in the
+  EFI\tools directory, to the tools row.
+
+- Fixed mistaken identification of the MOK utility as the "MOK utility
+  utility."
+
+
+0.7.8 (3/9/2014):
+-----------------
+
+- Added "debian" directory to source, which facilitates creation of Debian
+  packages. Packages built in this way are built with GNU-EFI and don't run
+  any post-installation script, so although the rEFInd binaries are on the
+  hard disk, they aren't installed to be bootable; you must manually run
+  install.sh. Also, at least on Ubuntu, the Make.common file's /usr/lib64
+  references must be changed to /usr/lib. This is more of a proof of
+  concept and a "leg up" for distribution maintainers than anything else.
+
+- Two new options, big_icon_size and small_icon_size, set the size of
+  the first-row OS icons and of the second-row tool icons, respectively.
+  The big_icon_size option also indirectly sets the size of disk-type
+  badges; they're 1/4 the size of the big icons. Default values are 128 and
+  48, respectively, to match the actual icon files provided with rEFInd. If
+  the icon you're using is of a different size than you've specified,
+  rEFInd scales it. For best quality, you should both provide icons drawn
+  to the right size and set the icon sizes in refind.conf.
+
+- rEFInd now automatically scales icons to fit the standard icon sizes.
+  This won't have any effect with the icons that come with rEFInd, but it
+  can help if you want to use another icon, since you needn't scale it in a
+  graphics program before using it. Note that rEFInd uses bitmap icons, so
+  scaling by a huge amount (say, a 16x16 icon to fit the standard 128x128
+  OS icon) is not likely to look good.
+
+- Added new option, banner_scale, that tells rEFInd how to handle banners:
+  Set to "noscale" (the default), banners are not scaled, although they'll
+  be cropped if they're too big for the display. This is the same as the
+  behavior in previous versions. Set to "fillscreen", rEFInd now scales the
+  banner image (larger or smaller) to fill the display.
+
+- Adjusted the post-installation script in refind.spec (used to generate
+  RPMs, and therefore also indirectly Debian packages) to search for
+  existing shim program files under the filesnames shim.efi and shimx64.efi
+  rather than just shim.efi. Ubuntu uses shimx64.efi, so Debian packages
+  were failing to detect Ubuntu's shim in previous versions. (Note,
+  however, that Ubuntu's early shim 0.1 is unsuitable for use with rEFInd
+  The newer 0.4 version that's in the repositories now should work fine;
+  it's only when installing on an older system that's NOT been updated that
+  problems might arise.
+
+0.7.7 (1/3/2014):
+-----------------
+
+- Can now specify complete paths, optionally including volumes, in
+  dont_scan_files.
+
+- Added shimx64.efi to the default dont_scan_files list.
+
+- Added windows_recovery_files token, to specify what program(s) launch a
+  Windows recovery utility; and the "windows_recovery" option to
+  "showtools," to control whether or not to display the Windows recovery
+  utility on the second row of icons.
+
+- The use_graphics_for, also_scan_dirs, dont_scan_dirs, dont_scan_files,
+  and scan_driver_dirs tokens in refind.conf now support "+" as the first
+  option, which causes the remaining options to be added to the default
+  value rather than replacing that value. (This has no practical effect for
+  scan_driver_dirs, though, since it has a null default value.)
+
+- Added support for specifying the configuration file at program launch,
+  via the "-c" parameter, as in "refind_x64.efi -c foo.conf" to use the
+  foo.conf file as the main configuration file.
+
+- Scans of ext2/3/4fs and ReiserFS partitions now omit partitions with
+  duplicate filesystem UUIDs. These are likely parts of RAID arrays and so
+  would have the same boot loaders or kernels as the first one with a given
+  UUID.
+
+- Added feature in install.sh: Script now tries to locate and mount an ESP
+  in Linux, if it's currently unmounted.
+
+- Fixed bug in mkrlconf.sh and install.sh that caused a stray line break
+  and PARTUUID= specification to appear in generated refind_linux.conf file
+  under some circumstances.
+
 0.7.6 (12/15/2013):
 -------------------