github dakanji/RefindPlus v0.13.2.AN

latest releases: v0.14.2.AA, v0.14.1.AA, v0.14.0.AC...
2 years ago

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

Footnotes

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

Don't miss a new RefindPlus release

NewReleases is sending notifications on new releases.