Skip to content

Releases: RefindPlusRepo/RefindPlus

v0.13.3.AC

Choose a tag to compare

@dakanji dakanji released this 06 Dec 18:56
  • Adds NvramProtectEx Feature
    • Extends the NvramProtect feature (if set) to Mac OS and Unknown UEFI boots
    • The feature can be enabled using a new nvram_protect_ex configuration token
      • Replaces the FocusNvramFix feature which has been removed
      • Essentially restores functionality from EnableMacosFilter previously replaced by FocusNvramFix
  • Fixes QueryVariableInfo Handling
    • Now properly handled on UEFI-Mac units
    • The output is not currently presented however as Apple firmare does not return accurate information
  • Fixes Misc Static Analysis Flags
    • Some are related to filesystem drivers; for which updated versions are created accordingly
  • Improves SetVariable Hook/Event Handling
    • Misc improvements including improved memory management
    • Relevant to the NvramProtect feature
  • Improves Mac Recovery Tool Scan
    • Now skips some invalid entries such as APFS Recovery partitions
  • Improves ScreenShot Feature
    • Now clears the keystroke buffer in egScreenShot to mitigate against stuck keys
  • Improves Clean NVRAM Feature
    • Particularly regarding clearing OpenCore related variables
  • Improves Time Bound Primed Buffer Mitigation
    • Rationalises intervention threshold
  • Improves UI Element Scaling
    • Some units use a low resolution display for the boot stage that result in distorted UI
    • RefindPlus can now detect this and automatically scale UI elements down accordingly
    • Alternatively, users can use the scale_ui token to scale UI elements down
    • The threshold below which the display is considered LoRez is 1025px
    • Ensures correct icon scales are maintained on RescanAll calls
  • Amends SupplyNVME and SupplyUEFI Features
    • No longer supplied by default but when specifically activated
    • Hence, the "Opt-Out" decline_nvme_load token has been replaced by an "Opt-In" supply_nvme token
    • The "Opt-Out" decline_uefi_emulate token has also been replaced by an "Opt-In" supply_uefi token
    • A previous failure to be activated when NVME support was absent has been fixed
  • Renames Misc Configuration Tokens
    • decline_tags_help to decline_help_tags
    • decline_text_help to decline_help_text

v0.13.3.AB

Choose a tag to compare

@dakanji dakanji released this 06 Sep 09:41
  • Adds PreferUGA Feature
    • Sets RefindPlus to always use UGA for its graphics output when available
      • The default is to use GOP and to fall back on UGA when GOP is not available
    • The feature can be enabled using a new prefer_uga configuration token
  • Adds FollowSymlinks Feature
    • Allows following symbolic links to loaders
    • These are otherwise ignored to avoid misc issues but may be useful to run some Linux setups
    • The feature can be enabled using a new follow_symlinks configuration token
  • Adds FocusNvramFix Feature
    • Focuses the ProtectNVRAM feature (if set) on explicit UEFI Windows boots
    • The feature can be enabled using a new focus_nvram_fix configuration token
      • Replaces the EnableMacosFilter feature which has been removed
  • Fixes Unwanted APFS Data Volume Entries
    • APFS data volumes could sometimes appear as boot options due to inadequate filtering
  • Fixes SubScreen Boots
    • Boots from subscreens, such as after pressing F2, were handled as generic UEFI files
    • This resulted in some processes being skipped or unwanted processes being applied
    • RefindPlus now tries to make such boots specific as follows:
      • Opencore, Clover, Linux, MacOS, Windows and Misc Others
  • Fixes Apple Hardware Test Option
    • While Apple stopped providing this feature after June 2013, some users may have restored this
    • In such cases however, RefindPlus did not provide the option on APFS volumes when SyncAPFS is active
    • Now reinstated subject to not having multiple MacOS instances in any single APFS container
  • Fixes Misc Items
    • Always block UEFI Windows NVRAM items (Disregard Volatility)
    • Address misidentification of certain volume types as HFS+ volumes
    • Address misplaced Out and Return log tags
    • Eliminate excessive pointer event logging
    • Eliminate python script code smells
  • Improves System Reset Call Fix
    • Was previously always active when on system reboot calls
    • This meant such calls always required confirmation
    • Such confirmations are no longer required if keypresses had taken place before the call
    • Hence all legitimate calls now proceed without issue and buffered keystroke calls are also captured
  • Improves FS Type Handling
    • Prevents Windows Support Volumes from being offered as boot options
    • Updates Volume FS_TYPE setting to match assumed types
    • Differentiates between HFS+ types
  • Improves Time Bound Primed Buffer Mitigation
    • Reduces intervention threshold based on detection of confirmed user key presses
  • Amends the ShouldScan Function to Exclude HFS+ Recovery HD Volumes
    • This recovery functionality was meant to be handled by the Mac Recovery Tool
  • Amends the WarnIfLegacyProblems Function Run Position
    • Now runs after the SetupScreen function to ensure screen display on issues
  • Amends EFI Scan to Exclude BOOTCAMP
    • BootCamp creates HybridMBR disks and trigger redundant attempts to find EFI loaders
  • Ports Downstream Directory Scan Iteration Fix

v0.13.3.AA

Choose a tag to compare

@dakanji dakanji released this 07 Jun 11:06
  • Synced with Upstream v0.13.3
  • Adds EnableMacosFilter Feature
    • This feature is active by default and activates the ProtectNVRAM feature, if enabled, on MacOS boots
    • The ProtectNVRAM feature, if enabled, is activated for other applicable OS types regardless
    • The EnableMacosFilter feature can be disabled using a new decline_macos_filter configuration token
  • Adds DisableNvramPanicLog Feature
    • Sets a MacOS nvram_paniclog=0 boot argument to disable kernel panic logging to NVRAM
    • Replaces the PanicFilter feature which has been removed
  • Adds NvramVariableLimit Feature
    • Filters NVRAM variable write attempts
    • Variables larger than a specified size are discarded
    • This is activated by a new nvram_variable_limit configuration token
  • Adds DecoupleKeyF10 Feature
    • Unlinks the F10 key from the built in screenshot feature
    • Allows the use of 3rd party screenshot tools that also map the F10 key
    • The \ (forward slash) key remains linked to the built in screenshot feature
    • This is activated by a new decouple_key_f10 configuration token
  • Fixes DisableAMFI Feature
    • The feature had been disabled under some circumstances
    • This bug was introduced in v0.13.2.AP (Commit 8705fdb)
  • Improves HandleSignedInt Function
    • Ensures the function always returns a negative value when required
  • Improves FindMenuShortcutEntry Function
    • Now initially tries a exact match of the stored string against available entries
    • A match against substrings is only tried if an exact match is not found
  • Improves Pointer Device Handling
  • Renames Misc Configuration Tokens
    • decline_nvramprotect to decline_nvram_protect
    • decline_uefiemulate to decline_uefi_emulate
    • decline_espfilter to decline_esp_filter
    • decline_apfsload to decline_apfs_load
    • decline_apfsmute to decline_apfs_mute
    • decline_apfssync to decline_apfs_sync
    • decline_nvmeload to decline_nvme_load
    • decline_tagshelp to decline_tags_help
    • decline_texthelp to decline_text_help
    • decline_applefb to decline_apple_fb

v0.13.2.AP

Choose a tag to compare

@dakanji dakanji released this 19 Apr 08:23

Change 01: 21 Apr 221.


  • Adds PanicFilter Feature
    • RefindPlus now discards NVRAM write attempts of kernel panic information by default
    • Can be disabled using a new decline_panicfilter configuration token
    • Currently limited to when directly booting MacOS from RefindPlus
  • Adds SupplyAppleFB Feature
    • Attempts to provide AppleFramebuffers on Macs when absent under certain circumstances
    • Can be disabled using a new decline_applefb configuration token
  • Adds TextHelp Feature
    • Uses complementary text colours to improve legibility
    • Can be disabled using a new decline_texthelp configuration token
      • Only when using a custom title banner
      • Always on when using the default title banner
  • Adds IconRowMove Feature
    • Allows repositioning the icon row position on the RefindPlus screen
      • Sometimes needed when icons block parts of custom banners
    • Base position can be specified using a new icon_row_move configuration token
  • Adds IconRowTune Feature
    • Allows adjustments to the IconRowMove position
    • Offset value can be specified using a new icon_row_tune configuration token
  • Adds RansomDrives Feature
    • Some types of firmware, notably on HP Notebooks, may lock some partitions
      • This renders them inaccessible or may even lead to RefindPlus hanging
    • Such partitions can be unlocked by setting a new ransom_drives configuration token
    • This option is currently always disabled on Apple firmware
  • Adds RescanDXE Feature
    • Controls scanning for newly revealed DXE drivers when connecting handles
      • Switch ON or OFF with a new disable_rescan_dxe configuration token
    • This was previously done by default but may negatively impact loading speed
    • Typically only required when running non-native filesystems
  • Adds DriverPriority Feature
    • Asigns a higher priority to drivers loaded by RefindPlus
    • Ensures that such are loaded when other similar drivers exist (mainly in the firmware)
    • Currently tied to the RansomDrives Feature and only activated when that feature is active
  • Adds HaltSeconds Function
    • Works as PauseSeconds does, but does not terminate on keypress
  • Fixes Unicode Collation
    • Now checks for and uses Unicode Collation Protocol instances that support English
    • Previously simply selected the first instance found (Inherited)
    • This should allow proper support for languages using unicode text
  • Improves UEFI Runtime Function Wrapping
    • The wrapped UEFI Runtime SetVariable function is now better managed
  • Improves TransientBoot Feature
    • Now removes pre-existing PreviousBoot instances when booting with this option set
  • Improves DirectBoot Feature
    • Previously failed when a keyboard was not connected
    • Minimises screen shudder when the ESC key is held down to override DirectBoot
  • Improves ScreenShot Feature
    • Properly limited to one (1) sreenshot per keypress
      • Removes limitation of the keypress not continuing beyond the on-screen message display
    • Fixes Screenshots being only functional for the main RefindPlus screen
      • This bug was introduced in v0.13.2.AN (Commit 99da7ce)
  • Improves HandleSignedInt Function
    • Removed limitation on handled values
  • Improves egDisplaymessage Function
    • Now includes option to pause in the function
      • Previously needed a separate call
    • Now erases the message after the display (if a pause is invoked)
      • Previously only properly erased when called on the main screen
      • The erasure was however also lost on the main screen when IconRowMove and/or IconRowTune is active
      • Now fixed for all screens but artefacts may result with some custom banners
  • Improves CleanNvram Feature
    • The Emulated NVRAM on the filesystem is now also cleared
    • Now triggers NVRAM garbage collection on Macs when run
      • This is an equivalent of manually setting nvram ResetNVRam=1
  • Improves ProtectNVRAM Feature
    • Adds rEFIt Variant to UEFI Loaders filtered for ProtectNVRAM
      • Made up of RefindPlus, rEFIt and rEFInd files chain-loaded from named locations
      • The ProtectNVRAM feature is not enabled for such loaders
    • Now checks new NVRAM write entries against existing entries
      • Only updates the entries when absent or different
      • Filtering these reduces NVRAM writes and associated wear and tear
    • Expands blocked SecureBoot related items
    • Now clears existing instances of blocked variables
    • Adds UnlockID and UnlockIDCopy to filtered items
      • These are not certificates but work in concert with the certificates
      • Hence, not required once certificates are filtered
      • Filtering these reduces NVRAM writes and associated wear and tear
    • Filters out the Current OEM Policy from post-block clean up
      • Removal may have negative impact on UEFI-PC
      • Not strictly needed as ProtectNVRAM is currently limited to Apple Firmware
      • Considered best to add a filter now in case that changes in future
  • Improves Identification of Linux Instances
    • vmlinuz, bzImage, and kernel loaders are now accounted for as Linux loaders
    • The ProtectNVRAM feature is now not applied to such loaders
    • The grub loader was already accounted for
  • Improves OS Boot Filtering
    • The OSType flag is now taken into account
  • Improves Load Error/Warning Display
    • The ContinueOnWarning feature is forced on temporarily if required
  • Improves Time Bound Primed Buffer Mitigation
    • Mitigates against RefindPlus spontaneously running default items
    • Intervention is based on a rising threshold based on build type and presence of Apple firmware
    • Also doubles threshold time when external disks are detected
      • The issue appears to be worse when such disks are connected
  • Removes BootKicker feature
    • The feature was added as part of attempts to provide the RefindPlus screen on MacPro5,1
    • This was ultimately achieved via other means but the feature was maintained for potential benefits
    • The feature never actually worked properly however, hence the removal
  • Amends GOP Mode Selection Preference
    • RefindPlus defaults to selecting the maximum resolution GOP Mode when a screen resolution is not specified
    • When two modes have the same resolution, the later mode was used
    • This is now changed to prefer the first mode found
  • Amends OpenProtocol Remapping on Macs without AppleFramebuffers
    • The remapping is now disabled when GOP is absent on any type of firmware
    • It is now also disabled when AppleFramebuffers are absent on Apple firmware
    • This is to avoid potential memory management issues pending further investigation
  • Amends Default Loader Scan for APFS Support Volumes
    • APFS Recovery, Update and VM volumes are now added to the DontScanVolume list by default
  • Amends Scan for .VolumeIcons and VolumeBadges
    • Volumes in the DontScanVolume list are now skipped
  • Amends System Table Reallocations
    • No longer copies memory for system table reallocations
    • Some Mac models fail to boot with this following recent firmware updates
    • Other recent changes to RefindPlus may have also affected booting 'FileVault' encrypted volumes
  • Amends HandleProtocol Stashing
    • No longer stashes and restores HandleProtocol on OcProvideConsoleGop call
  • Renames the SilentBoot Feature as DirectBoot
    • This more accurately describes the feature.
  • Renames Misc Tokens to Permit Grouping of Related Tokens
    • The uga_pass_through token is renamed as pass_uga_through
    • The XYZ_hidden_icons tokens are renamed as hidden_icons_XYZ
    • The XYZ_renderer tokens are renamed as renderer_XYZ
  • Extends fixes on Mac Recovery Implementation for MacOS on APFS
    • Adjusted to cover all MacOS instances on APFS
    • APFS Recovery Volumes are handled as Mac Recovery Tools and not as volumes with loaders
    • IMPORTANT:
      • This implementation is still a work in progress ... feedback required/welcome

  1. Updated attached files to include post release PanicFilter feature fix

v0.13.2.AN

Choose a tag to compare

@dakanji dakanji released this 08 Feb 06:29

Change 01: 23 Feb 221.


  • Multiple Misc Stability Fixes
    • Major refactoring and restructuring for improved stability
    • Also applied to filesystem drivers
  • Adds SupplyUEFI Feature
    • Adds an implementation of the CreateEventEx feature to EFI 1.x units
    • Additionally, the EFI Revision is modified to present as UEFI 2.3
    • This allows the use of UEFI 2.x tools and drivers on Legacy EFI 1.x units in many cases
    • This is particularly the case on Legacy Macs, which already have amended EFI 1.x implementations
    • This functionality can be disabled by setting the decline_uefiemulate token
    • As an aside, the RuntimeServices table is now also amended in AmendSysTable
  • Adds SilentBoot Feature
    • RefindPlus inherited a mode where a default selection was run after an instant timeout
    • A shortcut key for a loader could also be pressed to run that particular loader instead
    • This mode is activated by setting the timeout config token to -1
    • However, the RefindPlus screen was briefly loaded before the target option was run
      • This created an unwanted screen flash and also removed the BGRT logo
    • The default selection is now run without showing the screen at all instead (Based on an upstream update)
    • The mode is now truly silent as there is no video output unless overridden (BGRT logos are maintained)
      • Override is initiated by holding down the ESC key immediately after starting RefindPlus
      • Shortcut keys can also be pressed
        • In such cases, the loader associated with the key will be run instead of the default
        • There will be no video output by RefindPlus similar to the default case
  • Fixes Forced TextRenderer
    • The TextRenderer feature is forced on in certain circumstances to enable text mode support
    • This appears to have resulted in conflicts on some Macs following a firmware update
    • The firmware update appears to have made changes to screen mode settings
    • The forced activation has been amended to avoid this issue
  • Fixes SystemTable Restoration
    • The code was previously not operational
    • This has now been fixed but is now limited to when SupplyUEFI is inactive
  • Fixes Major Memory Conflict
    • An item had been wrongly freed and resulted in random crashes when running loaders
    • This bug was introduced in v0.13.2.AC (Commit 6ed58c5)
  • Fixes DontScanVolumes for Synced APFS Instances
    • Limited to Single Instance APFS Containers
  • Fixes Reported LodePNG Name Collisions
    • This apparently affected Docker builds on Linux
  • Amends Handling of Inconsistent EFI Versions
    • RefindPlus now disables all functionality involving UEFI element changes when this is detected
    • A detection of inconsistent EFI versions suggests RefindPlus has been chain-loaded
    • This is most likely to be as a result of chain-loading from OpenCore with ForgeUefiSupport set
    • The disabled features can typically also be set in OpenCore
  • Improves ProtectNVRAM Implementation
    • RefindPlus classifies UEFI Loaders into one of the following categories:
      • Opencore, Clover, Linux, MacOS, Windows and Others
    • Only security certificates generated by Windows UEFI Loaders were blocked by ProtectNVRAM
    • However, UEFI Windows installers/updaters may fall into the Others category and generate such certificates
    • Hence, certificates generated by UEFI Loaders that fall into the Others category are now also blocked
    • The feature remains only active on Apple firmware and can be disabled by setting the decline_nvramprotect token
  • Improves SyncAPFS Implementation
    • The presence of valid VolUUID and PartGUID is now taken into account
    • SyncAPFS is disabled if either has a NULL Guid value
  • Improves Screenshot Feature
    • Feedback on success/failure is given via on-screen messages
    • Each press of the F10 key now results in only one image being saved
      • This is subject to the key press not continuing beyond the on-screen message display
  • Improves Memory Management
    • Multiple memory management improvements
  • Improves Build Process
    • RELEASE builds are further optimised
      • The MDEPKG_NDEBUG EDK2 functionality is leveraged to:
        • Reduce file size
        • Ensure consistent files on different builds
          • EDK2 otherwise only guarantees functional consistency
          • This now enforces additional structural consistency
          • Builds with different file paths will now be the same
    • Calls to ASSERT, and similar, are activated on DEBUG Builds
      • Failed ASSERT calls put RefindPlus into a Deadloop
    • Enables NOOPT Build Target
      • This is a debug build with misc compile time optimisation items disabled
      • Log Level 2 is only exposed on this build target
    • The REFIT_DEBUG define has been converted to a compiler option
      • The constant is no longer defined in global.h and instead set in RefindPlus.inf
      • This change removes the need for compile time edits to set build targets
      • The requirements are now managed transparently by the build process itself
    • The various *.inf files for filesystem drivers etc, have been standardised
      • These now follow a clearer standard format
  • Renames the ignore_previous_boot config option as transient_boot
    • This more accurately describes the feature.
      • The current boot selection is not saved, it becomes transient, but any previously saved boot is set as the default

  1. Added Alt-RefindPlus_x64-001302.AN package. This includes post release fixes for failure to boot on some machines.

v0.13.2.AM

Choose a tag to compare

@dakanji dakanji released this 12 Dec 23:25

Change 01: 19 Dec 211.
Change 02: 23 Dec 212.


  • Reverts Ported APFS Volume Group Identification
    • Does not appear the APFS Volume Group ID was correctly retrieved
    • This resulted in Mac OS volume instance conflicts
    • NOTE: Multi-Instance APFS Container restrictions now apply again
  • Refer to v0.13.2.AK and v0.13.2.AL for Other Relevant Changes

  1. Updated attached files to include post release fix for REL build crashes in some instances

  2. Updated attached files with cleaned up version

v0.13.2.AL

Choose a tag to compare

@dakanji dakanji released this 12 Dec 15:33
  • Adds "ExternalHiddenIcons" Feature
    • Sets RefindPlus to also scan external volumes for ".VolumeIcon" icons
    • This is a port of the downstream "AllHiddenIcons" feature by GitHub user @joevt
    • Amended and renamed to reflect the target disk kind
  • Improves "ScreenRGB" Feature
    • The handling of the embedded title banner has been improved by leveraging transparency
    • This significantly reduces the overall file size and ensures backgrounds are fully matched
    • This is a port of the downstream implementation by GitHub user @joevt
  • Fixes 'BootKicker' and 'CleanNvram' Amongst Others
    • Misc memory management defects had disabled both
  • Fixes for 'BTRFS' and 'NTFS' Filesystem Drivers from GitHub user @joevt
    • BTRFS: Fixes file creation date bug
    • NTFS: Fixes file creation date bug
    • NTFS: Fixed "attribute_sparse" and "attribute_encrypted" which were not testing some flags correctly
      • The field is a USHORT (Unsigned 16-bit integer) but was handled as BYTE (Unsigned 8-bit integer)
    • NTFS: Fixes a bug where "read_attribute_direct" could write outside the attribute destination buffer.
      • "olen" can become negative and could be passed to "CopyMem", which requires an unsigned length.
  • Improves 'SyncAPFS'
    • APFS Volume Groups can now be identified along with the earlier identified 'Disk Roles'
    • This significantly improves determination of APFS Volume Types/Roles
    • Restrictions limiting some features to setups with only one APFS instance per container are now removed
    • This is a port of the downstream implementation by GitHub user @joevt
  • Amends Log Levels
    • LogLevel 0 remains as a native summary format
    • The previous upstream based four (4) log levels have been compressed to two (2) levels
    • LogLevel 4, which was not exposed by default, is now LogLevel 2, which is also not exposed by default.
    • LogLevel 2 is exposed when the "REFIT_DEBUG" build flag is set to two (2) at compilation time.
      • Set this in "BootMaster/globalExtra-DBG.txt" if using the RefindPlusUDK build script
    • Unless LogLevel 2 is exposed when compiling, selected levels above one (1) will be capped at LogLevel 1
    • When LogLevel 2 is exposed, selected levels above two (2) will be capped at LogLevel 2
  • Initial activation of fixes on Mac Recovery For Mac OS 11 (Big Sur) and Later
    • IMPORTANT:
      • This implementation is still a work in progress ... feedback required/welcome
  • Refer to v0.13.2.AK for Other Relevant Changes

v0.13.2.AK

Choose a tag to compare

@dakanji dakanji released this 07 Dec 07:51
  • Adds "SupplyNVME" Feature
    • A built in NvmExpress driver is loaded by default to provide NVMe support if required
    • This functionality can be disabled by setting the 'decline_nvmeload' token
    • With this feature, in addition to SupplyAPFS, firmware patching is no longer required on MacPro3,1 and XServe2,1
  • Adds "ScreenRGB" Feature
    • Allows overriding the default background colour selection process
    • Users can now specify RGB values to be used instead
  • Fixes Display of Mac Recovery Tool Name in RELEASE builds
    • The variable holding the Mac Recovery tool name was wrapped in "Debug" tags
    • Hence the tool name was not displayed in RELEASE builds
  • Initial fixes on Mac Recovery For Mac OS 11 (Big Sur) and Later
    • The Mac Recovery implementation inherited by RefindPlus was designed for the HFS+ filesystem
    • Hence, it does not recognise recovery volumes of Mac OS versions with full APFS implementation
      • Mac OS 10.13 (High Sierra) to Mac OS 10.15 (Catalina) have partial/transitional APFS implementations
      • Mac OS 11 (Big Sur) and newer have full APFS implementations
    • ADDITIONAL NOTES:
      • This implementation does not support setups with more than one APFS instance in a single container
      • This implementation is still a work in progress
  • Fixes Compilation Issue on Recent GNU-EFI Versions
    • Synced with upstream update as well as an existing issue with 'REFIT_CALL_X_WRAPPER'
    • GNU-EFI compilation of RefindPlus is likely broken overall
  • Fixes 'TagsHelp' Feature
    • Was inverted ... active when decline_tagshelp was set and vice versa after renaming the feature
    • This bug was introduced in v0.13.2.AH (Commit 1b043c3)
  • Fixes Failure to Set Volume Badges and .VolumeIcon files on APFS Volumes
    • The items were skipped by optimisation meant to only skip such on APFS System Volumes for SyncAPFS
    • This bug was introduced in v0.13.2.AH (Commit d87d3fb)
  • Fixes Memory Management
    • The 'MyFreePool' function implementation did not actually free items passed
    • Similarly, the 'ReleasePtr' function that called this was non operational
    • This affected the operation of various elements across the board
    • Both functions have now been consolidated into a new 'MY_FREE_POOL' macro
    • This bug was introduced in v0.13.2.AD (Commit 65e5083)
  • Fix BTRFS Filesystem Driver Build
    • The BTRFS filesystem driver had been excluded from RefindPlus builds from the start of the project
    • This was due to inherited issues with EDK2 builds of the driver ... rEFInd Build Notes
    • The build issues were resolved by GitHub User "joevt" and have been incorporated into RefindPlus
  • Improves Time Bound Primed Buffer Mitigation
    • Mitigates against RefindPlus spontaneously running default items
    • Intervention is now based on a minumum 1.25 second interval between load and run attempt
    • Extended scope now covers Mac OS again (previously removed)
  • Improves 'ProtectNVRAM' Implementation
    • Now ensures this is reset on each loop through the RefindPlus Main Loop
    • This ensures the filtering is not on if UEFI Windows boot fails
    • Only has cosmetic relevance but best practice
  • Improves 'Manage Firmware Boot Order' Implementation
    • Now confirms selected action before execution to minimise the chances of making unwanted changes
  • Amends 'ScaleUI' Implementation
    • Now checks the resolution of the longest and shortest sides for automatic scaling
    • Previously only checked the vertical resolution
    • This allows rotated screens to be properly accounted for
    • Some rare monitors, such as the 30" Apple Cinema Display, may be wrongly identified as HiDPI
    • This is because EDID information is not used at this time
    • However, the more common WQHD monitors are correctly identified as not being HiDPI monitors
    • Laptops with 'Retina' screens should be correctly identified as having HiDPI monitors
  • Amends Log Levels
    • The previous upstream based four (4) log levels have been compressed to three (3) levels
    • LogLevel 5, which was not exposed by default, is now LogLevel 4, which is not exposed by default.
    • LogLevel 4 is exposed when the "REFIT_DEBUG" build flag is set to two (2) at compilation time.
      • Set this in "BootMaster/globalExtra-DBG.txt" if using the RefindPlusUDK build script
    • Unless LogLevel 4 is exposed when compiling, selected levels above three (3) will be capped at LogLevel 3
    • When LogLevel 4 is exposed, selected levels above four (4) will be capped at LogLevel 4

v0.13.2.AJ

Choose a tag to compare

@dakanji dakanji released this 06 Oct 07:56
  • Fixes 'PreBoot' Volume Filtering in REL Builds
  • Deactivates Log Level 5
  • Refer to v0.13.2.AH for Other Relevant Changes

v0.13.2.AH

Choose a tag to compare

@dakanji dakanji released this 05 Oct 15:32
  • Adds "PreferHiddenIcons" Feature
    • This functionality allows prioritising the use of ".VolumeIcon" image icons for loaders
  • Adds Non-Standard UEFI 2.x Implementation Resilience
    • Some UEFI 2.x implementations may be incomplete with some functionality missing
    • This is typically due to customisation of the firmware as on Late Intel Macs such as the MacMini8,1
    • This affected running the DEBUG build on such units
    • RefindPlus now accommodates this situation.
  • Adds Forced Shutdown on Secure Boot Setup Failure
    • RefindPlus will now shutdown if meant to use secure boot but this could not be set up
  • Fixes Failure to Detect Linux Partitions
    • Linux partitions were not detected and therefore, could not be booted by RefindPlus
  • Fixes Implicit Casting of Some Config Integers
    • Some config tokens that could take negative values such as "screensaver" were handled as Unsigned Integers
    • These are now correctly handled as Signed Integers
  • Fixes Driver Loading from User Defined Folders
    • Drivers in folders defined by the 'scan_driver_dirs' configuration token were not loaded in some instances
    • This was because the routine expected the defined paths to not include the installation folder path
    • This expectation was not specified however, meaning some users included the path in 'scan_driver_dirs'
    • This expectation has now been removed and the installation folder path may or may not be included
  • Fixes Switching External Screens to Text Mode
    • External screens switched to text mode were functional but elements, such as the header, were missing
    • This has now been fixed along with properly disabling the cursor
  • Fixes Hang on Runtime Pauses
    • RefindPlus hung on runtime pauses initiated before the main menu was loaded
    • This was due to an absence of the Event Waitlist in such situations
    • The Waitlist is now always generated on runtime pauses if not present
  • Fixes Static 'PreviousBoot' Setup
    • The actually booted loader was not recorded if a tool had been run beforehand
    • Such previously set tools could only be changed by manually deleting the NVRAM entry
    • The intented outcome of having a static setup could not be realised as envisaged
    • This bug was introduced in v0.13.2.AG (Commit add53ba)
  • Fixes Failure to set 'PreviousBoot' on Text Mode Boots
    • The 'PreviousBoot' variable was not saved when running loaders in text mode
    • This bug was introduced in v0.13.2.AA (Commit 74d70fb) and exposed in v0.13.2.AG (Commit 4590047)
  • Fixes Graphics Mode Selection in Multi-GPU Setups
    • When more than one GPU is present, RefindPlus always tried to use the GOP instance from the last processed GPU
    • The GPU with a GOP instance having the highest resolution is now selected instead (as intended)
    • NB: RefindPlus does not check whether a GPU is actually connected to a display
      • Hence, a blank display will result if the highest resolution GPU is not connected
    • This bug was introduced in v0.12.0.AN (Commit 62e6fe8)
  • Mitigates Text Mode Selected Menu Item Display
    • The selected item in text mode menus was not displayed
    • The selections had to be toggled to display the item
    • RefindPlus now works around this issue by automatically toggling such menu items
    • This toggling may however not happen on some units
  • Improves Mac Recovery Tool Identification
    • RefindPlus now attempts to associate Apple Mac Recovery Tool instances to specific Mac OS Volumes
    • The same generic name was previously used for all instances
    • This had made it difficult to know which volume a specific recovery instance applied to
  • Improves Keystroke Flushing
    • Device errors are returned when attempting to read keystrokes under some conditions
    • This appears to typically only happen on UEFI PC
    • RefindPlus now further attempts to ensure the read takes place and/or mitigate the impact
  • Improves APFS Volume Role Identification
    • APFS volume roles are now identified by their predefined 'Disk Roles' when possible
    • Additionally, the 'SyncAPFS' feature has been optimised for faster completion
  • Improves APFS Partition Type Detection
    • RefindPlus Primarily used the Partition Type Guid to identify APFS Partitions
    • Some UEFI PC may however not provide a Partition Type Guid for APFS volumes
    • This affected the operation of the SyncAPFS feature which had to be disabled on such units
    • RefindPlus can now determine APFS partitions when the Partition Type Guid is not present
  • Improves 'PreviousBoot' Implementation
    • Only Loaders (Row 1 Items) are now saved as 'PreviousBoot' when this is configured to be saved
    • Such Loaders are only saved after verification (not regardless as was the case)
  • Improves 'IgnorePreviousBoot' Implementation
    • This token is now enforced everywhere when set
    • Setting '+' under the 'default_selection' token will therefore have no effect in such cases
    • NB: Setting 'default_selection "+"' remains equivalent to commenting that token out
      • This default setting will continue to function as before
  • Improves NVRAM Management
    • NVRAM Entries (Emulated and Hardware) are fully cleared before new entries are made
  • Improves Graphics Mode Selection
    • Eliminates unnecessary iteration over UGA/GOP modes when only one UGA/GOP instance exists
    • This improves loading speed.
  • Extends Memory Management Fixes
    • Additional memory management improvements
  • Renames Misc Configuration Tokens
    • 'ignore_volume_icns' to 'ignore_hidden_icons'
    • The 'decline_XYZ' format is now used for options to disable divergent defaults
      • 'scan_other_esp' to 'decline_espfilter'
      • 'ignore_tag_help' to 'decline_tagshelp'
      • 'sync_apfs' to 'decline_apfssync' ('SyncAPFS' is now active by default)
      • 'supply_apfs' to 'decline_apfsload' ('SupplyAPFS' is now active by default)
      • 'silence_apfs' to 'decline_apfsmute' ('SilenceAPFS' is now active by default)
      • 'protect_nvram' to 'decline_nvramprotect' ('ProtectNVRAM' is now active by default)
      • 'reload_gop' to 'decline_reloadgop' ('ReloadGOP' is now active by default)