X-Git-Url: https://code.delx.au/refind/blobdiff_plain/38d3f7994bd4a51e4a6e79372f33e135ef61b805..cc569e417727dfb70b3f1271d1fa4454f8753716:/NEWS.txt diff --git a/NEWS.txt b/NEWS.txt index 8ca9348..7800880 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,6 +1,210 @@ -0.10.1 (??/??/201?): +0.10.6 (??/??/2017): +------------------ + +- Two more improvements to initrd detection for Linux kernels: + - Do not choose an initrd that has no matching version characters with + the kernel version string. + - In order to support Arch Linux kernel naming the strings "linux" + and "linux-lts". So "vmlinuz-linux-lts" has version "linux-lts", + which matches "initramfs-linux-lts.img". + +0.10.5 (3/4/2017): +------------------ + +- Two improvements to initrd detection for Linux kernels: + - If multiple initrd files match the kernel's version number, the file + with more matching characters after the version number is used, rather + than the first initrd file found. + - The "%v" string, if present in the refind_linux.conf file's second + field, will be replaced by the kernel version number. Thus, you can + specify options like: + "Boot with standard initrd" "ro root=/dev/sda2 initrd=initrd-%v-std" + "Boot with debug initrd" "ro root=/dev/sda2 initrd=initrd-%v-debug" + This enables using multiple initrd files per kernel, to be used for + different purposes. + +- Minor code optimization. + +- Add new key mappings: Backspace (Delete on Mac keyboards) works the same + as Esc, and Tab works the same as F2/Insert/+. This is done for the + benefit of new Apple laptops that lack physical Esc and function keys. + +- Fix to refind-install to work better with disks other than /dev/sd? and + /dev/hd? devices. + +- Fixes to touch/tablet support to improve reliability. + +0.10.4 (10/9/2016): +------------------- + +- Fixed compile problem for drivers with recent versions of GNU-EFI + (3.0.4, maybe 3.0.3). + +- Fixed bug that could cause program crash on startup. (In practice, it + manifested with GNU-EFI starting with version 3.0.3 or 3.0.4.) + +- An anonymous contributor has provided support for touch screens. This + support requires that the "enable_touch" token be used in refind.conf. + Note, however, that not all tablet computers have EFIs that provide the + necessary support in the firmware. + +- Martin Whitaker contributed 64-bit support to the ext4fs driver, which + makes it compatible with ext4fs as written by some recent Linux + distributions. + +- Tweaked refind-install to do a better job of detecting disks other + than /dev/sd? and /dev/hd? devices. + +0.10.3 (4/24/2016): +------------------- + +- Altered RPM & Debian installation scripts so as to NOT call sbsign if + Secure Boot is disabled. This is a response to Ubuntu bug #1574372 + (https://bugs.launchpad.net/ubuntu/+source/sbsigntool/+bug/1574372): In + Ubuntu 16.04, the sbsign program is segfaulting randomly, which prevents + proper installation of the program. This change at least permits proper + installation IF Secure Boot is disabled. + +- Changed description of BIOS/CSM/legacy OS loaders on Macs to include the + string "(Legacy)", so as to more easily identify BIOS/CSM/legacy-mode OSes + in the rEFInd main menu. + +- Added recognition of the fwupx64.efi file as a firmware update tool. + This filename is excluded from the first-row launchers, and is instead + presented on the second row, controlled by the "fwupdate" item on the + "showtools" option line. It's enabled by default. Note that it's still a + bit unclear to me how this tool is supposed to be used. rEFInd launches it + with no options, but if it should take options, this will have to be + changed in the future. + +- Tightened exclusion of shell binary filenames from boot loader scan. + Previously, any filename containing the substring "shell" was excluded + from scans. Now it's tighter; only files matching one of the filenames in + the constant SHELL_NAMES in main.c are excluded. This change will enable + programs with names that include "shell", but that aren't in rEFInd's + SHELL_NAMES list, such as "shelly.efi", to be shown in the rEFInd main + menu. + +- Fixed bug in NTFS driver that caused it to hang (and thus hang the + computer) in some situations, particularly when a file on an NTFS volume + had many fragments and when the computer's CSM was activated. (Fix + courtesy of "S L.") + +- Modified SIP/CSR rotation code: If the csr-active-config EFI variable is + missing AND the firmware is Apple (as identified by the string "Apple" + being present in the ST->FirmwareVendor string), rEFInd treats the + computer as one on which SIP is available and set to the "enabled" state + (0x10). The upshot is that the SIP/CSR tool will appear if the showtools + and csr_values options are set appropriately in refind.conf, even if the + csr-active-config variable is missing from the NVRAM. The point of this + change is that I've received reports of some Macs that run OS X 10.11 but + that lack this variable. OS X acts as if SIP were enabled, but rEFInd is + then unable to disable SIP. This change gives rEFInd the ability to + disable SIP on such systems. The drawback is that the variable might be + set on some systems that don't run OS X 10.11. This should be harmless + from a technical point of view, but the presence of SIP indicators in + rEFInd could be confusing. + +- Added refind-mkdefault script to simplify resetting rEFInd as the default + boot program in Linux. The intent is to run this after GRUB, Windows, OS + X, or some other tool takes over as the primary boot manager. It can be + called from a startup script to handle this task automatically. + +0.10.2 (1/26/2016): +------------------- + +- Fixed bug in refind-install that caused mountesp to be installed as a FILE + called /usr/local/bin on OS X if the /usr/local/bin directory did not + already exist. + +- Fixed bug in mvrefind that caused it to fail to move bootmgfw.efi in + some situations, and another that caused it to give the resulting NVRAM + entry the default rEFInd name of "rEFInd Boot Manager," rather than the + intended "Windows Boot Manager" (to work around bugs in some EFIs). + +- Worked around bug/quirk in some EFIs (in HP ProBook 6470b laptop, at + least) that prevented EFI filesystem drivers from working. (Drivers would + load but not provide access to filesystems.) + +- Fixed refind-install bug that caused --usedefault option to not work in OS + X. (This bug did not affect Linux.) + +- Improved Secure Boot detection in refind-install in Linux. + +- 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.