OpenCorePkg/Changelog.md
vit9696 4e0ff2dfa7 OcConsoleLib: Added Apple variant of GopPassThrough
On MP3,1 with UGA there is a dangling UGA protocol with 1024x768
resolution on ConOut, which points nowhere when no Apple GPU is
installed. Installing GOP on it results in black screen due to
the wrong GOP being chosen for ConOut.

The workaround is not to install the GOP without AppleFramebufferInfo
but this is only applicable to Apple machines, thus the option.
2021-05-23 10:32:35 +03:00

34 KiB

OpenCore Changelog

v0.7.0

  • Fixed NVRAM reset on firmware with write-protected BootOptionSupport
  • Improved direct GOP renderer performance for certain cases
  • Added support for display rotation in direct GOP renderer
  • Fixed handling multinode device paths in LoadedImage and elsewhere
  • Changed OpenCanopy image directory to support directory prefixes
  • Changed OpenCanopy preferred image set to Acidanthera\GoldenGate
  • Removed <BOOTPATH>.icns and <TOOLPATH>.icns support
  • Added content flavour system allowing custom boot entry icons compatible across icon packs
  • Added automatic flavour detection for macOS boot entries
  • Added ProvideCurrentCpuInfo quirk to provide correct TSC/FSB for Hyper-V virtual machines
  • Added Hyper-V device path expansion to allow setting default boot volume
  • Added Apple variant of GopPassThrough to handle only AppleFramebufferInfo handles

v0.6.9

  • Fixed out-of-sync cursor movement rectangle when loading e.g. CrScreenshotDxe
  • Updated underlying EDK II package to edk2-stable202102
  • Applied consistent enforcement of required minimum Apple OEM Apple Event protocol version
  • Changed CustomDelays to less surprising boolean setting with failsafe of false
  • Changed key repeat failsafes and sample values to Apple OEM values
  • Changed PointerSpeedMul failsafe to Apple OEM value
  • Updated docs to include configuration of key repeat settings with and without KeySupport
  • Prevented 'set default' UI when action not permitted by security config
  • Added ForgeUefiSupport quirk to workaround legacy EFI 1.x firmwares compatibility
  • Added ReloadOptionRoms quirk to force-load Option ROMs on PCI devices
  • Added OC_ATTR_USE_MINIMAL_UI to allow running pickers with no Shutdown and Restart buttons
  • Added display of OpenCore version number to OpenCanopy as well as builtin picker, depending on existing ExposeSensitiveData bit
  • Added support for case-insensitive argument handling in the UEFI tools
  • Added vector acceleration of SHA-512 and SHA-384 hashing algorithms, thx @MikhailKrichanov
  • Fixed wraparound when using arrow keys in OpenCanopy
  • Updated builtin firmware versions for SMBIOS and the rest
  • Added bundled Linux versions for userspace utilities
  • Fixed fallback SMBIOS Manufacturer value to NO DIMM for empty slots
  • Fixed assertions when running OpenCanopy with low resolution, will fallbacks to builtin now

v0.6.8

  • Switched to VS2019 toolchain for Windows builds
  • Reduced legacy boot install interaction effort
  • Increased OpenCanopy rendering performance
  • Added OpenCanopy Shut Down and Restart buttons
  • Reduced OpenCanopy mouse pointer input lag
  • Fixed that cursor bounds could be different from OpenCanopy's
  • Improved builtin picker rendering performance
  • Added Memory Type decoding for SMBIOS in Automatic mode
  • Properly support setting custom entries as default boot options
  • Fixed creating log file when root file system is not writable
  • Fixed DisableSingleUser not being enabled in certain cases
  • Added ForceBooterSignature quirk for Mac EFI firmware
  • Fixed OpenCanopy sometimes cutting off shown boot entries
  • Further improved CPU frequency calculation on legacy CPUs
  • Fixed SMBIOS SMC version encoding sequence
  • Added TSC frequency reading from Apple Platform Info
  • Added TSC frequency reading for Apple devices with nForce chipsets
  • Added Base and BaseSkip lookup for ACPI patches
  • Fixed ACPI table magic corruption during patching
  • Fixed unnatural OpenCanopy and FileVault 2 cursor movement
  • Fixed OpenCanopy interrupt handling causing missed events and lag
  • Improved OpenCanopy double-click detection
  • Reduced OpenCanopy touch input lag and improved usability
  • Improved keypress responsiveness in OpenCanopy and builtin pickers
  • Improved non-repeating key detection in OpenCanopy and builtin pickers
  • Fixed Escape preventing OpenCanopy fade up until released, on some systems
  • Fixed fast repeat then stall issue with key handling on some PS/2 systems
  • Added accurate Shift+Enter/Shift+Index detection when using PollAppleHotKeys
  • Added 'set default' indicator to builtin picker
  • Replaced VerifyMsrE2 with ControlMsrE2 also allowing unlock on some firmwares
  • Fixed OpenCanopy flicker when refreshing the entry view
  • Added OpenCanopy TAB navigation support
  • Added OpenCanopy graphical password interface
  • Added OpenCanopy pulsing animation to signal timeout
  • Added OpenCanopy 'set default' indicator
  • Fixed OpenCanopy not aborting timeout on pointer click
  • Fixed OpenCanopy intro animation not scaling with UIScale
  • Add OpenCanopy boot entry label scrolling (fixes missing long labels)
  • Added tabbable Shutdown and Restart buttons to builtin picker
  • Fixed in-firmware shutdown for some systems running OpenDuet
  • Added Zero as alias hotkey for Escape, to force show picker if hidden
  • Added =/+ key as alias for CTRL to set default OS
  • Added additional support for configuring correct key repeat behaviour with KeySupport mode
  • Fixed CPU multiplier detection on pre-Nehalem Intel CPUs
  • Fixed incorrect handling of multiple processors and processor cache in SMBIOS
  • Matched default Apple boot picker cursor start position
  • Updated OpenShell devices command to support misaligned device names returned by some Apple firmware
  • Added (dmg) suffix to DMG boot options in OpenCanopy
  • Added identifiers for Rocket Lake and Tiger Lake CPUs
  • Added PickerAudioAssist 'disk image' indication
  • Fixed PickerAudioAssist indications played twice in rare cases
  • Improved OpenCanopy pointer acceleration
  • Added more precise control on AppleEvent protocol properties and features
  • Added dynamic keyboard protocol installation on CrScreenshotDxe
  • Support starting UEFI tools with argument support (e.g. ControlMsrE2) without arguments from picker
  • Fixed OpenCanopy font height calculation, may reject previously working fonts and mitigate memory corruption
  • Fixed incorrect identification of Xeon E5XXX/E5-XXXX and Xeon WXXXX/W-XXXX CPUs
  • Added RSDP, RSDT, and XSDT handling to NormalizeHeaders ACPI quirk

v0.6.7

  • Fixed ocvalidate return code to be non-zero when issues are found
  • Added OEM values to PlatformInfo in Automatic mode
  • Improved CPU frequency calculation on Haswell and earlier
  • Fixed issues when applying certain patches
  • Added SSN (and HW_SSN) variable support
  • Added onscreen early logging in DEBUG builds for legacy firmware
  • Added workaround for firmware not specifying DeviceHandle at bootstrap
  • Added support for R/O page tables in SetupVirtualMap quirk
  • Added OEM preservation for certain Apple SMBIOS tables
  • Fixed switching to graphics mode when entering OpenCanopy
  • Fixed installing Apple FB Info protocol when no GOP exists
  • Fixed abort timeout sound in OpenCanopy on key press
  • Added GopPassThrough option to support GOP protocol over UGA
  • Fixed CPU speed rounding for certain Xeon and Core 2 CPUs
  • Removed KeyMergeThreshold as it never functioned anyway
  • Added acdtinfo utility to lookup certain products
  • Fixed FSBFrequency calculation with fractional multiplier
  • Fixed showing core count for some AMD CPUs
  • Added ResetTrafficClass to reset TCSEL to T0 on legacy HDA
  • Fixed default boot entry selection without timeout for builtin picker
  • Added ocpasswordgen utility to generate OpenCore password data
  • Added ActivateHpetSupport quirk to activate HPET support
  • Fixed opencore-version reporting the incorrect version in rare cases

v0.6.6

  • Added keyboard and pointer entry scroll support in OpenCanopy
  • Added background image support in OpenCanopy
  • Fixed selector boot option choice in OpenCanopy
  • Relaxed selector dimensions for OpenCanopy
  • Added MaxBIOSVersion option to Generic
  • Fixed MLB verification feature in macrecovery
  • Replaced VBoxHfs driver with OpenHfsPlus
  • Added audio codec dumping to SysReport
  • Fixed compatibility with page protection for all binaries
  • Fixed crashes in OpenUsbKbDxe when handling unsupported devices
  • Removed HdaCodecDump application in favor of SysReport
  • Added SetApfsTrimTimeout to tune APFS trim command
  • Changed OpenCore.efi to application to improve FW compatibility
  • Added DisableSecurityPolicy UEFI quirk to workaround driver loading
  • Added support for ranged widget connections in AudioDxe
  • Fixed supplying non-RT SetVirtualAddressMap for non-macOS systems
  • Fixed using SystemUuid from DataHub in non-Automatic mode for SMBIOS
  • Dropped failsafe defaults from Generic to match non-Automatic mode
  • Replaced BootProtect with LauncherOption and LauncherPath
  • Added OpenPartitionDxe with Apple Partition Management scheme
  • Improved ocvalidate checks in Misc, NVRAM, and UEFI sections
  • Fixed multiple flaws in EFI image loading, APFS driver in particular
  • Fixed NVRAM system-id being accidentally stored in Little Endian format
  • Added UseRawUuidEncoding to choose SMBIOS UUID encoding style
  • Updated builtin firmware versions for SMBIOS and the rest

v0.6.5

  • Fixed installing OpenDuet on protected volumes
  • Updated underlying EDK II package to edk2-stable202011
  • Updated builtin firmware versions for SMBIOS and the rest
  • Fixed macrecovery server protocol compatibility
  • Added basic audio assistant support in OpenCanopy
  • Added compiled ACPI samples to the package
  • Fixed timer resolution restoration at boot time
  • Fixed memory capacity when using custom SMBIOS memory config
  • Removed no longer required DeduplicateBootOrder quirk
  • Fixed macserial crashes when processing invalid serials
  • Fixed macserial issues when processing 2021 year serials
  • Added advanced error checking in ocvalidate utility
  • Added SetupDelay to configure audio setup delay
  • Reworked LogoutHook.command to support older macOS
  • Implemented MP3 audio decoding for audio assistant support
  • Added support for PickerVariant for more theme variants
  • Added OC_ATTR_HIDE_THEMED_ICONS PickerAttribute for Time Machine
  • Fixed OpenUsbKb compatibility with certain keyboards

v0.6.4

  • Added BlacklistAppleUpdate to fix macOS 11 broken update optout
  • Dropped HII services from OpenDuet improving size and performance
  • Fixed patching of injected kexts in mkext
  • Added support for launching from relative paths
  • Added direct path passing for tools via RealPath
  • Allowed launching tools and entries in text mode via TextMode
  • Updated builtin firmware versions for SMBIOS and the rest
  • Fixed ACPI patches not applying if tables are in locked memory
  • Fixed EnableSafeModeSlide on macOS 11
  • Added AllowRelocationBlock quirk for older macOS and safe mode
  • Fixed CPU frequency calculation on AMD 19h family
  • Updated recovery_urls
  • Fixed DisableSingleUser quirk when Apple Secure Boot is enabled
  • Added BootstrapShort to workaround buggy Insyde firmware
  • Changed Bootstrap(Short) to choose dynamic entry (requires NVRAM reset)
  • Avoided Boot prefix in RequestBootVarRouting to workaround AMI issues
  • Added bootloader patch support in Booter Patch section
  • Fixed startup hang on firmware that permit timer function re-entrance
  • Made pointer control optional for OpenCanopy via PickerAttributes
  • Added support for StartupMute variable in PlayChime
  • Added support for per-volume icons for APFS on Preboot
  • Removed HII dependency from OpenUsbKbDxe driver
  • Fixed undefined behavior in OpenDuet causing random crashes and hangs

v0.6.3

  • Added support for xml comments in plist files
  • Updated underlying EDK II package to edk2-stable202008
  • Provide fallbacks for NULL memory SMBIOS strings
  • Fixed BOOTx64.efi and BOOTIA32.efi convention
  • Fixed SMBIOS handling with multiple memory arrays
  • Fixed memory array handle assignment on empty slots
  • Fixed CPUID patching on certain versions of macOS 10.4.10 and 10.4.11
  • Fixed incorrect core/thread counts on Pentium M processors
  • Added SSDT-UNC.dsl ACPI sample to resolve X99 issues, thx @RemB
  • Updated builtin firmware versions for SMBIOS and the rest
  • Increased slide allocation reserve to 200 MB for Big Sur beta 10
  • Fixed assert when trying to enable direct renderer on blit-only GOP
  • Added support for custom memory properties
  • Fixed intermittent 32-bit prelinking failures caused by improper Mach-O expansion
  • Fixed failures in cacheless injection dependency resolution
  • Fixed detection issues with older Atom CPUs
  • Fixed ScanPolicy NVMe handling on MacPro5,1
  • Fixed I/O issues on platforms incapable of reading over 1MB at once
  • Fixed plist-only kext injection in Big Sur
  • Add ForceResolution option for enabling non-default resolutions
  • Fixed Ps2MouseDxe not properly loading under OpenDuetPkg
  • Added workaround for read-only errors on some X299 boards
  • Added support for x86legacy Secure Boot model
  • Added missing Secure Boot NVRAM variables required by 11.0
  • Added setting of system-id NVRAM variable
  • Added ForceSecureBootScheme quirk for virtual machines
  • Fixed kernel and ACPI patches failing to replace last bytes of memory

v0.6.2

  • Updated builtin firmware versions for SMBIOS and the rest
  • Added ProcessorType option to Generic allowing custom CPU names
  • Fixed UnblockFsConnect option not working with APFS JumpStart
  • Added IA32 binary variant to the release bundles
  • Fixed improper handling of cacheless kexts without an Info.plist
  • Fixed improper calculation of kext startup address for blocking
  • Added mkext 32-bit kext injection (10.4-10.6)
  • Added cacheless 32-bit kext injection (10.4-10.7)
  • Added 32-bit kernel/kext patching/blocking support
  • Fixed issues loading 10.7 EfiBoot
  • Added Type to ReservedMemory to fulfil hibernation hack needs
  • Added workaround to displaying Preboot instead of Macintosh HD
  • Added prelinkedkernel 32-bit kext injection (10.6-10.7)
  • Added SystemMemoryStatus to override memory replacement on some models
  • Added older Pentium CPU recognition in SMBIOS
  • Added ExtendBTFeatureFlags to properly set FeatureFlags for Bluetooth (which substitutes BT4LEContinuityFixup)
  • Added MinKernel/MaxKernel to CPUID emulation and DummyPowerManagement
  • Fixed -legacy not being added in KernelArch Auto mode
  • Fixed i386-user32 not forcing i386 on macOS 10.7 on X64 firmware
  • Fixed i386-user32 being incorrectly enabled in macOS 10.4, 10.5, and 10.7
  • Disabled prelinked boot for macOS 10.4 and 10.5 in KernelCache Auto mode
  • Fixed macserial compatibility with iMac20,x serials and other models from 2020
  • Added LegacyCommpage quirk to improve pre-SSSE3 userspace compatibility
  • Fixed legacy SATA HDDs displaying as external drives in the picker

v0.6.1

  • Improved recognition of early pressed hotkeys, thx @varahash
  • Made DMG loading support configurable via DmgLoading
  • Added iMac20,1 and iMac20,2 model codes
  • Fixed display name for older Xeon CPUs like Xeon E5450
  • Added Comet Lake-LP HDA device code
  • Fixed OS boot selection on SATA controllers with legacy OPROMs
  • Fixed RSDP ACPI table checksum recalculation
  • Added immutablekernel loading support for 10.13+
  • Fixed solving some symbols to zero in 11.0 kext inject
  • Reduced OpenCanopy size by restricting boot management access
  • Added BuiltinText variant for TextRenderer for older laptops
  • Fixed SyncRuntimePermissions creating invalid MAT table
  • Added EFI FAT image loading support (macOS 10.8 and earlier)
  • Added 64-bit cacheless kext injection and patching support (macOS 10.9 and earlier)
  • Added 64-bit mkext kext injection and patching support (macOS 10.6 and earlier)
  • Fixed XNU hook matching non-kernel files
  • Updated builtin firmware versions for SMBIOS and the rest
  • Fixed patching of ACPI tables in low memory
  • Fixed macOS 11.0 DMG recovery loading without hotplug
  • Fixed XhciPortLimit quirk on 10.12.6 and possibly other versions
  • Fixed IncreasePciBarSize quirk on 10.11.5 and possibly other versions
  • Fixed LapicKernelPanic quirk on 10.8.5 and possibly other versions
  • Fixed hard-lock caused by EHCI SMI in OpenDuetPkg
  • Added preview UEFI Secure Boot compatibility
  • Added FuzzyMatch option to support fuzzy kernelcache matching on 10.6 and earlier
  • Added KernelArch option to specify architecture preference on older kernels
  • Added KernelCache option to specify kernel caching preference for older kernels
  • Added Force section to provide support for injecting drivers in older macOS
  • Changed kernel driver injection to happen prior to kernel driver patching
  • Added Arch filtering option to Add, Block, Force, and Patch sections
  • Added DisableLinkeditJettison quirk to workaround 11.0b5 kernel panics
  • Added debugging of missing fields in the configuration

v0.6.0

  • Fixed sound corruption with AudioDxe
  • Fixed icon choice for Apple FW update in OpenCanopy
  • Fixed APFS driver loading on Fusion Drive
  • Added Comet Lake HDA device code
  • Fixed audio stream position reporting on non-Intel platforms
  • Added Firmware mode to ResetSystem to reboot into preferences
  • Replaced BlacklistAppleUpdate with run-efi-updater NVRAM variable
  • Fixed reset value and detection in FadtEnableReset ACPI quirk
  • Fixed freezes during boot option expansion with PXE boot entries
  • Updated underlying EDK II package to edk2-stable202005
  • Added ProvideMaxSlide quirk to improve laptop stability, thx @zhen-zen
  • Fixed slide choice on platforms when 0 slide is unavailable, thx @zhen-zen
  • Fixed assertions caused by unaligned file path access in DEBUG builds
  • Renamed ConfigValidity utility to ocvalidate for consistency
  • Added GlobalConnect for APFS loading to workaround older firmware issues
  • Added 11.0 support for AvoidRuntimeDefrag Booter quirk
  • Fixed 11.0 lapic kernel quirk as of DP1
  • Improved boot selection scripts for macOS without NVRAM
  • Added UGA protocol compatibility in ProvideConsoleGop quirk
  • Added UgaPassThrough option to support UGA protocol over GOP
  • Added AppleFramebufferInfo protocol implementation and override
  • Fixed serial initialisation when file logging is disabled
  • Fixed FSBFrequency reporting on Meron and similar CPUs
  • Fixed incorrect volume icon dimension requirements in OpenCanopy
  • Added preview version of KernelCollection injection code
  • Fixed ACPI reset register detection in DxeIpl
  • Added MacBookPro16,4 model code
  • Updated builtin firmware versions for SMBIOS and the rest
  • Fixed OSXSAVE reporting when emulating CPUID on newer CPUs
  • Added SerialInit option to perform serial initialisation separately
  • Fixed OpenDuetPkg booting on Intel G33 with SATA controller in RAID mode
  • PlatformInfo Automatic for all models
  • Fixed 32-bit OpenDuetPkg booting on machines with over 4 GBs of RAM
  • Fixed delays with OpenDuetPkg booting with certain SATA controllers in IDE mode
  • Fixed display name for some high core count i9 CPUs like 7920X
  • Fixed SSDT-EC-USBX

v0.5.9

  • Added full HiDPI support in OpenCanopy
  • Improved OpenCanopy font rendering by using CoreText
  • Fixed light and custom background font rendering
  • Added Boot#### options support in boot entry listing
  • Removed HideSelf by pattern recognising BOOTx64.efi
  • Added BlacklistAppleUpdate to avoid Apple FW updates
  • Fixed accidental tool and NVRAM reset booting by default
  • Fixed unrecognised select com.apple.recovery.boot entries
  • Changed NVRAM reset not to erase BootProtect boot options
  • Improved boot performance when picker UI is disabled
  • Enforced the use of builtin picker when external fails
  • Fixed warnings for empty NVRAM variables (e.g. rtc-blacklist)
  • Added ApplePanic to store panic logs on ESP root
  • Fixed ReconnectOnResChange reconnecting even without res change
  • Fixed OpenCanopy showing internal icons for external drives
  • Fixed OpenCanopy launching Shell with text over it
  • Added partial hotkey support to OpenCanopy (e.g. Ctrl+Enter)
  • Added builtin text renderer compatibility with Shell page mode
  • Fixed FadtEnableReset with too small FACP tables and some laptops
  • Fixed CPU detection crash with QEMU 5.0 and KVM accelerator
  • Removed RequestBootVarFallback due to numerous bugs
  • Added DeduplicateBootOrder UEFI quirk
  • Removed DirectGopCacheMode due to being ineffective
  • Fixed assertions on log exhaustion causing boot failures
  • Fixed builtin text renderer failing to provide ConsoleControl
  • Fixed compatibility with blit-only GOP (e.g. OVMF Bochs)
  • Fixed ignoring # in DeviceProperty and NVRAM Delete
  • Renamed Block to Delete in ACPI,DeviceProperties, and NVRAM
  • Added MacBookPro16,2 and MacBookPro16,3 model codes
  • Added PCI device scanning policy support (e.g. VIRTIO)
  • Improved playback performance in AudioDxe
  • Updated builtin firmware versions for SMBIOS and the rest
  • Added improved CPU type detection for newer CPU types
  • Added ConfigValidity utility and improved config validation
  • Added serial port initialisation for serial debug logging
  • Disabled empty debug log file creation to avoid ESP cluttering
  • Added TscSyncTimeout quirk to workaround debug kernel assertions
  • Added first-class Windows support to bless model
  • Fixed LapicKernelPanic kernel quirk on 10.9
  • Added prebuilt version of CrScreenshotDxe driver
  • Fixed Hyper-V frequency detection compatibility
  • Added SysReport option for DEBUG builds to dump system info
  • Fixed crashes on some AMD firmware when performing keyboard input

v0.5.8

  • Fixed invalid CPU object reference in SSDT-PLUG
  • Fixed incorrect utilities and resources packaging
  • Fixed Custom UpdateSMBIOSMode modifying SMBIOSv3 table
  • Updated docs to cover separating SMBIOS via UpdateSMBIOSMode
  • Fixed rendering macOS installer icons in OpenCanopy
  • Added APFS support with Fusion Drive and enhanced security
  • Added AppleEvent mouse support in OpenCanopy
  • Fixed AppleEvent and OpenCanopy compatibility with OVMF TPL restrictions
  • Added mouse drivers to the package as OVMF needs one
  • Added memory region reservation support
  • Added RtcRw tool to manipulate RTC memory
  • Added PatchAppleRtcChecksum kernel quirk
  • Added AppleRtcRam protocol implementation
  • Renamed Protocols to ProtocolOverrides for clarity
  • Added ResetSystem tool to allow shutdown/reset actions in the menu
  • Added experimental BootProtect Security option
  • Fixed kext injection in 10.8 installer
  • Added timeout support to OpenCanopy user interface
  • Fixed handling 24-bit screen resolutions
  • Added Ps2KeyboardDxe driver for DuetPkg
  • Updated BootInstall DuetPkg version (now opensource)
  • Added partial HiDPI support in OpenCanopy
  • Update builtin firmware
  • Fixed invalid checksum checks when creating vault (thx @dakanji)

v0.5.7

  • Added TimeMachine detection to picker
  • Added early preview version of OpenCanopy
  • Fixed FS discovery on NVMe with legacy drivers
  • Added DirectGopCacheMode option for FB cache policy
  • Added KeyFiltering option to workaround buggy KB drivers
  • Added tool and custom entry separation in audio assistant
  • Added OpenControl tool to configure full NVRAM access from Shell
  • Added boot.efi debug protocol support for 10.15.4+
  • Added boot.efi performance logging for 10.15.4+
  • Added ProtectUefiServices quirk to fix DevirtualiseMmio on Z390
  • Replaced BOOTCAMP Windows with Windows to match the original
  • Added bundled OpenShell originally available as OpenCoreShell
  • Rework readlabel utility into disklabel with encoding support
  • Renamed FwRuntimeServices driver to OpenRuntime
  • Renamed AppleUsbKbDxe driver to OpenUsbKbDxe
  • Update builtin firmware
  • Fixed PowerTimeoutKernelPanic on 10.15.4
  • Fixed 4K section alignment in OpenRuntime to fix Linux booting on SKL
  • Introduced SyncRuntimePermissions to fix multiple memory permission flaws
  • Introduced RebuildAppleMemoryMap to fix macOS booting on Dell 5490
  • Removed ShrinkMemoryMap in favour of more advanced RebuildAppleMemoryMap
  • Marked EnableWriteUnprotector as deprecated on modern systems
  • Introduced ProtectMemoryRegions to fix memory region handling
  • Removed ProtectCsmRegion in favour of ProtectMemoryRegions
  • Renamed PickerAttributes to ConsoleAttributes
  • Introduced PickerAttributes as a matter of UI configuration

v0.5.6

  • Various improvements to builtin text renderer
  • Fixed locating DMG recovery in APTIO IV firmware on FAT32
  • Fixed loading DMG recovery in APTIO IV firmware on FAT32
  • Removed AvoidHighAlloc quirk due to removed I/O over 4GB
  • Moved ConsoleMode, Resolution options to Output section
  • Moved console-related UEFI quirks to Output section
  • Replaced ConsoleControl and BuiltinTextRenderer with TextRenderer
  • Removed ConsoleBehaviourOs and ConsoleBehaviourUi
  • Fixed providing ConsoleOutHandle GOP when running from Shell
  • Added PickerAttributes option to colour picker
  • Added ProtectSecureBoot option through FwRuntimeServices
  • Replaced RequireVault and RequireSignature with Vault
  • Added BootKicker tool to support launching Apple BootPicker
  • Added BootPicker support as an external UI in OC through PickerMode
  • Added DirectGopRendering option to use direct GOP output
  • Multiple memory corruption and performance fixes for PNG support
  • Fixed DefaultBackgroundColor variable handling
  • Added HideAuxiliary and Auxiliary options
  • Fixed picker timeout and log timestamps for VMware
  • Fixed NULL parent DeviceHandle for launched tools
  • Added bundled HiiDatabase driver for very old firmware
  • Added SSE2 support in memory intrinsics for better performance
  • Improved ACPI PM timer CPU frequency calculation performance
  • Improved LapicKernelPanic compatibility with newer macOS versions
  • Fixed drivers starting with # not being skipped
  • Added audio support through AudioDxe with optional boot chime
  • Added VoiceOver accessability support in boot.efi for 10.13+
  • Added PickerAudioAssist option for audio assistance in picker
  • Added HdaCodecDump.efi tool in default package
  • Added legacy AudioDxe and Microsoft namespaces to Reset NVRAM
  • Merged OcSupportPkg with OpenCorePkg for easier bisection
  • Disabled warnings in release versions of NVMe and XHCI drivers

v0.5.5

  • Fixed CPU bus ratio calculation for Nehalem and Westmere
  • Fixed CPU package calculation on MacPro5,1 and similar
  • Improved OpenCore rerun detection for new versions
  • Fixed loading picker on boot failure when it is hidden
  • Added PMC ACPI sample for 300-series chipsets
  • Improved driver connection performance on APTIO IV
  • Fixed boot option saving in LogoutHook.command
  • Added support for OEM information in ExposeSensitiveData
  • Improved SanitiseClearScreen to avoid mode switching
  • Replaced SupportsCsm with AdviseWindows enabling UEFI mode
  • Fixed issues with default boot path selection on some boards
  • Update builtin firmware versions
  • Fixed AdviseWindows not setting FirmwareFeatures in NVRAM
  • Added TakeoffDelay option for improved action hotkey support
  • Added Mac GOP support to ProvideConsoleGop quirk
  • Added experimental BuiltinTextRenderer boot option
  • Added DummyPowerManagement kernel quirk to disable CPU PM

v0.5.4

  • Added Enter key handling in boot menu for quick proceed
  • Update builtin firmware versions
  • Bundled FwRuntimeServices driver with OpenCore
  • Allowed writing to non-volatile variables with disabled write
  • Fixed microcode reading on Intel CPUs
  • Fixed SMBIOS Type4 External Clock values
  • Improved Windows compatibility on some setups (acidanthera/bugtracker#614)
  • Added SupportsCsm and option in PlatformInfo/Generic
  • Added OSInfo protocol support
  • Added SignalAppleOS Booter quirk to enable IGPU on Macs in other OS
  • Added AppleSmcIoprotocol support (replaces VirtualSmc UEFI driver)
  • Added AuthRestart security property for VirtualSMC authenticated restart
  • Fixed input protocol initialisation on VMware fusion
  • Added arrow key handling in boot menu
  • FileVault 2-like key input is now the only supported input in boot menu
  • Fixed 5 second delay when exiting Shell to OpenCore Picker
  • Added default boot option update and AllowSetDefault Security option
  • Fixed CPU package detection on configurations with multiple CPUs
  • Bundled CleanNvram and VerifyMsrE2 tools for debugging
  • Added screen clearing after choosing boot entry in picker
  • Added WriteFlash NVRAM option to enable writing variables in Add
  • Added LegacyOverwrite NVRAM option to allow overwriting variables by nvram.plist
  • Added AppleXcpmForceBoost kernel quirk to maximise select Xeon performance
  • Bundled NvmExpressDxe and XhciDxe drivers for platforms that need them
  • Added IncreasePciBarSize kernel quirk for select platforms with PCI space issues

v0.5.3

  • Update builtin firmware versions
  • Fixed interpreting letters in boot menu
  • Fixed timeout abortion with PollAppleHotKeys quirk
  • Fixed rare kext injection failure due to plist-only kext in prelinkedkernel
  • Fixed error reporting for dmg loading
  • Added various debugging improvements
  • Added new crypto stack resulting in vault key format changes
  • Added UnblockFsConnect UEFI quirk to fix missing filesystems on some laptops
  • Added RequestBootVarFallback UEFI quirk to circumvent firmware boot option issues
  • Added ThirdPartyDrives kernel quirk fixing SSD trim and 10.15 SATA hibernation (thx @lvs1974)
  • Removed ThirdPartyTrim kernel quirk in favour of ThirdPartyDrives
  • Added Intel Xeon E5 (Broadwell-EP) support (thx @crazyi)
  • Switched to edk2-stable201911, which is now the minimum supportd EDK II version

v0.5.2

  • Fixed MinKernel and MaxKernel logic (thx @dhinakg, @reitermarkus)
  • Fixed ASSERT when booting non-Apple OSes without arguments from the DEBUG version
  • Added MmioWhitelist configuration option
  • Added PowerTimeoutKernelPanic kernel quirk
  • Fixed erratic cursor appearing in release builds
  • Moved ReconnectOnResChange to a user-configurable quirk to avoid freezes
  • Added OpenCore version to picker ui, configured by ExposeSensitiveData
  • Added hypervisor CPUID support to work with virtualization (thx @Leoyzen)

v0.5.1

  • Added support of kernel resource kext injection
  • Added support for 0.25% clock slowdown on Xeon Scalable CPUs (thx @mrmiller)
  • Replaced MatchKernel with MinKernel and MaxKernel
  • Added Arguments to Tools and Entries sections
  • Fixed broken timer for 300 series Intel chipsets
  • Added Input section for mouse and keyboard aggregation

v0.5.0

  • Added builtin firmware versions for new models 2019
  • Fixed LogoutHook leaving random directories in $HOME
  • Fixed FSBFrequency calculation on Xeon Scalable CPUs (thx @mrmiller)
  • Fixed ARTFrequency specifying on Intel server and atom models
  • Increased log size to 256 KB by default
  • Added ReplaceTabWithSpace quirk to improve Shell experience
  • Added ClearScreenOnModeSwitch quirk to avoid visual glitches
  • Added MISC_PWR_MGMT patch to AppleXcpmExtraMsrs quirk (thx @mrmiller)
  • Added DevirtualiseMmio quirk to Booter section
  • Added FileVault 2 user interface protocols formerly in AppleUiSupport
  • Improved kernel patch logging to include configuration comments
  • Added MSFT basic data and Linux root fs recognition to ScanPolicy
  • Fixed RT region protection restoration regression (thx Sniki)
  • Added OPT, CMD+R, CMD+OPT+P+R boot action hotkey support
  • Added PollAppleHotKeys to register boot.efi hotkeys in the picker
  • Added DisableSingleUser quirk to prohibit single user mode
  • Upgraded EDK II base package to edk2-stable201908
  • Prohibited argument changing by BootNext

v0.0.4

  • Fixed kext injection issues with dummy dependencies
  • Fixed kext injection issues with reused vtables
  • Fixed Custom SMBIOS table update patches
  • Added timestamp to the log file and changed extension to txt
  • Enhanced LogoutHook script used for emulated NVRAM saving
  • Fixed multiple operating system support in APFS containers
  • Added AvoidHighAlloc UEFI quirk to avoid high memory allocs
  • Updated builtin firmware versions for 10.15 beta support
  • Added Booter section for Apple bootloader preferences
  • Dropped AptioMemoryFix.efi support for Booter and FwRuntimeServices.efi
  • Fixed hibernation issues in Windows with RequestBootVarRouting
  • Significantly improved boot stability on APTIO
  • Added support for Windows & OpenCore on the same drive through BlessOverride
  • Added advanced user-specified boot entries through Misc -> Entries
  • Added DisableVariableWrite quirk to disable hardware NVRAM write in macOS

v0.0.3

  • Added complete modern platform database (2012+)
  • Added DisableIoMapper kernel quirk
  • Fixed ACPI modification failures with nested multiboot
  • Dropped IgnoreForWindows quirk legacy
  • Added basic AMD Zen CPU support
  • Added Misc -> Tools section to add third-party tools
  • Added Kernel -> Emulate section for CPUID patches
  • Added CustomSMBIOSGuid quirk for Custom SMBIOS update mode
  • Added PanicNoKextDump quirk to avoid kext dump in panics
  • Switched to EDK II stable and reduced image size
  • Added LapicKernelPanic kernel quirk
  • Added AppleXcpmExtraMsrs quirk and improved XCPM patches
  • Added (external) suffix for external drives in boot menu
  • Added UsePicker option, do enable for OC boot management
  • Added nvram.plist loading for legacy and incompatible platforms
  • Improved instructions for legacy and Windows installation
  • Added Windows Boot Camp switching support
  • Added basic hibernation detection & support
  • Added ResetHwSig ACPI quirk to workaround hibernation
  • Removed Custom subfolder requirement from ACPI tables
  • Fixed kext injection in 10.7.x and 10.8.x
  • Added ESP partition type detection to ScanPolicy
  • Added support for third-party user interfaces

v0.0.2

  • Documentation improvements (see Differences.pdf)
  • Platform information database updates
  • Fixed misbehaving Debug -> Target enable bit
  • Added ResetLogoStatus ACPI quirk
  • Added SpoofVendor PlatformInfo feature
  • Replaced ExposeBootPath with ExposeSensitiveData
  • Added builtin implementation of Data Hub protocol
  • Dropped UpdateSMBIOSMode Auto mode in favour of Create
  • Fixed SMBIOS CPU detection for Xeon and Core models
  • Moved ConsoleControl configuration to Protocols
  • Added Security -> ScanPolicy preference
  • Fixed invalid board-rev exposure in Data Hub
  • Fixed SMBIOS Type 133 table exposure
  • Added support for SMBIOS Type 134 table exposure

v0.0.1

  • Initial developer preview release