Skip to content

v0.13.2.AP

Compare
Choose a tag to compare
@dakanji dakanji released this 19 Apr 08:23
· 229 commits to GOPFix since this release

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