Skip to content

Releases: riftaway7-code/hackmate

v2.0.0 — Boot-breaking bug audit, EFI Health Check, Ethernet fix

Choose a tag to compare

@riftaway7-code riftaway7-code released this 13 Jul 03:22

Biggest correctness release so far — an audit of the whole generation pipeline turned up bugs that produced EFIs which booted but were quietly broken, plus one that stopped setup before it began.

Blocked setup entirely

  • fix: setup.py used 3.10-only syntax and crashed on stock macOS Python 3.9 before doing anything; now runs on 3.8+ and builds the venv from a modern interpreter

Broke ACPI

  • fix: _OSIXOSI and OSIDXSID renames were emitted unconditionally even though SSDT-XOSI (which defines XOSI) is only added for I2C trackpads — every desktop and PS/2-only laptop pointed firmware _OSI calls at a method that didn't exist. Renames now require the SSDT supplying their replacement.
  • fix: SSDT-GPRW renamed _PRW to XPRW and defined an XPRW nothing called, stripping wake capability. Replaced with the standard form: rename GPRWXGPR, supply a GPRW that delegates to XGPR.
  • fix: laptops loaded two ACPI tables that both declared _SB.USBX

Broke kext injection

  • fix: itlwm.kext was given AirportItlwm's binary name, so OpenCore refused to inject it and Intel WiFi never came up
  • fix: USB port maps were inert — the map's ExecutablePath named a binary plist-only bundles don't have, and applying a map disabled USBToolBox.kext

Also fixed

  • fix: recovery downloads for five macOS versions shared a cache directory and could serve the wrong image
  • fix: MLB board serials were 16 characters instead of 17
  • fix: kexts were auto-added from GitHub repos that no longer exist
  • fix: Bluetooth kexts had overlapping version windows
  • fix: iasl was looked up under the wrong filename, silently disabling SSDT template compilation on every platform
  • fix: Windows Ethernet detection used a deprecated Get-CimInstance Win32_NetworkAdapter query whose name-blacklist could still misidentify a VPN/tunnel adapter as the real NIC — switched to Get-NetAdapter -Physical, which excludes virtual adapters structurally

New — EFI Health Check. Point HackMate at any OpenCore EFI, including one you built by hand, and it reports what's actually wrong: orphaned ACPI renames, kexts that will never inject, USB ports that aren't really mapped, SIP decoded flag by flag, deprecated kexts, and a missing -no_compat_check. On the welcome screen, and in the terminal:

sudo .venv/bin/python3 src/hackmate.py --doctor            # finds your mounted EFI
.venv/bin/python3 src/hackmate.py --doctor /Volumes/EFI/EFI

It only reads, and needs no root, so it's safe to run against a booted system.

v1.4.2 — macOS CPU detection, AMD Windows fix, SSL fallback, download stalls

Choose a tag to compare

@riftaway7-code riftaway7-code released this 08 Jul 15:48
  • fix: macOS CPU generation detection now has a numeric fallback (sysctl's brand_string never contains "7th"/"8th" wording, so gen detection returned 0 and nothing showed as compatible on real Macs)
  • fix: Windows AMD builds no longer get silently relabeled to an Intel platform after detection (Ryzen 5000-series was colliding with Tiger Lake in an Intel-only lookup table, producing an EFI that wouldn't boot)
  • fix: SSL fallback now actually triggers on certificate errors instead of the exception type being wrong and swallowing the fallback entirely
  • fix: recovery download no longer hangs forever if Apple's CDN stalls — fails with a retryable error after 2 minutes of silence instead

v1.4.1 — Fix EXE version mismatch and frozen recovery download progress

Choose a tag to compare

@riftaway7-code riftaway7-code released this 08 Jul 15:36

The v1.4.0 EXE was built before the version bump commit landed, so it displayed v1.3.0 and looped on update checks forever. This release fixes that and also fixes the Build EFI progress bar freezing at 10% during recovery download on the Windows EXE (stdout wasn't streamed live, so a multi-GB download looked hung with zero feedback).

  • fix: EXE now correctly reports v1.4.1
  • fix: stream frozen-EXE recovery download progress live instead of only after completion

v1.4.0 — USB mapping, EFI-without-USB, Windows fixes

Choose a tag to compare

@riftaway7-code riftaway7-code released this 27 Jun 19:49

What's new

  • USB Mapping — new post-install screen to apply your generated UTBMap.kext to any EFI drive in one click. USBToolBox app now auto-downloaded to EFI/HackMate-Extras/ on every build
  • USBToolBox.kext + UTBMap.kext now included in every build automatically
  • Don't have USB — new option on the USB selection screen lets you generate an EFI folder to any local directory without a USB drive attached (useful for copying to internal EFI partition)
  • Fix: kext downloads failing on Windows — replaced bare urlretrieve with proper SSL context; fixes silent failures on Windows 10/11
  • Fix: umount crash on Linuxumount timeout no longer kills the entire build; sync + lazy unmount fallback always runs
  • Fix: EXE showing update nag every launch — EXE now bundles its own git SHA at build time so it correctly detects when it's already up to date
  • Fix: Realtek ethernet not detected on Windows 11 — switched from deprecated Get-WmiObject to Get-CimInstance

Windows EXE

Download HackMate.exe below — no Python required, run as Administrator.

v1.3.0 — Windows EXE, config editor, AMD + SSL fixes

Choose a tag to compare

@riftaway7-code riftaway7-code released this 26 Jun 19:59

What's New in v1.3.0

Windows EXE

HackMate is now available as a single HackMate.exe — no Python, no venv, no setup.py. Download, run as Administrator, done. Built automatically with PyInstaller via GitHub Actions.

Bug Fixes

  • AMD config.plist crash — invalid hex placeholder in AMD kernel patches was crashing config.plist generation for every AMD user. Fixed.
  • Windows SSL errorCERTIFICATE_VERIFY_FAILED on macrecovery download. Added SSL fallback.
  • macOS host: lspci not found — switched to system_profiler SPPCIDataType on macOS.
  • HeliPort path crashPath(mount) / EFI failed because mount is a string. Fixed.
  • Config editor — Textual widget display fix, scrollable layout, compact rows.
  • SSDT-XOSI — now compiles from built-in template when SSDTTime skips it.

New Features

  • Config.plist editor — Edit Config button on welcome screen. Simple mode with toggles/inputs for boot-args, SIP, SecureBootModel, SMBIOS, picker settings. Advanced mode for raw plist key editing.
  • Intel WiFi kext chooser — pick itlwm+HeliPort or native AirportItlwm before building.
  • HeliPort auto-download — saved to EFI/HackMate-Extras/ on the USB when itlwm is selected.
  • BIOS checklist — shown after successful USB build with hardware-specific tips.
  • AMD vanilla patches — full patch set, Intel-only quirks disabled for AMD.
  • OpenCore log reader — translates OC boot log errors to plain English.

v1.2.1 — WiFi chooser, XOSI fix, BIOS checklist

Choose a tag to compare

@riftaway7-code riftaway7-code released this 26 Jun 09:39

What's New in v1.2.1

Intel WiFi Kext Chooser

When Intel WiFi is detected, HackMate now asks whether you want itlwm + HeliPort (works on all macOS versions) or AirportItlwm (shows as native built-in WiFi, no HeliPort needed — but must be swapped after upgrading macOS).

SSDT-XOSI Always Generates Now

SSDT-XOSI was silently skipping for most users because SSDTTime doesn't always list it in its menu. HackMate now compiles it from a built-in template when SSDTTime can't generate it. This fixes sleep/wake and USB power on most laptops.

BIOS Checklist Screen

After a successful USB build, HackMate now shows a checklist of BIOS settings to configure before booting — Secure Boot, Fast Boot, DVMT pre-alloc, XHCI Handoff, etc. Adapts based on AMD vs Intel and whether Nvidia dGPU is present.

More Accurate Intel Gen Detection

Added missing Intel GPU device IDs: 5917 (UHD 620, used by T480s, MateBook, XPS 13), plus Whiskey Lake, Coffee Lake Refresh, and Comet Lake variants. Fixes cases where gen detection fell through to name inference.

Gen 9 SMBIOS

Added MacBookPro16,1 and iMac19,1 for Coffee Lake Refresh CPUs (i9-9980HK etc).

v1.2.0 — AMD support, OC log reader, post-install guide

Choose a tag to compare

@riftaway7-code riftaway7-code released this 26 Jun 09:11

What's New in v1.2.0

OpenCore Log Reader

HackMate can now read OpenCore boot logs off your USB after a failed boot and translate the errors into plain English. No more reading panic screens letter by letter.

Full AMD Vanilla Kernel Patches

AMD (Ryzen/Threadripper) users now get the complete AMD_Vanilla kernel patch set automatically generated in their config.plist, including cpuid spoofing, commpage patches, and CPU count injection. Intel-only quirks (CfgLock, XcpmCfgLock, ProvideCurrentCpuInfo) are now correctly disabled for AMD.

Post-Install Guide

Added POST_INSTALL.md covering USB port mapping, moving EFI to internal drive, iMessage fix, SIP, sleep/wake, and common post-install issues.

Issue Templates

Added feature request template. Bug report now includes macOS as a host OS option.

Other

  • CONTRIBUTING.md with PR guidelines and testing requirements
  • DISCLAIMER.md with full legal terms
  • GitHub badges in README (stars, issues, license, version)
  • Dynamic version display in TUI (shows commit hash)
  • Improved Windows install instructions

v1.1.0 — macOS support, Already Formatted mode, bug fixes

Choose a tag to compare

@riftaway7-code riftaway7-code released this 26 Jun 07:26

What's New in v1.1.0

macOS Host Support

HackMate can now be run from a macOS machine as the host OS, in addition to Linux and Windows.

New: Already Formatted Mode

If USB formatting fails (common on Windows), you can now pre-format manually and use the new Already Formatted option to skip the format step.

venv / uv Support (via PR #11 by @thanhnndev)

setup.py now creates a virtual environment so sudo always finds the dependencies — no more "textual not found" errors.

Bug Fixes

  • Fixed IntelMausiEthernet and itlwm kext binary name mismatches causing boot failures
  • Fixed recovery entry hidden in OpenCore picker (HideAuxiliary was True)
  • Fixed recovery DMG blocked by DmgLoading: Signed — now uses Any
  • Fixed VoodooGPIO loaded twice (was bundled in VoodooI2C and added standalone)
  • Fixed EnableVectorAcceleration causing hangs on laptops
  • Fixed repair mode regenerating SMBIOS (broke iMessage) — now preserves existing serial/MLB/UUID
  • Fixed repair mode wiping SSDTs before confirming new ones generated
  • Added -no_compat_check boot arg to bypass board ID check
  • Enabled ProtectUefiServices for all Intel generations

Project

  • Added MIT License and SECURITY.md
  • Migration stubs for users stuck on old hackmate-linux/ path

v1.0.0 — Linux + Windows

Choose a tag to compare

@riftaway7-code riftaway7-code released this 26 Jun 01:18

HackMate v1.0.0

Platforms

  • Linux (any distro, Python 3.10+)
  • Windows 10/11

Tested hardware

  • ThinkPad T480s (i5-8350U, UHD 620, ALC257, Intel I219, Intel 8265 WiFi)
  • Dell Latitude 5400 (community reported)
  • AMD Ryzen systems (community reported)

Features

  • OpenCore EFI generation for Intel and AMD
  • macOS recovery download directly from Apple CDN
  • 104 kexts in database, selected per hardware
  • SSDT generation via SSDTTime
  • config.plist with hardware-specific quirks, framebuffer patches, ALC layout-id
  • Repair EFI mode — preserves recovery, updates OC/kexts/config only
  • Smart file verification — only redownloads corrupt or missing files

Safety

  • Type-to-confirm before any destructive disk operation
  • EFI auto-backup to ~/HackMate/backups/ before repair
  • Restore EFI screen to roll back to any backup
  • No AI or external API calls
  • SHA-pinned auto-updater
  • All commands logged in real time

Known limitations

  • USB port mapping requires USBToolBox after install
  • Sleep/wake may need tuning on some hardware
  • HDMI/AirDrop/iMessage not verified on all hardware