X-Git-Url: https://code.delx.au/refind/blobdiff_plain/baa6e0951c75596a39e1416bc74ec5bbfe451d9a..672b9a0c278036e626685ab3439631c298909a22:/NEWS.txt diff --git a/NEWS.txt b/NEWS.txt index a04b68b..b9898dd 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,3 +1,145 @@ +0.9.3 (??/??/2015): +------------------- + +- Added new System Integrity Protection (SIP) rotation feature for Macs + running OS X 10.11 or later. This feature is disabled by default. 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): ------------------