Replace the `github.com/strukturag/libheif-go` CGo dependency with
macOS-native `sips` for HEIC/AVIF wallpaper thumbnail conversion.
- Drop `libheif` from go.mod, Makefile, Goreleaser config, and CI
- Remove `cgo` build tag requirement from wallpaper package
- Implement `convertWithSips()` using temp files and the `sips` CLI
- Refactor thumbnail decoding into `extractThumbnailPreview()` helper
- Update tests to cover sips-based HEIC conversion path
- Support controlSize=0 (full-replacement) BXDIFF50 patches by
decompressing XZ/PBZX streams directly instead of raw extraction
- Add decompressStream helper that handles both raw XZ and PBZX formats
- Extract patch from ZIP before base-file lookup so temp file is always
cleaned up on skip
- Stream patch file instead of loading entirely into memory
- Bundle cert + generated key into a password-protected .p12 file
using go-pkcs12 (legacy 3DES for macOS Keychain compatibility)
- Import the .p12 via `security import` so cert and key are properly
paired as an identity in the login keychain
- Auto-download and install the Apple WWDR G3 intermediate cert to
ensure a valid codesigning trust chain
- Change `appstore cert rm` ID from a flag to a positional argument
- Fix missing `Content-Type` header on bundle ID registration request
The platform switch only handled macOS, iOS, and macCatalyst,
producing empty targets for BridgeOS, tvOS, watchOS, visionOS,
DriverKit, and simulators. Replace hardcoded target lists with
tbdArch/tbdPlatform helpers that derive the target from the
actual CPU type and LC_BUILD_VERSION platform.
Also: check LC_VERSION_MIN_* when LC_BUILD_VERSION is absent,
return an error for unsupported platforms instead of silently
producing invalid TBDs, and drop pkg/errors dependency.
Closes#871
Resolve imported symbol names from kernelcache for reverse engineering.
Scans all fileset entries to build a symbol map, then injects resolved
addresses as N_ABS|N_EXT symbols into extracted KEXTs. (closes#182)
- Add --imports to resolve undefined symbols from kernelcache
- Add --force to overwrite existing files
- Add -o shorthand for --output
- Fix os.Stat error handling (propagate real errors, not just skip)
- Fix typo: "KEXT-xtraction" → "KEXT extraction"
- Update kernel extract guide with --imports example
Extraction now produces correct standalone MachOs validated against
Apple ramdisk dylibs, KDK KEXTs, Rust oracle, and IDA Pro.
- Unhide dyld extract (go-macho v1.1.266 fixes segment layout)
- Remove experimental warning
- Fix help text: "Split ALL dylibs" → "Extract all dylibs"
- Short: "Extract dylib(s) for reverse engineering"
- Replace broken symlink handling with filepath.EvalSymlinks
- Delete dead code: imports flag, debug prints, commented-out blocks
- Switch from github.com/pkg/errors to std errors
- Differentiate split vs extract in help text and Long description
- Clean up dyld split: same symlink fix, drop pkg/errors